Collaborators Visualization & Conflict Prevention
The combination of Altium design software and Altium's Workspace technology provides a highly effective data sharing platform that supports design collaboration between team members, based on version-controlled (VCS) projects stored in a Workspace.
A key part of the design collaboration process is managing that shared access and handling the potential for data conflicts, which might typically occur where more than one user is editing the same design document (their 'copy' of that Workspace-based file). Such data conflicts are ultimately dealt with by the Altium Workspace's VCS when the document is committed/pushed to the server (see Using Version Control), but up until that point, you have no real insight into the active shared status of the document.
To fulfill the need for real-time document sharing information and control in the design editing environment, Altium Designer works with a connected Altium Workspace (such as an Altium 365 Workspace or an Altium Concord Pro Workspace) to provide an integrated system for visualizing and reacting to the current status of shared documents. The system is enabled by the free flow of document sharing data between design clients (via the Workspace), and is realized through a series of new status icons, a Collaborators Bar and additional file locking logic.
To fulfill the need for real-time document sharing information and control in the design editing environment, the Altium NEXUS design client works with its connected NEXUS Server Workspace or Altium 365 Workspace to provide an integrated system for visualizing and reacting to the current status of shared documents. The system is enabled by the free flow of document sharing data between design clients (via the Workspace), and is realized through a series of new status icons, a Collaborators Bar and additional file locking logic.
Prerequisites
The real-time collaboration information and control for shared documents are available under the following conditions:
- The project to be shared is hosted on an Altium Workspace as a managed project under version control (VCS).
- The collaborators are members of, and are signed in to, the Altium Workspace.
- The managed project has been shared with all collaborators – with editing rights for those users that require full access.
Collaborators Notification Bar
The Collaborators notification bar () will appear in the upper right corner of the Altium Designer document editor when the currently active document has been opened by another user. Hover the cursor over the user icons within the bar to see the live sharing status. Note that a 'viewing' status indicates that the user has opened the document in Altium Designer, but not made any changes. The open status of a local document is indicated by the icon in the Projects panel.
Editing Status
Along with reporting on who is viewing a document, the system also provides the critical information on who is editing a shared document. A document is considered as in an 'editing' status when it has been changed by another user. This is indicated by the Collaborators bar, which dynamically separates collaborator user icons into those that are viewing and those that are editing – the latter group is associated with the icon.
The document that is being edited by another user will have a icon associated with its entry in the Projects panel, or a icon if that document is currently open in the editor. Note that the hover text will also report when multiple users are editing (or have edited) the shared document.
Conflict Prevention
To manage file editing access and avoid the possibility of data conflicts, the system effectively locks a document to the first user that edits it. or has caused it to be modified. This user 'soft-lock' remains associated with the file until the user finishes editing – commits or reverts the changes, or is overruled by another user or an administrator.
In the below example image where two users have opened the same project schematic, the designer using the lower screen has edited the document, causing it to be (soft) locked to that user. This editing status is indicated to the other user (upper screen) via the Collaborators bar and the Projects panel document icon.
If another user attempts to make a change to that soft-locked document, its locked (editing) status will trigger pop-up dialogs for both users. The effective owner of the document (lower screen in the below image) will be altered that another user has modified the document and there is an associated risk of conflicted revisions.
Conversely, the user who has edited the locked document (upper screen) is presented with the option to cancel their changes (Revert My Edits), or overrule the condition by retaining their edits (Ignore Lock). In the normal course of events, the user would abandon the change (Revert) and wait until the other user has completed the current editing session.
If the Ignore Lock option is selected however, it then means there will be more than one edited version of the document that could be committed to the Workspace – the user edits are potentially in conflict, as indicated by the document's icon in the Projects panel for both users.
In this situation, where more than one user is editing a document, its icon will change to if the document is saved. This indicates that the local edits have been completed, but the document state remains in conflict with the copy being edited by another user. The document icon will change to if the document is closed.
And finally, if all users persist in committing their edits to the Workspace – while overruling file locks and version control warnings – the different file versions will invoke a VCS Conflict, as indicated by the file's icon in the Projects and Storage Manager panels. This can be resolved by adopting the 'head' version of the file (though a 'pull' or update from the Workspace), or the conflicted file can be maintained as a local-only version.
► See the related Using Version Control section for more information on file version conflicts and their resolution.