Installation > Appendix 1: Configuration Management Use Cases > Versioning Models Quickly and Compactly
Versioning Models Quickly and Compactly
In most projects, you are likely to reach a point where you want to capture the state of the model at a given moment in time.
Scenarios include creating a version of the model:
For review and downstream audit purposes,
Before performing a major change, so that you have a fixed version you can roll-back to, or
So that the model or its Packages can be exported in a known and fixed state.
To support this Modeler provides built-in model versioning. You can create a new version of a model from Model Explorer by right-clicking on the model, and selecting New > New Version. You can add a textual comment to label a particular version of the model. When versioning the model, locks are taken before versioning starts ensuring that the versioning process can run to completion.
When you version a model, instead of creating a copy of the model objects, Modeler captures a view representing the configured state of each model object. This results in much better storage efficiency and performance.
Usage
From Model Explorer, right-click the model, select New > New Version to protect the current version and create a new version. Previous versions of a model can be opened by showing all versions in Model Explorer.
Benefits
Model availability: Model versions can be viewed at any time by clicking the Show Versions toolbar button in Model Explorer without having to restore from CM. Previous model versions are available for audit, review, and differencing purposes without having to retrieve and rebuild them.
Disk efficiency and storage utilization: Versioning does not create duplicate objects. Model versions are merely different re-configured views of the underlying data in the database.
Recommendations
Version and label the model only when deliveries or milestones are reached to avoid unnecessary storage. If you do not need the whole model for differencing purposes then you could export Packages in the model to a file using the Component Sharing Wizard and then delete the file after you have finished with it. Note: The Component Sharing Wizard will not export root level objects and hence the data needed must be contained within a Package.
To revert to a previous version of a model, delete the subsequent versions of the model. Then, to recommence modifications, version the model to obtain a new writable model from the protected baseline version that you want to work from.
From the frozen version, use other tools like PTC Integrity Modeler Publisher to provide material for external review.
To make appropriate use of this architecture it is strongly recommended that Full Logging is enabled and the database is backed up regularly. It is also prudent to periodically test the integrity of the backup processes by exercising the restoration capabilities.