Poseidon for UML: User Guide
Prev | Chapter 18. Using The Enterprise Edition | Next

# Enterprise Server

The Enterprise Server is the heart of the Enterprise Edition. It is responsible for storing and maintaining projects and collaborations. All changes made while in a collaboration are sent to the server, and then in turn sent out to the other clients in order to maintain the realtime updating.

The server is also responsible administrating the CVS and SSH connections.

## Server Application

The server application itself is quite simple to run. Call 'startServer.bat|sh' from the 'bin' directory, or in the case of Windows, simply select 'Start Server' from the Start menu.

The server is stopped by calling 'stopServer.bat|sh' or 'Stop Server' from the Start menu.

## Administration Tool

The Admin Tool enables you to access the running Enterprise Server and perform some administrative actions. You can start the tool by running the admintool.[bat/sh] script, or by selecting 'Administration Tool' from the Start Menu. It presents you with the same Connect-to-Server-dialog as the one within the Enterprise Client. After connecting, the main management frame also resembles the Collaborations window from the Enterprise Client. However, there are different buttons; for instance, you can't start collaborations here, but you can end them.

One of the most interesting features of the Admin Tool is its CVS support. If your projects directory resides in a CVS-aware directory, you will see more buttons and features in the stored projects section of the Admin Tool. Read more about this in a further section.

### Collaboration Administration

Occasionally, collaborations may need some changes that are not available from the client application, such as changing the name of a collaboration in the middle of a project. For _instance, Seymour is working on a collaboration that is named after a particular work order code. This task has been reassigned to a different code, and the collaboration should therefore be renamed to correspond to the new scheme. Edna didn't get the memo about the code change yet, but if Seymour is allowed to change the name of the collaboration Edna may not be able to find the collaboration, or she may think the name change is an error and change it back. To avoid confusion among the clients, this function is only available at the server level.

The upper section of the Administration tool offers the following functions:

#### Removing Locks

In case some model element locks are not removed automatically (e.g. when a client's connection crashed), you can use this button to clear all locks immediately. Removing single locks is not supported yet.

To remove all locks, click the 'Delete All Locks' button.

#### Renaming Collaborations

As within the client, you may rename a running collaboration.

To rename a collaboration, click the 'Rename' button.

#### Ending Collaborations

In case a collaboration was not ended properly (e.g. because a client crashed unexpectedly and the server did not notice this), you may use this button to force it to end.

To end collaborations, select the desired collaboration and then click the 'Stop Selected Collaboration' button.

### Project Administration

Just as collaboration name changes have the potential to cause problems between team members, so would similar changes to projects. For these same reasons, functions such as deleting a project are available only at the server level.

#### Upload Project

You can use the button 'Upload Project' to upload a local project file to the server, and likewise you can delete a project with the delete button.

#### Delete Project

You can delete a project from the list of available projects with the 'Delete Selected Project' button.

#### Rename Project

Rename a project for all users with the 'Rename Project' button.

### CVS Support

Poseidon's Admin Tool supports the most basic (and most needed) CVS operations, so it is very easy intuitive to use; however, you should be generally familiar with CVS before you use this option. The following documentation is not meant to be a CVS manual. Please refer to http://www.loria.fr/~molli/cvs/doc/cvs_toc.html#TOC1 for some nice CVS documentation.

Also, the Admin Tool's CVS support is not a replacement for a fully fledged CVS GUI Client. Please refer to WinCVS (http://www.wincvs.org) for a Windows client, or to (http://www.jcvs.org) for a Java-based Unix/Linux client . The Admin Tool currently only supports PserverConnections. This is the most common usage and will suffice for most user needs. If you need EXT-Connections (e.g. for SSH-tunnelling), please check more advanced CVS Clients.

To use the CVS support from the Admin Tool, you need to have a CVS server running (on linux a CVS server comes along with most distributions, and CVSNT (http://www.cvsnt.org/wiki) is a freely-available Windows CVS server. You must also have a project directory checked out somewhere on your file system.

#### Configuring Your System for CVS Support

As mentioned, you must have created and checked out a directory from your cvs server already, and configure the Enterprise Server to use it as your projects directory (using the setting "collabserver.project.file.location" in the CollabServer.properties file). To access the CVS server, the Admin Tool needs to know the password for the user that performed that initial cvs checkout. In most cases, this password is stored in a file called ".cvspass", usually located in the user's home directory. You can either specify that files location, or you may set the encoded password as a separate setting. So, your could add an entry like this (Windows notation),

collabserver.cvs.passFile=C\:\\Dokumente und Einstellungen\\per.GENTLEW\\.cvspass

or instead use

collabserver.cvs.encodedPassword=As84123

(with the latter entry being the encoded password taken from a .cvspass file, not the original one)

An exception to this occurs when using CVSNT as a versioning system. In this case, the CVSNT server doesn't create a .cvspass file for storing passwords, rather they are added to system registry. Manually copy the encoded password from the following registry location:

HKEY_CURRENT_USER\Software\cvsnt\cvspass

On startup, the Enterprise Server displays a few values it reads from the properties files, including those above. It will also notify you it was not able to read a password from the .cvspass file, or when the password could not be used to access the CVS. The CVS support for the Admin Tool will then remain disabled.

When everything is set up properly, restart the Enterprise Server and the Admin Tool. The lower part of the screen will now present you with a CVS view and a few additional buttons for CVS Access.

#### Using the CVS Support

Each file in the current directory is displayed in a color reflecting the file's state in CVS:

- Black - File is up-to-date, or there is no CVS available

- Brown - File is not known to CVS yet

- Green - File has been newly added and needs to be committed

- Gold - File needs a patch

- Blue - File has changed and needs to be committed

The following states should not occur for your Poseidon Projects, as the projects are binary and will not get merged, but other files in your CVS directories might look like this:

- Red - File was updated, merged, and a conflict was detected.

- Purple - File was updated from CVS, local changes have been merged.

Next to the list of files, you can find buttons for performing CVS operations.

Adding a file to the CVS - A file that is not yet known to CVS (for example after it was uploaded) is displayed in brown. Select it, click the add button, enter a comment for it, and then the file is added (but not yet committed) to CVS. Its color changes to green.

Committing a file - A file that has been changed (blue color) or added to CVS (green color) can be committed in order to store the changes in the repository permanently. Just select the file, press the Commit button and enter a comment for that file. The files color changes to black (the up-to-date-color).

Removing a file from the CVS - To delete a file and remove it from the CVS, select it and press the remove button. You will be asked to enter a comment, afterwards the file gets deleted and removed from the CVS. It is still available through the CVS repository, so you can change your mind and restore the file. But you will need to use a more advanced CVS client (or the command line) for this, the Admin Tool does not yet support access to removed files. Note: The regular cvs remove command does not delete a file from the file system, nor does it commit a removed file. To keep things simple, the Poseidon Admin Tool auto-deletes and auto-commits files.

Renaming a file - CVS does not support renaming, so the client first renames the file. Then CVS is told to remove the file with the old name from its repository and add the renamed file to the repository as a new file. In addition to the message you supply, the Admin Tool generates a short message about the old file's name - unfortunately CVS cannot store information about renamed files, and your renamed project has no history except for the message you supply here. Because of the loss of history information, it is not advisable to rename projects just for cosmetic reasons, like from "OurWorkflow" to "Our_WorkFlow". You should only rename when the model inside the file has changed so much that the original filename does not fit the model at all anymore.

Version History - Inside the CVS file view, click the Version button to open the history frame. The history of the selected file will be displayed. Apart from looking at and closing that frame, you can also restore an old version.

Refresh the list of projects - The list of projects is automatically refreshed every so often, but you can manually update the list with the 'Refresh' button.

Restoring an old revision - CVS does not have a command for restoring an old revision. You may "down-update" to an old version, but that implies that the checked out file is "sticky", and committing changes will create a branch on that old revision of the file. To save you the trouble of sticky files (you can do this by hand if you really want to), the Admin Tool deletes the current version of the file from the file system, checks out the old revision (sticky), renames that file to a temporary file, checks out the latest version of the file (just to get rid of the sticky tag), deletes that file, and renames the temporary file (the old revision) to the original name. Now the old file has been restored and you can modify and/or commit it. As has been checked out from CVS as new, it is not modified yet. Note that he revision will not change; if you restore revision 1.2 of a file that already was at revision 1.6, the restored file will still be 1.6, and then 1.7 once you change and commit it.

## Concurrent License Manager

Licensing for the Enterprise Edition is a bit different than for the other editions of Poseidon. The Enterprise Edition uses a concurrent license scheme, which means that the licenses are not tied to a particular machine or user. Each user is granted a license on startup, and that license is returned to the pool of available licenses when the user is finished working.

Concurrent licenses are added to the server license manager and do not need to be added to the client machines. The Concurrent License Manager has the same interface as the other Poseidon editions. For more information on how to install licenses for the Enterprise Server and Enterprise Clients, see the Enterprise Edition Installation Guide.

Prev | Home | Next
Using The Enterprise Edition | Up | Epilogue