Several users access the model held by the Team for Capella Server repository through their Team for Capella Client. The Capella project on the client side only consists in one “.aird” file which is both a proxy towards the shared repository and a container for the local diagrams.
|
Fundamental principles
|
Red locks indicate another user is currently modifying the element (this modification might be a deletion). The identification of the user holding the lock is added between brackets as a suffix.
Green locks indicate the current user has reserved or modified the current element.
Below is an example of the decorations in the Project Explorer.
When an element is locked by another user, its editor dialog is still accessible but cannot be modified (all fields are disabled).
Lock decorations are visible in any View of Capella, such as the Semantic Browser, the selection dialogs or the delete confirmation window.
On diagrams, the semantic locks are represented on the graphical artifacts (containers, nodes, ports, links) representing the locked model elements.
Updates of modified semantic elements are performed automatically.
Two users cannot work simultaneously on the same diagram. As soon as a user modifies a diagram, the whole diagram is locked for the other users.
The lock diagram decorations are visible both on the tab bar of the diagram editor and in the Project Explorer.
When a diagram is locked by another user:
However, even though another user locks a diagram, semantic elements appearing on this diagram can still be modified by anyone. This is the case for example of the Function “Acquire Images” on the above example. The opposite is true as well: one can have a green lock on a diagram despite some semantic elements appearing on this diagram are locked by other users.
Once the user modifying a diagram saves and commits its modifications, the diagram is not locked anymore. For the other users currently displaying the diagrams, two different alternatives:
After the refresh is performed, the new layout becomes visible.
Note: on the above example, one semantic element (“Acquire Images”) was currently being renamed by the user. The consequence is that the refresh induces a new change (and thus a green lock) on the diagram to reflect the label update.
In Capella, the background of diagrams always represents a semantic element (which is the element under which the diagram is located in the Project Explorer). In case this semantic element is locked (hereunder the Root System Function), a specific decorator is put on the background of the diagram. This means for example that even though the diagram is locked for edition (green lock), adding a new element on the background of the diagram is not possible.
Diagrams can be local or shared in the repository. Shared diagrams have specific decorators.
When creating a new diagram, a dialog pops up asking the user to choose whether the diagram should be shared (cdo://) or local (platform:/resource…).
It is possible to move diagrams from the repository to the local project and vice versa.
Important note: semantic elements created on a local diagram are instantaneously shared with other users as soon as a commit is performed. Local diagram does not mean local elements.
It is possible to explicitly lock an (or a set of) element(s) by using the contextual menu.
Note that only semantic elements are locked. Diagrams can also be locked explicitly, but individually.
The behavior of the locks when they are set manually is a bit different than the one of automated locks: while automated locks are systematically released at each commit, elements locked explicitly have to be unlocked explicitly as well.
Consider the following use case
Currently not available.
A Preference allows specifying whether a description is required when committing or not. In case this option is enabled, the following dialog is prompted on each commit action.
Dialog buttons:
Another preference allows the user to pre-fill the commit description using various strategies. The default strategy exploits the previous commit description, while the Mylyn strategy relies on the content of the currently-active, non-completed Mylyn task using the template defined in the Mylyn > Team preferences. Below is an example of such a template:
${task.description}
User Information:
Key: ${task.key} URL: ${task.url}
For more information about these templates, refer to the Mylyn documentation.
A dedicated view allows displaying the commit history. This window can be opened with the contextual menu called on the semantic model.
This view is particularly useful to monitor the current changes on the shared model. The objective of this history is also to attached as a change log when pushing back file-version of the model to Clearcase or SVN.
The properties page (contextual action) on aird files of shared modeling project has a tab named Repository Information. This presents the connected repository information (location, port and name) as well as a list of connected users on the same repository.