What is a Teamwork Server?
The Teamwork Server is a piece of the software that allows more than one user to work with the same model. The model is stored in the teamwork server repository and every developer working with either the Standard, Professional, Architect or Enterprise edition of MagicDraw may lock a part of the model and work on that part individually. Later changes may be committed to the server and shared with the team. The server works much like the source code version control system.
Benefits of the Teamwork Server
- Faster team collaboration. Every developer may instantly obtain the newest version of the model; everybody is allowed to work in parallel on its own part. No need to merge separate XMI files by hand.
- Simpler configuration management. All designs are stored in a single place, there are no more files that are scattered around in the network; changes can be introduced orderly and without conflicts.
- Controlled access to your artifacts. Different people in the project may have different access levels to the projects stored in the teamwork server repository.
- Remote access. No matter where you are, if you are connected to the Internet you may work with the model that is stored in the repository. A project manager may provide read only or full access to the repository for the overseas developers, customers, subcontractors, management, and other interested parties.
- No constant connection required. Every user may save their teamwork project locally and work without a constant connection with the Teamwork Server. Locally changed project files can be committed to the Teamwork Server at later date.
Administration of the Teamwork Server
Different users may have different permissions on the data that is located in the teamwork server. Super users with special rights may create new users by giving them new login name and setting certain permissions. Teamwork Server supports multiple projects (separate UML models) so there may be multiple teams working with the same server. Administrator may allow or deny access to the particular project for every user.
There are two sorts of user rights that may be changed:
- Administrative rights, such as users and projects management. This set of rights specifies whether this user may add/remove other users, view and change permissions of other users of this server, assign/unassign other users to/from the different projects.
- Project access rights, such as reading the content of the project, editing it, changing the name of the project, creating and removing projects from the teamwork server repository.
The Flexible Teamwork Server administrator's console allows monitoring of the status of the Teamwork Server, including information about any connected users and loaded projects. The administrator may change the properties of the server, including shutdown or restart of the server. Also, there is a capability to see the log files (debug information) of the server on separate projects.
Teamwork Server Functions
The user working with the teamwork server may perform several operations:
- Create a brand new teamwork project or make existing XMI model to be a teamwork project.
- Get the newest copy of the model from the server (update).
- Lock for edit part of the model on the server. When part of the model is locked every other user that is working with the teamwork server has read-only access to this part.
- Commit changes to the teamwork server. After the locking and editing the user may commit the changes to the server thus making them visible to the whole team. Unlock operation may be performed after the commit in order to allow other users to edit new information.
- Send message to one specific teamwork user or all users that are connected to that server.
- Project Branching support in teamwork server allows deriving one project version from another. Versions may be duplicated and it enables parallel work on them. Branching increases productivity for those who:
- use MDD tools (for example AndroMDA, openArchitectureWare and other).
- produce different products that are still very interrelated. This is common when several versions of the same product are designated for different types of customers.
- have several development teams working on a single product and have to merge several development branches before releasing the product.
Connecting to the Teamwork Server
Any MagicDraw client version except the Personal Edition can be connected to the Teamwork Server. Whenever you install teamwork server you supply a license key, which bears information on how many simultaneous connections can be made to this server at a single time. There is no limitation on how many installed client versions of MagicDraw may access the teamwork server potentially. The limitation of the connections specified in the server limits the number of the clients that can work with the server (perform update, commit, etc.) in parallel. The number of the projects you can create in the repository is also not limited.
Pricing of the Teamwork Server
Teamwork Server is sold separately from the clients, so if you purchase the server you need to purchase (or own) a few MagicDraw client licenses as well (minimum 2 licenses are needed). The price of the teamwork server depends on the number of the simultaneous connections you want to have to this server.
Teamwork Server and the Floating Licenses
Teamwork Server does not serve as a floating license server, therefore if you would like to use floating licenses to work with the server, you still need a FLEXnet license server (FLEXnet license server is provided for free, when you purchase floating licenses).