Model Locking and Conflict Checking

If you don't want to depend on being the first when editing a big amount of elements, you should use element-locking. You can lock namespaces for your personal use only. This means that no other user may edit anything on or in that namespace.

If you lock a class, no one else may change the classes name, add an association to it, or remove an attribute, or even delete a state in that classes statediagram. Other users are not even allowed to select a locked element - looking at it should be enough for them. Obviously, no-one else may lock an element that is inside your locked namespace. Also, you cannot lock a namespace which already contains locked elements.

To lock a namespace permanently, you have to select it, and then press the "lock"-icon in the toolbar. From then on, the element will be marked by a green filled circle on your Poseidon-screen, while all other users will see a blue filled circle. Elements that are contained within a locked namespace are automatically locked too, so they also get marked. To make it possible to tell the locked and the implicitly locked elements apart, the inner elements get a transparent circle only. If you don't want to see the lock-symbols, you can turn them off in the settings window.

Please remember that not all elements are namespaces. Comments are not namespaces, so it is not possible to lock them one by one at the moment.

Java-Import

The java-import will need access to most parts of the model. To prevent lots of conflicts with your coworkers during import (which would result in a complete rollback of the import), you have to lock the complete model for yourself before you can start importing. Tell your co-workers to unlock and deselect everything, acquire the lock on the model, perform the import, and remove the lock again.

Auto-Locking

By default, autolocking is activated for the elements you select. This means, when you select an element, it tries to aquire a a temporary lock (which behaves like a normal one). If this is not possible (because of elements locked inside that element) no warning is issued. When you deselect the element, the lock is removed automatically. Autolocking is used to prevent conflicts as early as possible - as mentioned before, a locked element can't even be selected by other users, let alone edited. Autolocking is very useful in most settings, but it can be a hard restriction too. For example, when you select a class, then other users will not even be able to align states that reside in that classes state-diagram. You can deactivate auto-locking in the settings dialog. Note that auto-locking does NOT apply for the model - you can select the model in the tree, and you can lock it by hand, but it will not be locked automatically. Locking is only possible if nothing else inside the namespace is locked (e.g. by another auto-lock), so it is very unlikely that you'd get the model-lock without consulting your co-workers first. And even if you got the models lock, your coworkers might get a bit upset when they notice that they cannot continue working - while you selected the model just to create a few stereotypes.