Collaborators Visualization & Conflict Prevention in Altium Designer

 

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.

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 Workspace project under version control (VCS).
  • The collaborators are members of and connected to the Workspace.
  • The Workspace project has been shared with all collaborators – with editing rights for those users that require full access.
  • The collaborators have the System.Softlocks option enabled in the Advanced Settings dialog.

For demonstration purposes, the below overview shows the collaboration feature when Altium Designer is connected to an Altium 365 Workspace.

Collaborators Notification Bar

This feature is available when the UI.UseCollaborationBar option is enabled in the Advanced Settings dialog.

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 who is viewing a document, the system also provides information regarding who is editing a shared document. A document is considered in '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 viewing and those 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 the names of multiple users who 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 the 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 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.

When a PCB document is edited by more than one user, the pop-up dialog will notify users that collaborative editing is supported. PCB document revisions can be compared and merged using the PCB CoDesign functionality.
Javascript ID: SoftLocks_ConflictWarnings_AD24_5

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.

If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Note

The features available depend on your Altium product access level. Compare features included in the various levels of Altium Designer Software Subscription and functionality delivered through applications provided by the Altium 365 platform.

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Content