Collaborators Visualization & Conflict Prevention

Applies to Altium Designer versions: 23 and 24
 

The combination of Altium Designer and a connected Workspace provides a highly effective data sharing platform that supports design collaboration between team members, based on version-controlled (VCS) projects stored in that 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 Workspace's VCS when the document is saved to the Workspace, 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 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 a connected Workspace as a managed project under version control (VCS).
  • The collaborators are members of and are signed in to the connected Workspace.
  • The managed project has been shared with all collaborators – with editing rights for those users that require full access.
For demonstration purposes, the below overview shows the collaboration feature when Altium Designer is connected to an Altium 365 Workspace.

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 has 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.

Above: Hover the mouse to trigger the animation.Above: Hover the mouse to trigger the animation.

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.

If another user performed a local change more than two days ago and did not save this document back to the Workspace, the  icon will be associated with its entry. The hover text of the icon will display an actual date of the last local change by another user. This might reduce the potential for confusion when using the Soft Locks feature and help users to make an informed decision on whether to start editing such a 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.

Note that the Edit document warning/selector dialog can be disabled by unchecking the Enable Conflict Prevention Notifications option in the General tab of the Project Options dialog. In this case, the user can continue editing the document unchallenged, as if the Ignore Lock option was selected in the now disabled Edit document dialog, and risk a data conflict.

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.

To resolve the conflict at this stage, you can revert your local edits by clicking the icon and selecting the Revert My Edits to Resolve Conflict command from the pop-up.

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. Click the icon to select a required action.

Note

The features available depend on your level of Altium Designer Software Subscription.

Content