Author: Junqi Xue is a Certified Master Anaplanner and consultant at valantic.
When working across multiple models in ALM, it's common to encounter structural changes and revision tags that track updates. These revision tags are critical for synchronizing changes between production and development environments. Not all structural changes are saved immediately — they might linger in the system as unsaved changes, or you could also understand them as unsaved revision tags, creating problems.
Sometimes, unintended structural changes or poorly managed revisions lead to disruptions that break the sync between models, resulting in errors. A typical example of this is when less experienced administrators or developers mistakenly take the production model out of deployed status and make direct changes. This creates a significant challenge in bringing the production model back into sync with the development model, often leading to frustration and delays in projects.
Another common scenario arises when users unknowingly lose data after syncing revision tags. This usually happens due to a lack of understanding of how the syncing logic impacts their existing data. If there are no saved archives available, retrieving the pre-sync data can seem almost impossible, because you can’t simply revert to a history before a sync in the safe deployed mode.
The tool here to help is: Restore the PROD model with selective use of "Unlink revisions created after this restore point". What it does is it clears the structural changes and revision tags between restore point and the current point. If used properly, it can make the model back in sync.
Use case 1: To restore broken links
- Put the out-of-sync prod model back to standard mode. Optionally, put it also offline, and communicate with the user groups to prevent from unwanted touches in the model when we are doing these delicate changes.
- Go to history, find the ID before any manual changes are done.
- Restore, and tick the boolean "Unlink revisions created after this restore point".
- Structural changes are now out of the model. Prod model is back in sync with DEV. Continue modeling in DEV and sync to PROD.
Use case 2: To copy the (old) prod model to retrieve (lost) data
The best way is still of course prevent this from happening, by doing copy and archive before large/critical deployments, if not all deployments.
This is the case where I started researching the function properly.
As we all know, copying a model will create an automatic revision tag, making the model incompatible. We want to avoid that.
With the unlink function, we could clear the revision tags, so it should no longer be a problem for us.
The steps can be:
- As usual, change the mode of the production model from deployed to standard, and offline. Communicate with the users team if necessary, to prevent any unwanted touches in the model when we are doing the surgery.
- Roll production model back to the history ID to the desired status with “unlink revision created after this restore point” UN-flagged. Otherwise when we later roll the model back to current status, the revision tags saving the structural changes are gone. It will be similar to the status when the admin wrongly made structural changes in the PROD model directly, rendering the model out of sync.
- Confirm back to the history, and make a copy.
- Roll model forward to the latest user change history ID with “unlink revision created after this restore point” flagged. This deletes the auto saved revision tag from copying the model. There are now no unsaved structural changes between the DEV and PROD model. The sync is retained now.
- Add a new revision tag in Dev model and confirm the sync.
Use case 3: Clearing the model / revision tags
Though you can delete the revision tags now, I personally believe you should not do it too much. I still believe building the model incrementally is less logically confusing, especially for a big group of developers and stakeholders.
‘How I Built It’ video
Questions? Leave a comment!
…………….
References:
- My colleague Petr Pavlenko (@peter.pavlenko) for helping out when one of my customers was wanting to send the PROD model back to history. Kudos to Petr!
- Article: How to roll back a production model to recover lost data
- Article: Save incomplete changes when synchronizing in ALM