Project control

This tool manages an applicative write access to the project files without using the may be existing operating system capabilities. The goal is to give the write access of a the project files to at most one user per file, to avoid to merge modifications made by several users. The tool Project synchro associated to project control allows you to synchronize a repository project with the modifications made by several users (supposing each package modified by at most one user).

Because of the way the project data are saved by BOUML (see project files), the write access are managed at package level, and each information attached to a package (except its sub packages) have the write access of this package. Recall the generation settings, default stereotypes etc are associated to the project package, a good way is to not define views directly in the project package but to immediately create sub packages, each one owned by a different user or protected.

Project Control is not a plug-out, it is launch like BOUML or any tool, when you start it the following window appears :

To avoid inconsistencies, you can't apply Project Control several times on a given project, and you can't use it on a project while it is edited by BOUML or by Project Synchro, if this is the case a message warns you :

The write access are written inside the project files associated to the packages, if all the users access to the same shared image of the project, the protection will be taken into account by BOUML. If there are several images of the project, after the use of File Control each image must be updated, or you must set the same write access using the tool by yourself.

All the operations are presented to be done for a given user, this user is indicated at the bottom of the window. Obviously the user is first the one starting the tool, the id is the value of the user own identifier set through the environment dialog.

Project menu

This menu allows


When you load a project, only the packages are shown in the browser, for example on the project doing the HTML generation, if the project package is protected, the API USER owned by bruno and Aux by olivier :

The icon used to represent a package indicates the write access :

Package menu

A menu appears when you do a right mouse click on a package, its content depend on the package access, the entries are (Ctrl is replaced by Apple under MacOS X) :

Warning : the change is immediately made, and these is no undo !

Change the current user

To change the current user, use the button representing an actor or the entry in the project menu, a dialog appears :

Choose a user from the list, set the name through the line editor when it is unknown for the selected user identifier .

Previous : Plug-out

Next : Project synchro