Project Auto-save & Local History
Developing an electronic product in an environment like Altium NEXUS results in a large number of electronic files. These files are valuable since they are your company's IP (Intellectual Property) and must be stored and maintained in an appropriate way. Altium NEXUS includes a number of features to ensure that your files remain safe, are backed up, and older versions can be retrieved if necessary.
Apart from the actual files themselves, Altium NEXUS includes the following file storage/management capabilities:
- Timed auto save backups – automatically save multiple versions of all open files at the specified time interval.
- Local History – take a historical snapshot each time a file is manually saved, keeping the snapshots for the specified number of days.
- Version Control – interface directly to a Version Control System (VCS) from within Altium NEXUS.
Altium NEXUS can be configured to use all three techniques, including configuring the Local History feature to add the Auto Save files into the Local History folder.
Auto Save Backups
Configured in the Data Management – Backup page of the Preferences dialog, the Auto Save feature saves a copy of all currently open files that have been modified (in the Projects panel, this is indicated by an asterisk after the filename) into the specified location and at the specified time interval. Up to 10 versions of each file can be saved in the location specified by the Path entry in the Preferences dialog.
This feature is intended for disaster recovery, for example, if the power fails and your PC shuts down unexpectedly. AutoSave files are identified by the addition of .~(X)
into their filename, for example, the file MySchematic.SchDoc
is auto saved as MySchematic.~(1).SchDoc
, then MySchematic.~(2).SchDoc
, etc. Note that once the specified number of versions have been saved, the filenames are re-used. That means that the file's timestamp should be used to identify the latest file, rather than the number within the brackets in the filename.
Local History
The Local History management system allows you to maintain history and track document changes locally without the need for a Version Control System (VCS).
The approach of the local history management system is to make a copy of a file each time you perform a save, keeping the copies in a project History folder (the copy is the file prior to the save event). The project History folder is created within the folder that contains the project file. If a project includes documents stored in sub-folders, this sub-folder structure will be repeated within the History folder. Alternatively, you can enable the Use global repository option and specify a Global repository location that will hold the history of all projects, with each set of project files saved in a project sub-folder.
Document history management features are accessed through the Storage Manager panel. The features include the ability to view the differences between documents – both physical and logical – and revert to a previously saved version of a document. Local document history management also works in harmony with an active VCS. Individual designers can manage their own changes using the local history system with the VCS providing a complete team-oriented document management system.
Local History is configured in the Data Management – Local History page of the Preferences dialog. The number of days the file history is retained can be configured, where the history of a file save event will be held for the specified period (up to 10 days).
Local History files are saved in the compressed ZIP format with an added filename number suffix (for example: SheetZ.~(3).SchDoc.Zip
) that indicates its sequential version – the highest number represents the newest version.
Managing and using history
The document history timeline for the current project is available through Altium NEXUS's Storage Manager panel (View » Panels » Storage Manager). The lower region of the Storage Manager panel shows the local history for the selected project file, with each history file being labeled Version n, where n increments with each save.
Right-click on a saved version to access history command actions, such as Open the document in its editor or Apply a Label, which allows a particular version to be tagged for later reference. The Revert to option will regress the current project file back to the selected history version. Compare is used to detect the differences between two selected timeline documents (Ctrl + left-click on each file to select).
Version Control
Main article: Using External Version Control
Version control is the preferred method of electronic document management within many companies. Not only do version control systems provide safe and controlled storage and retrieval of a company's valuable documents, they also support easy retrieval of an older version of a document, and with some systems, the ability to detect and examine document changes.
Altium NEXUS supports the Subversion (SVN) and Git version control systems (VCS). Because it has internal support for these systems, it provides access to the common SVN/Git file handling commands such as Commit, Update, etc., within Altium NEXUS, along with additional Subversion capabilities such as the ability to create an SVN repository. This integrates with the schematic and PCB comparison features, making it easy to quickly compare and identify differences between two revisions of a schematic or PCB document. Ensure that the VCS Provider - SVN and VCS Provider - Git Extensions are installed in Altium NEXUS. These are installed by default but can be accessed in the software's Extensions and Updates view.
- The Data Management - Version Control page of the Preferences dialog includes options to enable the SVN provider, and select the SVN version format.
- The Data Management – Design Repositories page of the Preferences dialog is used to establish a new Version Control storage repository or connect to an existing one.
Working with a VCS
If a VCS repository has been connected to, you can perform version-control tasks through the Storage Manager panel. To add the project files (in the current folder) to a connected design repository, right-click on the project file in the Storage Manager panel then select Add Project Folder To Version Control.
This process will create a version-controlled copy of the project within the selected target design repository. The VCS will configure the project files and settings so that whenever you work on this project in the future, Altium NEXUS will recognize that it is under source control and correctly reflect the status of the documents – such as when a document has been modified or added (but not yet committed) to the VCS.
Once the project and its documents are established under version control, they can be modified and saved, and the changes Committed (or 'checked back in') to the repository directly from the Storage Manager or Projects panel via the right-click command options. In the Storage Manager, note that the Version column of the Time line (right-click in the lower region of the panel then click Switch to Combined View) will list the sequential revisions for the active file.
Where to Next?
- Build your background knowledge of Using External Version Control.
- Refer to Management of Projects for an advanced project management strategy that includes automated Version Control and sophisticated Design Collaboration capabilities.