MagicDraw Teamwork Server UserGuide
MagicDraw Teamwork Server UserGuide
0 LTR SP3
User Guide
6 LDAP Support 80
6.1 Contents 80
6.2 Enabling LDAP Integration 80
6.3 Connection Settings 81
6.3.1 Teamwork Administrator’s Console, LDAP Integration tab. Connection
Settings 81
6.4 Authentication Settings 82
6.4.1 Teamwork Administrator’s Console, LDAP Integration tab. Selecting
Authentication Type 83
6.4.2 Authentication setting for the Simple User + Password authentication
type 83
6.4.3 Authentication settings for the SASL authentication type 86
6.5 User Data Retrieval Settings 87
6.5.1 Teamwork Administrator’s Console, LDAP Integration tab. User Data
Retrieval Settings 88
6.6 Connection Testing 90
6.7 Subversion and LDAP Integration Working at the Same Time 90
6.8 Converting Certificates to JKS Format 90
6.9 Integrating Teamwork Server with a SSL-Enabled Active
Directory 90
6.9.1 Creating a new keystore file with the KeyTool IUI (steps 2.2, 2.3, and
2.4) 92
6.9.2 Importing certificate files into the keystore file (steps 2.5, 2.6, 2.7, and
2.8) 93
Tip
For information about working with Teamwork Server form the client side, that is modeling
tools developed by No Magic, Inc. - MagicDraw, Cameo System Modeler, or Cameo Enterprise
Architecture, please refer to Collaborative modeling1.
With MagicDraw Teamwork Server you can assign as many developers as needed to work
simultaneously on the same project using multiple workstations. The resulting server project is saved
on the server for sharing with other MagicDraw® applications. Users with administrator rights can
create new users by creating a name and assigning various permissions to work on projects. The
permissions assigned will determine whether the new user can update, commit, edit, create, and delete
model elements, diagrams, and projects.
To enable Teamwork support, you should install and run MagicDraw Teamwork Server. Each modeling
tool application is a client of Teamwork Server.
The following demo will help you understand how to work with the Teamwork Server:
1 [Link]
2 [Link]
3 [Link]
4 [Link]
5 [Link]
6 [Link]
7 [Link]
8 [Link]
1.1 Content
s
1.1.1 Prerequisites
• Ensure your machine meets the minimal system requirements9 for running the server.
• An appropriate JVM version10 is installed on your machine.
• You have the installation files downloaded from your account at [Link].com11.
• The Teamwork Server installation file should have read and execute permissions.
1.2.1 Content
s
9 [Link]
10 [Link]
11 [Link]
12 [Link]
InstallingTeamworkServer
13 [Link]
14 [Link]
• Contents(see page 9)
• Installing on Windows(see page 10)
• Installing on OS X(see page 10)
• Installing on Unix(see page 11)
Installing on Windows
1. Double-click the installer and follow the on-screen instructions.
2. Start Teamwork Server16.
• If you have an evaluation or commercial with expiration (unpaid) license key, simply add
it.
• If you have purchased and paid for the commercial license, first activate17it and then
add18 the server license.
Installing on OS X
1. Double-click the installer.
2. In the Teamwork Server installation window, drag the MagicDraw Teamwork Server folder to
the Applications folder.
3. Close the MagicDraw Teamwork Server installation window.
4. Start Teamwork Server19.
15 [Link]
16 [Link]
17 [Link]
18 [Link]
19 [Link]
20 [Link]
21 [Link]
• If you have an evaluation or commercial with expiration (unpaid) license key, simply add
it.
• If you have purchased and paid for the commercial license, first activate23it and then
add24 the server license.
1.3.1 Content
s
Prerequisites
• You have the license owner25 account credentials.
• The Teamwork Server commercial license is purchased and paid.
Activation workflow
1. Determine the Host ID26 of the machine on which the server is installed.
2. Activate27the license at nomagic.com28. Only commercial paid license needs activation.
3. Add29the activated license key.
Related pages
22 [Link]
23 [Link]
24 [Link]
25 [Link]
26 [Link]
27 [Link]
28 [Link]
29 [Link]
Contents
On this page
To determine the Host ID30 of the machine on which the Teamwork Server is installed
30 [Link]
Running the teamwork_server_nogui for the first time, you get this window:
31 [Link]
32 [Link]
33 [Link]
4. In the open dialog, provide the personal information of the user, who is going to use the
modeling tool (A), paste the copied Host ID (B), and from the Licenses to activate list, select the
purchased license of the Teamwork Server (C).
5. Click Send or Download in the Get key column to receive the activated commercial license.
1.4.1 Content
s
On this page
To check the license information at a later time, click the License Manager button in the
Teamwork Server dialog.
2. Type the path to the license key file and the file name (for example, C:
\key\MagicDraw_18_4_TeamworkServer_key.txt) and press Enter.
3. Press y and Enter, to apply the key.
4. Do one of the following:
When choosing to import the configuration files, you can choose one of the
following:
• Press y and then Enter, if you want to start the Teamwork Server with
administrative permissions.
• Press n and then Enter if you want to start the Teamwork Server without
administrative permissions.
1.5.1 Content
s
On this page
On Windows
1. Stop the Teamwork Server34.
2. From the command line, run the following:
34 [Link]
On UNIX/Linux
1. Stop the Teamwork server35
2. From the command line, run the following:
Example
$teamwork_install_dir/bin/teamwork_server_nogui -changeKey -key:/home/user/C/MD/KEYS/
18.4/MagicDraw_18_4_TeamworkServer_Evaluation_key.txt
Note
To keep the Teamwork Server session running, add the Teamwork Server as a service. To add
the Teamwork Server as a service, learn here36.
Windows
1. Do one of the following:
• On the Windows taskbar, click Start, and select MagicDraw Teamwork Server form the
program list.
• OpenMagicDraw Teamwork Server installation\bin and double-click
the teamwork_server.exe file.
35 [Link]
36 [Link]
1. Run teamwork_server.exe in the server bin folder. The Teamwork Server startup dialog opens.
2. Click the Change Server Port button and enter the new server port. This port is used
when launching the server, or when adding the Windows service.
The Teamwork Server exports remote objects only through the RMI registry port.
MAC OS
1. Open the Application / MagicDraw Teamwork Server installation folder and double-click
the MagicDraw Teamwork [Link] file.
2. Click the Start Teamwork Server button.
UNIX
1. Open the MagicDraw Teamwork Server installation/bin folder and double-click
the teamwork_server file.
2. Click the Start Teamwork Server button.
Windows
• In the <Teamwork Server installation>/bin folder, double click the stop_teamwork_server.exe.
MAC OS
• In the <Teamwork Server installation>/bin folder, double click the stop_teamwork_server.app.
UNIX
• In the command line, type the following command:
Note
To keep the Teamwork Server session running, add the Teamwork Server as a service. To add
the Teamwork Server as a service, learn here37.
Windows
• From PowerShell or the command terminal run:
$teamwork_install_dir/bin/teamwork_server_nogui.exe
Linux/Unix/MacOS
$teamwork_install_dir/bin/teamwork_server_nogui
Windows
• From PowerShell or the command terminal run:
$teamwork_install_dir/bin/stop_teamwork_server.exe
37 [Link]
$teamwork_install_dir/bin/stop_teamwork_server.app
Linux/Unix
Now you should be able to start working with your Teamwork Server successfully.
If you run into any further problems with installation, please try:
38 [Link]
39 [Link]
40 [Link]
41 [Link]
42 [Link]
43 [Link]
44 [Link]
45 [Link]
1.7.1 Content
s
On this page
1. Go to the Teamwork Server installation directory and stop Teamwork Server if it is running.
2. Right click the teamwork_server.exe file. Select Run as administrator from the shortcut menu.
Windows 7 OS and Windows Vista OS Firewall do not allow remote connections. After adding
Teamwork Server to Windows 7 or Windows Vista services, you must add the Teamwork Server
port number 1100 in Windows Firewall Exceptions list. At that point, all remote connections to
Teamwork Server will be allowed.
46 [Link]
RETVAL=0
TEAMWORK_HOME="/var/MagicDraw_Teamwork_Server/bin"
prog="teamwork_server_nogui"
prog_stop="stop_teamwork_server"
desc="MagicDraw Teamwork Server"
args="SERVICE"
check() {
if [ -f /var/lock/$prog ]; then
if ps -p $(cat /var/lock/$prog 2>/dev/null) >/dev/null; then
return 0
fi
fi
return 3
}
status() {
check
if [ $? -eq 0 ]; then
echo $"${desc} is running..."
return 0
fi
echo $"${desc} is stopped"
return 3
}
start() {
check
if [ $? -eq 0 ]; then
echo $"${desc} is already started..."
return 2
fi
COUNT=0
while [ "$COUNT" -le 15 ] && [ -z $JAVA_PID ]
do
stop() {
echo -n $"Shutting down $desc ($prog): "
$TEAMWORK_HOME/$prog_stop
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/$prog
return $RETVAL
}
case "$1" in
start)
start
RETVAL=$?
;;
stop)
stop
;;
restart)
stop
start
RETVAL=$?
;;
status)
status teamwork
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 3
esac
exit $RETVAL
3. Change the value of the TEAMWORK_HOME variable according to the path of the Teamwork
Server installation bin folder.
4. Save the file and move it into the system directory “/etc/init.d”.
5. In the command line, type the following commands:
cd /etc/rc3.d
ln -s ../init.d/teamwork S99teamwork
You can also configure the service for runlevel using the following command:
• In the MagicDraw Teamwork Server installation > UninstallerData folder, double-click the Uninstall
MagicDraw Teamwork [Link] file.
1.8.2 Uninstalling on OS X
• Right-click the MagicDraw Teamwork Server installation folder. From the shortcut menu,
select Move to Trash.
• In the MagicDraw Teamwork Server installation > UninstallerData folder, double-click the Uninstall
MagicDraw Teamwork Server file.
47 [Link]
1.9.2 Installing on OS X
1. Double-click the installer.
2. In the Teamwork Server Administrator's Console installation window, drag the MagicDraw
Teamwork Server Administrator Console folder to the Applications folder.
3. Close the MagicDraw Teamwork Server Administrator's Console installation window.
4. To start Teamwork Server Administrator Console, open the Application / MagicDraw Teamwork
Server Administrator Console installation folder and double-click the MagicDraw Teamwork
[Link] file.
48 [Link]
49 [Link]
50 [Link]
IMPORTANT! This deactivation should be used only if the deactivation in the product is not
available (lost or corrupted). This manner of deactivation decreases the available rehost limit.
Use deactivation from the software side or deactivation with the License Deactivation ID.
It is treated as the confirmed deactivation and does not decrease available rehost limit.
51 [Link]
52 [Link]
53 [Link]
54 [Link]
55 [Link]
56 [Link]
57 [Link]
1.12.1 Conten
ts
On this page
Prerequisites
• All projects must be committed.
• The projects' directory back up60 is created.
Automatic update
1. Stop Teamwork Server61.
2. Start Teamwork Server62. The Teamwork Server dialog appears.
3. Click the Check for Updates button. The Update Information dialog appears.
4. Do one of the following:
• Click Update to New Version, to apply the latest released product version.
If the new version or service pack uses the newer Java version, the message appears to
download the required Java version. Click Yes.
For more information about the recommended Java version, see http://
[Link]/support/[Link].
5. If you are updating to the new version, in the message informing that the deactivation is
successful, click OK. Then start Teamwork Server.
58 [Link]
59 [Link]
60 [Link]
61 [Link]
62 [Link]
63 [Link]
64 [Link]
• If you need to restore the data, install a new Teamwork Server version into the
new location.
• Under Choose Java Virtual Machine, select Use the Java VM installed with this
application.
5. Start the newly installed Teamwork Server. The Import Configuration dialog opens.
6. In the Teamwork Server License Manager dialog, enter the license key.
7. Remove the old Teamwork Server version.
Contents
On this page
65 [Link]
66 [Link]
67 [Link]
68 [Link]
69 [Link]
70 [Link]
C:\WINNT\Profiles\All
Users\ApplicationData\.magicdrawserver\<version
number>\projectsem> on Windows NT4
C:\WINNT\Profiles\All
Users\ApplicationData\.magicdrawserver\projects on Wind
ows NT4
3. Add the contents of the copied folder to the newly installed Teamwork Server projects folder.
71 [Link]
72 [Link]
muserver.projects_directory=C\:\\ProgramData\\.magicdrawserver\\17.0.5\
\projects
By changing the repository location, you can indicate the projects folder that contains the project you
want to import.
1. In the Teamwork Administrator’s Console window, Repository tab, next to the Location box,
click the "..." button.
2. In the Open dialog, select the projects folder and click Open.
3. When you receive the warning, informing that in order to apply changes, you need to run
repository test, click Run Test.
4. In the Repository Test Passed dialog, click OK.
5. Restart the server.
Concept Definition
Teamwork Server Administrator's A remote connection for Teamwork Server status observation and
Console administrative control. The server holds information about active
users and loaded projects. The Administrator can shut down or
restart the server, change its properties, and view log files
(including debug information) for the server and separate projects.
Repository A storage place for projects and their versions managed by the
Teamwork Server.
Native User A user whose account data is stored locally, i.e. in the native
Teamwork Server repository.
External User A user whose account data (all except the login name) is stored in
an external database, e.g., Subversion, or LDAP.
Used Server Project A server project containing one or more shared packages. Used
projects are created to reuse shared packages or to decompose
projects into parts.
Dependency between two elements A situation where one element (dependent element) refers to the
data of another element (independent element).
Foreign project A project transferred from its home server after synchronization. A
foreign project cannot be modified on the server to which it was
transferred. However, it can be browsed, analyzed, selected for
report generation, and used in other projects on that server. A
foreign project can have domestic (editable) branches.
3.1 Content
s
The Teamwork Server keeps track of project versions. Additionally, it performs several administrative
functions to access projects, including user login and authentication, as well as checking permissions.
The Teamwork Server uses repositories for project version storage. The administrator can select any
one of the supported repository types in the Teamwork Administrator's console to configure the server
(for more information, see Starting the Administrator’s Console). Data can migrate from one to another
repository type. This functionality is also accessible from the Teamwork Administrator's console.
Repositories
• For more information about specifying repositories, see the Administrator’s Console
dialog description of the Repository tab(see page 73).
• For more information about importing or exporting a project to the native repository, see
the Administrator’s Console dialog description of the Projects tab(see page 64).
Related Pages:
3.2.1 Content
s
This is a default repository type. When the Teamwork Server is first installed and started, it is configured
to use the Native repository. This is the only type of repository available in versions prior to 12.5 of
Teamwork Server. When the Teamwork Server is configured to use the Native repository, a directory is
designated for project storage. The Server then uses its internal proprietary code to implement a
versioned repository for a collection of projects. Additionally, a simple user authentication/
authorization scheme is implemented in the repository to store a simple list of users and their
passwords (securely encrypted using one-way encryption) in a user file. When MagicDraw users log in
to the server, the Native repository uses this user file to verify these users and their passwords. Users'
rights to access different projects are also described using this file.
Related Pages:
3.3.1 Content
s
The Teamwork Server can be configured to use the SVN repository as a back-end. In this mode, the
Teamwork Server retrieves and commits project versions into the SVN repository.
To use this repository type, the SVN client executable must be correctly installed on the computer
where the Server runs. The Teamwork Server must be able to launch the SVN executable; the SVN
executable must be accessible on the system's PATH and have appropriate permissions to execute.
Supported SVN client versions are 1.4, 1.5, 1.6, 1.7, and 1.8.
For file:// type URLs, the pass-through authentication is not possible. Teamwork Server uses the same
built-in authentication method as the Native repository type, maintaining the users list with their
encrypted passwords in a repository file. The server authenticates users using this file. The server
performs actions in a repository on the user’s request. If the server is started as the NT service, all
actions in the repository will be attributed to the Local System user (unless a different user is specified
in service settings). If the server is started manually, all actions in the repository will be attributed to the
user who started the server. This difference can only be seen when examining the SVN repository with
SVN native tools. When looking at the project versions with the MagicDraw client, all commit actions will
be attributed to the uses who performed them.
When a project file is committed into the SVN repository, the server stores auxiliary information
about the project in an additional directory. For example, if you commit the [Link]
project into the server, the auxiliary information will be stored in the MyProject_files directory
nearby. Do not delete this directory from the repository.
For the best performance, the Teamwork Server and SVN repository should have a good link between
them. Optimally, Teamwork Server could run on the machine where the repository is installed.
Related Pages:
4.1 Content
s
Teamwork Server makes it easy to exchange data directly in the context of your work. It provides a
central repository for storing any kind of models. Using Teamwork Server, team members can access,
review, or modify the same model or even the same diagram at the same time. It supports importing,
exporting, updating, branching or comparing in-server-stored models.
Server data and configuration can be managed through a separate administrative console with a
minimal technical knowledge and effort.
Related Pages:
73 [Link]
74 [Link]
1. Run teamwork_server.exe in the server bin folder. The Teamwork Server startup dialog opens.
2. Click the License Manager button. The Teamwork Server License Manager dialog opens.
3. On the opened dialog, click the Select License Key Files button to browse for a file with
the Teamwork Server license key.
4. In a browser, open a new license key file.
5. Click OK after you have changed the server license key.
Restart the server to apply changes. Make sure all users are logged out before restarting the
server.
1. Run teamwork_server.exe in the server bin folder. The Teamwork Server startup dialog opens.
2. Click the Change Server Port button and enter the new server port. This port is used when
launching the server, or when adding the Windows service.
1. Run teamwork_server.exe in the server bin folder. The Teamwork Server startup dialog appears.
2. Click the Add Windows Service button.
3. After the service is added, select one of the following:
• Start this service from the Windows Services list.
• Reboot the computer and the Service will start automatically.
• To run the server, click the Start Server button.
#!/bin/bash
#
# chkconfig: - 91 60
# description: MagicDraw TeamWork Server
RETVAL=0 TEAMWORK_HOME="/var/MagicDraw_Teamwork_Server/bin"
prog="teamwork_server_nogui"
prog_stop="stop_teamwork_server"
desc="MagicDraw Teamwork Server"
args="SERVICE"
check() {
if [ -f /var/lock/$prog ]; then
if ps -p $(cat /var/lock/$prog 2>/dev/null) >/dev/null; then
return 0
fi
fi
return 3
}
status() {
check
if [ $? -eq 0 ]; then
echo $"${desc} is running..."
return 0
fi
echo $"${desc} is stopped"
return 3
}
start() {
check
if [ $? -eq 0 ]; then
echo $"${desc} is already started..."
return 2
fi
COUNT=0
while [ "$COUNT" -le 15 ] && [ -z $JAVA_PID ]
do
JAVA_PID=$(pgrep -P $SCRIPT_PID java)
let COUNT=COUNT+1
sleep 1
done
[ $RETVAL -eq 0 ] && echo $JAVA_PID >/var/lock/$prog echo
}
stop() {
echo -n $"Shutting down $desc ($prog): "
$TEAMWORK_HOME/$prog_stop
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/$prog
return $RETVAL
}
case "$1" in
start)
start
RETVAL=$?
;;
stop)
stop
;;
restart)
stop
start
RETVAL=$?
;;
status)
status teamwork
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 3
esac
exit $RETVAL
5. You can also configure the service for runlevel using the following command: chkconfig --level 3
teamwork on
6. In the command line, type the following command:
Server users
Make sure all users are logged out before stopping the server.
• In the command line, type the following command: service teamwork stop
75 [Link]
1. Run teamwork_server.exe in the server bin folder. The Teamwork Server startup dialog opens.
2. Click the Remove Windows Service button.
You should have valid Software Assurance to upgrade Teamwork Server. For more about
Software Assurance, see at [Link]
assurance-maintenance-contracts.
Make sure server and the client versions are the same. We also recommend using the same
JVM version for the server and client, as well as making a backup of the project folder before
upgrading Teamwork Server.
1. Stop Teamwork Server (see Stopping Teamwork Server(see page 45)) and close the Administrator’s
Console.
2. Deactivate the current license for the Teamwork Server.
3. For the Windows operating system, remove the Teamwork Server NT service, if it is added. See
the procedure on how to remove Teamwork Server from the Windows services(see page 45).
If the HTTP Proxy Server Connection dialog opens, click Use HTTP proxy server if you
want to use a proxy server. Enter the required values and click OK when you are done.
Checking for updates starts.
6. The Update Information dialog opens, displaying information about available updates. Click
the Update to New Version button to start upgrading the server.
7. When the automatic update finishes, the Import Configuration dialog opens. In this dialog, click
the Import button to import all teamwork projects and users from the previous Teamwork
Server version.
Teamwork Server and its client must be of the same version. Otherwise, clients will not be able
to connect to the server.
For a description of importing procedures, please see Importing projects and users from earlier
versions of Teamwork Server(see page 49).
The version of project server and client should be the same. We also recommend using the same JVM
version for the server and client.
76 [Link]
b. Under Choose Java Virtual Machine, click Use the Java VM installed with this
application.
5. Start newly installed Teamwork Server. The Import Configuration dialog opens.
The import time may take 90 minutes or more, depending on the quantity and size of the
imported projects.
6. In the Teamwork Server License Manager dialog, enter the license key.
7. The Teamwork Server License Configuration dialog with license information opens after you have
entered a license key. Click OK. The Teamwork Server startup dialog opens.
We recommend making a backup of the project folder before upgrading the Teamwork Server.
1. Stop Teamwork Server (see stop teamwork server(see page 45)).
2. Deactivate the current license for the Teamwork Server. For more information, see https://
[Link]/support/activation#deactivation_in_management.
3. For the Windows operating system, remove the Teamwork Server NT service, if it was added
(see how to remove Teamwork Server from the Windows services)(see page 45). Skip this step for
other operating systems.
4. Extract the MD_UML_<version number>_teamwork_server_no_installs.zip.
5. Start the new Teamwork Server without GUI (see how to start Teamwork Server from the
command line)(see page 39).
You can only use manual Teamwork Server upgrade without GUI. This is not available with
automatic updates.
C:\WINNT\Profiles\All
Users\ApplicationData\.magicdrawserver\<version
number>\projects on Windows NT4
C:\WINNT\Profiles\All
Users\ApplicationData\.magicdrawserver\projects on Windows
NT4
1. In the Teamwork Administrator’s Console window, on the Repository tab next to the Location
box, click the button.
2. In the Open dialog, select the projects folder and click Open.
3. When you receive the warning that you must run a repository test to apply changes, click Run
Test.
4. In the Repository Test Passed dialog, click OK.
5. When you receive the message that changes have been saved and the server should be restarted
to apply the changed properties, click OK.
6. In the Teamwork Administrator’s Console window, from Menu, select the Restart Server
command.
Server users
Make sure all users are logged out before restarting the server.
7. In the Information dialog showing that the server is restarting and you should try to login again
after few minutes, click OK.
Server users
Make sure all users are logged out before restarting the server.
1. Stop Teamwork Server in computer A (see how to stop teamwork server)(see page 45). Be sure to
back up all data (see page 52)in case of unsuccessful data transfer.
2. Install Teamwork Server in computer B.
3. In computer A, copy the .magicdrawserver folder and paste it in the same location in computer B.
If your projects were stored somewhere other than in the Project folder, copy the folder where
Teamwork Server projects were stored and the path to that repository. In computer B, restore the
path to the same repository and paste the folder with projects to that location. For more
information about how to change the pats to a repository, see how to change a repository
path(see page 52).
4. Start Teamwork Server (see Managing Teamwork Server)(see page 53).
You are required to enter a license key when starting Teamwork Server for the first time. For
more information about license activation, see [Link]
and-use/teamwork-server-install#activating.
5. You can remove back up date in computer A (optional).
Before removing back up data from computer A, make sure all data and server configurations are
restored in computer B after moving.
4.8.1 Content
s
All server projects are stored in a projects directory in a server. You may periodically copy this directory
from a running server to a backup server. However, there may be some issues with this approach:
• You can copy files that are in an inconsistent state (for example, one file contains new data while
another has earlier data). One solution is to have copies in different times, reducing the risk of
losing a consistent project state.
• A running server may have corrupted data, which may be copied to a backup server. In this case,
you could have more than one backup so that the latest working backup may be used in case of
data loss.
• The server hardware or software fails, so that you cannot start Teamwork Server at all. If this
occurs, you can install a new Teamwork Server(see page 9) and simply move all data from a
project's directory to other hardware and start the server there.
Remember that you can always restore your project from a previous stable version of your data.
Related pages
• Importing projects and users from earlier versions of Teamwork Server(see page 49)
• Stopping Teamwork Server(see page 45)
• Starting Teamwork Server(see page 39)
5.1 Content
s
5.2.1 Content
s
Set the general Teamwork Server properties in the Collaboration pane of the Environment Options
dialog.
Related Pages:
5.3.1 Content
s
Server users
Make sure all users are logged out before restarting the server.
77 [Link]
Related Pages:
5.4.1 Content
s
There are two types of users in Teamwork Server: users and administrators. Administrators in
Teamwork Server have the ability to:
• Manage users.
• Create projects and assign users to them.
• Manage project versions and branches.
• Set user permissions for the system and projects (the read and edit modes are set by default).
• Remove users and projects from Teamwork.
Teamwork Server users have their own user accounts (including login names and passwords assigned
by the administrator) and various types of permissions. Depending on where the user accounts are
stored, users can be either:
Administrators can change a specific user's type by editing the user's account information, or convert a
whole list of active Teamwork users by using the Teamwork Administrator's console. They can also
convert an external user to a native one and vice versa
78 [Link]
If there are two MagicDraw clients with the same login name, only one client is allowed to log
into Teamwork Server at a time.
You can manage users in the Teamwork Administrator’s Console or in MagicDraw UML after
establishing a connection to Teamwork Server.
1. From the Collaborate menu, select Users. The Edit Users dialog opens.
2. Click the Add button. The Add User dialog opens.
3. Enter the user’s login name (full name for better identification) and password.
4. Click OK.
5. Select the types of system permissions for the user in the Permissions list, read User
Permissions(see page 61).
1. From the Collaborate menu, select Users. The Edit Users dialog opens.
2. Click the Add button. The Add User dialog opens.
3. Enter the user’s login name and full name for better identification.
4. Select the External User check box.
5. Click OK.
6. Select the types of system permissions for the user in the Permissions list.
As you cannot set a password for an external user in MagicDraw's Teamwork Server, use an
appropriate tool to manage the external database (Subversion or LDAP) where the user's
account is stored.
To convert a native user to an external one by editing the user's account information
1. From the Collaborate menu, select Users. The Edit Users dialog opens.
2. Click the Edit button. The Edit User dialog opens.
3. Enter the user’s full name.
4. Select the External User check box.
5. Click OK.
• The password of a native user who has been converted to an external user will be
retained. However, it will not be used in the user authentication.
• The user's native password will be enabled again only if the user is converted back to a
native user.
1. Start Teamwork Administrator’s Console, see Starting the Administrator's Console(see page 62).
2. In the Active Users tab, click the Convert Native Users to External button, see Active Users
tab(see page 63).
3. Click Yes to confirm your decision.
All converted users will be able to log into Teamwork Server only if they are available in the
external user sources (LDAP or Subversion server to which your server is integrated).
You will be informed once the conversion has been completed. A Teamwork Server's user conversion
can be:
• Successful - when all the users are converted from native to external. In this case the
informational message is displayed, and you can check the list of all converted users in the server
log.
• Unsuccessful - when the conversion failed. In this case an error message is displayed, and you
can see the server log for more details.
• Non-applicable - when there are no users to convert from native to external. In this case an
informational message is displayed.
For the information about the server log file, see Log File tab(see page 69).
1. From the Collaborate menu, select Users. The Edit Users dialog opens.
2. Click the Edit button. The Edit User dialog opens.
3. Enter the user’s full name.
4. Clear the External User check box.
5. Type and retype the password.
6. Click OK.
If the converted user used to be a native user, the password will be the same one used when
he or she was a native.
1. Start Teamwork Administrator’s Console, read Starting the Administrator's Console(see page 62).
2. On the Active Users tab, click the Convert External Users to Native button, see Active Users
tab(see page 63).
3. Click Yes to confirm your decision.
You will be informed once the conversion has been completed. A Teamwork Server's user conversion
can be:
• Successful - when all the users are converted from external to native. In this case an
informational message is displayed, and you can check the list of all converted users in the server
log.
• Unsuccessful - when the conversion failed. In this case an error message is displayed, and you
can see the server log for more details.
• Non-applicable - when there are no users to convert from external to native. In this case an
informational message is displayed.
For more information about the server log file, see Log File tab(see page 69).
1. From the Collaborate menu, select Users. The Edit Users dialog opens.
2. In the Users area, select the user and click Remove.
1. From the Collaborate menu, select Users. The Edit Users dialog opens.
2. If you do not see the Teamwork projects list, click More. The list of available Teamwork project is
displayed in the Available Projects area.
3. Select a project you want to assign to the selected user.
4. Click the << button to move the selected project to the Assigned Projects list.
5. Click OK when you are done.
• Once a user has been added to a project, the default user rights will be created allowing
the user to access the project only according to the rights given.
• The system permissions have a higher priority over the project permissions. For
example, a user whose system permissions allow model editing can edit all projects,
even if the user does not have rights to edit the projects.
Related Pages:
• System access – administrative permissions to access and manage users and projects.
• Project access – permissions to work on specific projects.
If the List not assigned projects permission is not selected, you will be able to
open the project using its URL.
Read including used Access the used project data from the main project.
projects (Legacy)
Administrator Manage (create, rename, and remove) project branches as well as migrate projects to
project later versions.
List not assigned See all (assigned and not assigned) teamwork projects. If not selected, only projects
projects that are assigned to the user will be listed.
Remove user Delete user accounts from Teamwork Server. This permission will unlock all model
elements locked by a deleted user in all projects.
Access user list Allows user to see other Teamwork Server users.
1. From the Collaborate menu, select Users. The Edit Users dialog opens.
2. A list of users and their permissions is presented in the Permissions area.
1. From the Collaborate menu, select Users. The Edit Users dialog opens.
2. In the Users area, select a user that permissions you want to edit.
3. Select the check box to give or clear it to remove the selected permission in the Permissions
area.
1. From the Collaborate menu, select Projects. The Edit Projects dialog opens.
2. If you do not see the unassigned users list, click More. The list of available users is displayed in
the Available Users area.
3. Select the user you want to assign to the selected project.
4. Click the << button to move the selected user to the Assigned Users list.
5. Click OK when you are done.
When a user is added to a project, default user rights are created, allowing the user to access
the project according to the assigned rights.
You can also start the Administrator’s Console from the client side. The
teamwork_administrator.exe file is located in <MagicDraw installation directory>\collaboration.
5.6.1 Content
s
The Administrator’s Console dialog is constructed of six tabs: Active Users, Projects, Log File, Properties,
Repository, and LDAP Integration. All these tabs are described in the following sections.
Related Pages:
To synchronize projects on the current server with data from a selected location
1. Click the Synchronize from Native Repository button. The Select Native Repository dialog
opens.
2. Select the directory where the data to synchronize is stored.
This must be a directory that stores project versions in the Teamwork Server's Native
repository format, such as a directory where you have exported the projects or a
directory on which the server operated in the past.
3. Click Synchronize. The contents of the selected directory are imported into the current server.
After synchronization, the server assumes that the synchronized projects are foreign. These
projects cannot be modified, but you can repeat the synchronization to update them with new
data.
1. Click the Import from Native Repository button. The Projects Import Wizard opens.
2. Select the directory where the projects to import are stored.
This must be a directory that stores project versions in the Teamwork Server's Native
repository format, such as a directory where you have exported the projects or a
directory on which the server operated in the past.
3. Click Next. In the Directory box, type the path to the backup folder to restore files from the
backup made while upgrading the server.
5. The Resolve Naming Conflicts tab appears. The import process will check if the selected
projects/used projects/profiles already exist in the selected destination directory server
(comparison is done by name). There are two ways to resolve naming conflicts:
• Use destination. The used project will not be imported. All other projects/used projects
being imported will be modified to use the existing used project/profile in the current
server.
• Overwrite destination. Import selected profiles or used projects and commit them by
overwriting the existing ones in the current server.
1. Click the Export to Native Repository button. The Project Export Wizard opens.
2. Select projects/used projects/profiles to export from the list, or click on the Select All button to
import all projects/used projects/profiles. Click Next.
3. Select the directory to export the selected project. This can be a new directory or a directory
where the Native repository is stored.
1. Select a project and from the Teamwork Administrative's Console dialog and click Details.
2. The Project dialog opens.
Looging out
Make sure all users are logged out before stopping the server.
If the SSL connection is established in the server side, you should also use the SSL connection
in the client side when connecting to the server.
To use the SSL connection, you need two types of certificates, one for the server and one for the client.
Certificates must be in Java Key Store format.
Locate the client certificate manually. You should create a folder named certs and place into it these two
files:
You can get certificates from your system administrator or generate certificates(see page 71) by
yourself. To work with multiple servers without need to launch different modeling tools, create more
than one public key and import it to the client certificate, named [Link].
To generate certificates
We recommend using the KeyTool IUI application for generating certificates. This is a free tool that can
be downloaded from the Internet.
Do not repeat this step, if you already have the keystore file for the client. Multiple
public keys should be imported to the already existing client file [Link]. Skip this
step and go to the step #3(see page 71)
i. In the Keystore file dialog, set the location of the file and type a file name. In the
next steps, create a new folder certs and save the file named [Link] in it for easier
certificate transfer.
ii. In the Keystore password dialog, type the password for the client keystore file and
click OK.
3. Create a RSA keypair for the server:
79 [Link]
Server users
Make sure all users are logged out before restarting the server.
If you want to change the password for the certificate, you need to regenerate the certificate with a
different password.
Only the administrator can configure Teamwork Server options. The administrator should be
disconnected from Teamwork in MagicDraw while using the Teamwork Administrator’s
Console.
• For more information about repositories, see Teamwork System Design(see page 34).
• Restart the Server to apply changes.
There are two different types of repository to choose from in the Repository type combo box. This
section describes the configuration fields in detail. See Teamwork System Design(see page 34) for general
information.
The Repository tab layout changes with the type of repository selected.
Native Repository
The Native repository type is the simplest one to configure. There is only one editable parameter, the
Repository Location.
SVN Repository
The ability to access the server administrative functions via the command line utility facilitates the
scriptable management of Teamwork Server. This enables automation of routine administrative tasks,
such as permission management. Single commands can be given through the command line utility
parameters. Multiple commands can be given in bulk through the input stream. Command results are
provided through exit status codes, enabling conditional script execution.
cd C:\Downloads\MagicDraw_180_sp2_teamwork_server_no_install\bin
4. At the command line, type the following command:
teamwork_console.exe -u username -p password servername
You are successfully logged into the server and can now perform server administration tasks.
The following table includes the command line utility commands for performing administrative tasks
and their brief descriptions.
Command Description
stperm Sets the specified permission of the specified user on a given project.
clperm Clears the specified permission of the specified user on a given project.
For detailed command descriptions, refer to the help section, printed after typing any of the following
commands at the command line:
• teamwork_console.exe --help
• teamwork_console.exe -h
Any of the commands in the preceding table can be typed at the command line immediately after
the servername parameter.
If your Teamwork Server runs on Linux or another Unix-based operating system, you can avoid
typing a long command every time by using the following command once:
alias tc="./teamwork_console -u username -p password servername"
In the sequel, you can type “tc” instead of “teamwork_console -u username -p password
servername”, for example, “tc lsuser”.
In this case the command line utility connects to the specified server with the given credentials,
performs the commands and exits.
Example:
This is a shell script for creating a project and assigning users to it:
#!/bin/bash
#shorthand
TC='/MagicDraw_TeamworkServer_installation_directory/bin/ teamwork_console -u
Administrator -p Administrator localhost'
#create a blank project in a category, store output in a variable,
#exit on fail
PID=$( $TC mkproj "TestPr" "Training Material and Demos" ) || { echo "Failed to
create project" >&2; exit 1; }
#pump multiple set permission commands into the teamwork console$TC - << EOF
stperm user1 RD $PID
It is possible for the Teamwork Server to import and export projects, triggered from the Administrators
console (read Administrator’s Console Dialog). Import & Export is only possible in the Native repository type
format. The Native repository type is a kind of intermediate form for information interchange.
Note that the terms “import” and “export” are used relatively to the currently running server (the one to
which administrator's console is attached):
• import: importing data into the current server from the designated directory.
• export:exporting data from the current server into the designated directory.
Migrating the server from the Native repository to the SVN repository
Server users
Make sure all users are logged out before restarting the server.
5. The Server starts. The only things in the repository are the profiles needed to work with
MagicDraw.
6. Login again to the Administrator’s Console and trigger the project import. Select the directory
to import from, the same directory where the export was performed.
7. Projects are now in a new SVN repository.
5.10.1 Conten
ts
You can configure the server properties in the teamwork_server.properties and [Link] files
manually.
The procedure is valid for Windows only us other operation systems store configuration files
and projects in the installation directory by default.
Related pages:
6 LDAP Support
6.1 Content
s
LDAP Integration allows Teamwork Server to authenticate its users against LDAP servers. LDAP
Integration enables pass-through MagicDraw authentication against LDAP servers by passing client's
authentication information to LDAP servers.
LDAP Integration supports Simple User+Password and SASL authentication, SSL/TLS protocols, and
several LDAP servers configured for a single integration.
Related Pages:
1. Start Teamwork Administrator's Console. Refer to Starting the Administrator’s Console(see page 62).
2. Click the LDAP Integration tab.
3. Click Enable LDAP Integration. LDAP integration settings become active.
Server Address(es) A list of servers separated by spaces. Each entry holds the server address
and server port. If unspecified, the 389 port is used. At least one server
address must be specified. Usually a master server and its slaves
(replicas) are specified for round-robin authentication.
A single server in the specified list is queried within the period of time
specified in the Server Timeout setting.
Server Timeout A time duration specifying the maximum period of time in milliseconds
to successfully authenticate to a single server. If authentication is
unsuccessful within this period of time, the next server in the server list
is queried. The default value for this option is 500 milliseconds.
Encryption protocol A list of protocols. You can use SSL or TLS protocols for the encryption.
Select None if you do not need to use an encryption protocol. The
selected protocol applies to every server specified in the LDAP server
list. For example, if the SSL encryption is specified, communications to
all servers specified in the Server Address(es) list will be encrypted
using the SSL protocol.
• A hard-coded template is filled in with the user login supplied on logging in to Teamwork Server.
• The user DN is used to login to LDAP server.
Authentication using retrieved user DN occurs in the following order:
1. A query template is filled in with the login name entered by the user.
2. An anonymous bind or specific User DN and password is used to connect to the LDAP server.
3. The LDAP server is queried for the User DN using the query produced in the step #1, Search
Base and Search Scope settings values.
Settings that are active when the Use User DN template is selected
User DN User DN stores a template, used to map the user's authenticating against
Teamwork Server to LDAP distinguished names when authenticating.
The template recognizes a single keyword $(login). An example of the
template:
Settings that are active when the Retrieve User DN by using an LDAP query is selected.
Query The LDAP query for retrieving User DN, for example:
uid=$(login)
dc=example, dc=com
Search Scope Specifies whether the search must be restricted only to the directly-
owned DNs or performed in the whole subtree.
• One level
• Subtree
Anonymous Bind A mode of bind, specifying whether the user connects to LDAP server
with a specific user or anonymously to find the User DN corresponding to
the user trying to log in to Teamwork. You must have this type of user if
you do not have anonymous access.
Bind DN Specific User DN for connecting to the LDAP server and performing
queries. This element is active when Anonymous Bind is not selected.
Bind Password A specific password for connecting to the LDAP server and performing
queries (you must have this type of user if you do not have
anonymous access). This element is active when the Anonymous Bind
is not selected.
Au Login name supplied by the user is transformed to an authentication identity when authenticating. The
th authentication Identity is a mandatory template. The template recognizes a single keyword $(login). An
en example of a template:
tic
ati $(login)
on
Id
en
tit
y
Au Login name supplied by the user is transformed to an authorization identity when authenticating if the
th Authorization Identity template is specified. The template recognizes a single keyword $(login).
ori
za An example of a template:
tio
n $(login)
Id
en or
tit
y $(login)@example
If the Simple User+Password authentication type is enabled (either by using a static User DN template
or by querying the LDAP server(s) for User DN), the User DN is retrieved in the same way. This
connection is further reused for retrieving user information when the user logs in to the LDAP server.
Teamwork Server creates an external user with the login name specified by the user upon
authentication if the user information retrieval is disabled or User DN attributes are not accessible to
the authenticated user.
User DN Attribute-to-Full Name Mapping After a specific User DN is found, the name of a local user created
on the authentication is generated using the Full Name Mapping
template for this User DN. The Full Name Mapping template
supports placeholders in the form of $(attribute),
where attribute is an attribute of DN.
An example:
$(cn) $(sn)
This will form the Name of the created user out of two LDAP
attributes - cn and sn.
Settings that are active when the Use User DN template is selected.
Settings that are active when the Retrieve User DN by using an LDAP query is selected.
sAMAccountName=$(login)
$(login) is a username a user types when connect to a server80
from the modeling tool.
dc=example,dc=com
Search Scope Specifies whether the search must be restricted to the directly
owned DNs only or performed in the whole subtree.
• One level
• Subtree
80 [Link]
1. In the LDAP Integration tab of Teamwork Administrator's Console, click Test Connection. The
Test Connection dialog opens.
2. Type the user's login name, password, and click OK.
3. The message with connection results appears.
When Teamwork is integrated with Subversion only, the client's authentication information is passed to
the Subversion server. When Teamwork Server is integrated with Subversion and LDAP, client's
authentication information is passed to both Subversion server(s) and LDAP server(s), but only
successful authentication to the LDAP server(s) successfully logs the user into Teamwork Server.
• Windows Server Active Directory should have SSL enabled. This includes a valid Certificate
Authority (CA) and a valid certificate for Active Directory (AD) server certificate (for more
information on installing and configuring Certificate Services for Windows Server, see Microsoft
documentation).
• Any SSL-aware LDAP client should be able to connect to your AD server port 636 with SSL
enabled. It should also have access to its contents (for more information on setting SSL-enabled
connections to AD, refer to the specific LDAP client documentation).
1. Export the CA and AD server certificates to the DER encoded [Link] files using the Certificates
Snap-in on the Microsoft Management Console.
• Do not include private keys while exporting.
2. The following steps outline how to import the CA and AD server certificates (.cer files) to Java
KeyStore (.jks file), using the KeyTool IUI:
a. Run the KeyTool IUI.
b. Double-click Create on the tree, and then click Keystore to create a new keystore file.
c. Choose the JKS format and save a new keystore file.
d. Set the password for the keystore.
e. On the tree, double-click Import, Keystore's Entry and Trusted Certificate, and then click
Regular Certificate to import the .cer files into Java KeyStore.
f. Select the created keystore file as the target.
g. Select the exported CA certificate file (.cer) as the source. Enter the keystore password and
click OK. Enter “CAAlias” as the alias for the CA certificate and click OK.
h. Select the exported AD server certificate file (.cer) as the source. Enter the keystore
password and click OK. Enter the full name of the AD server as the alias for the AD
certificate and click OK.
The subsequent steps for the Teamwork Server integration with SSL-enabled Active Directory are the
same as for the integration with any other LDAP server. This procedure is described in Enabling LDAP
Integration(see page 80).
This is not the same as the MagicDraw Teamwork Server user used to check out and
commit UML models from/to the server. Use Teamwork Administrator to manage
Teamwork users.
81 [Link]
a. Type yes and press Enter. You must type the full word “yes," not just “y.”
b. Enter the password you created in step 3.
c. A warning about nonexistent home directory appears. Please ignore it.
d. Now you are logged in into localhost via SSH service and you can see the shell prompt.
e. After the SSH server testing, exit the server by typing exit.
Another way to test if the SSH port (port 22) is opened on the server:
Using any value other than "localhost" or "[Link]" will fail, even if connected to the actual
machine name, resolved by DNS. This is because the tunnel starts on a loopback interface of
your workstation for security reasons.
There can be more than two servers in the pool. Each server can separately synchronize data from
many other servers.
Very often a large company has several different sites, often in different countries, where projects are
developed. Usually, the site has very good internal connectivity - LAN-class speeds (1Gbit/s, or at least
multiMbit/s) are available on the site. However, connectivity between the sites is not as good - WAN-
class speeds (several Mbit/s) are available between sites.
At times, developers at one site are responsible for the development of subsets of projects, while
developers at other sites only need to use (but not modify) the artifacts produced by the first team.
In earlier versions, the company had to choose one site to deploy a single Teamwork Server and set up
remote connections for developers joining the other sites.
The server performance (project open, commit, update, element locking times) for onsite developers
were good. However, offsite developers suffered from degraded performance due to reduced
connectivity parameters. This is especially important when managing large projects.
As of this version, the company can deploy many Teamwork Servers - one per site. Offsite developers
can connect to their local server and work at LAN-speeds. Synchronization between servers can then be
set up.
You can choose the synchronization frequency as necessary - hourly, daily, weekly
You can also set the specific time to perform the synchronization. For example, you may choose to
synchronize at night, when internet traffic is reduced.
With synchronization set up, developers can access the projects of other teams on their local server.
Any action that does not change the project is acceptable. Users can open the remote projects, browse,
search, analyze then, generate reports, and, most importantly, integrate remote projects as used
projects/libraries into their projects.
For example, if a team at one site is responsible for developing a requirements project, the team at
another site can take this requirements project and incorporate it into their implementation project(s)
Please note that if developers at different sites edit the same project, one server will be designated as
the home server of the project. Any developer who needs to edit the project must log onto the home
server of the project to edit it.
There are additional, less frequent scenarios when synchronization between the servers can be handy.
For example, if a small number of developers generate a project set that must be readable by a large
number of users, the company may want to set up a small main development server where developers
will not be affected by network traffic, as well as a large server for handling all read-only traffic (possibly
in a different network security zone, etc.).
The licensing scheme is straightforward. Each Teamwork Server deployment is licensed separately.
Synchronizing multiple sites is NOT counted as one big deployment, but as many separate
deployments. There are no additional charges (such as a separate "enterprise" edition of the server) for
using the synchronization feature.
• Synchronized items are Projects and Categories. The entire project history is synchronized with
all commit data, including all branches and comments. The user's data is NOT synchronized. Each
server has its independent user list, and the administrator of each server assigns permissions to
each server.
• Each project has Server-Affinity, with one writer and (potentially) many readers. Each project has
a home server. Projects can be edited only on the home server. All other servers can only read
this project (open the project, use it as a read-only used project/ library of the other projects and
so on). Having a single writer prevents incompatible modification conflicts between the servers
without introducing any additional burden, such as inter-server locks.
• Synchronization is Incremental. The synchronization process can be run many times. Each
synchronization process updates the target server to the latest data from the source server. The
amount of the data transferred is proportional to any changes since the last synchronization.
• Synchronization is Asynchronous. Servers continue to run asynchronously. Changes on one
server are propagated to other servers only during the synchronization procedure. The
synchronization procedure can be arbitrarily delayed from the moment changes occur (for
example only monthly synchronization).
• Synchronization is Batched; it is not a continuous process. It has clearly defined start and stop
points. However, the frequency of synchronization can be arbitrary (for example every 15
minutes).
• Synchronization is Non-Intrusive. While synchronization is running, users can continue to work
on both the source and the target servers. It is not necessary to restart the target server after
finishing synchronization.
Looging out
Make sure all users are logged out before restarting the server.
• Synchronization is Separate in each Direction. Synchronization between each source and target
server pair is independent of any different server pair. This includes synchronization in the
opposite direction. If server S1 is synchronized from server S2, this does not automatically mean
that S2 is synchronized from S1. Synchronization in the opposite direction can be set up on a
different schedule or disabled.
• Target server is Active. The target server (the one receiving data) drives the synchronization
process. It connects to the source server, determines what updates need to be transferred,
fetches the data and incorporates it into its repository.
• Synchronization is Direct only. Currently, the synchronization procedure can only take projects
directly from their home server. Transferring projects through an intermediate server chain
( server S1'server S2'server S3) is not supported.
• Synchronization can be Partial. The administrators can specify that all the projects of the source
server should be synchronized to the target server OR specify a subset of projects to
synchronize.
8.2.1 Content
s
The synchronization process takes the project history data (including the project and category names,
all the commits, comments, and branches) from the source server and uploads it to the target server.
This process is incremental, so only the changes from the last synchronization are transferred. Target
server users can then access this data in the same manner as local projects of the target. These projects
are listed among other projects, can be opened, or attached as used projects/libraries to other projects.
The only limitation is that they cannot be edited and no further versions can be committed. Projects can
A remote project can be removed from the target server; however, please note that it will reappear
after the next synchronization unless it is also excluded from the synchronized project set of the source
server. The rename operations are handled in the same way; it is possible to rename the remote
project on the server, but the name will be re-synchronized to the name in the source during the next
synchronization.
Synchronization can be a long-running process, but it is not intrusive. The end users of the source and
target servers do not feel its effects (no need to stop or restart servers during or after synchronization)
except possibly some slight performance degradation.
The results of the pending synchronization appear on the target server gradually during
synchronization. It is possible to see a particular remote project having 100 versions, then 110 after
some time and 117 after synchronization is complete. However, this should not cause problems for
clients on the target; partial version data will never be offered. For example, when there are 116
versions of a remote project declared, but the 116th version is only half-way downloaded, the 116th
version will not be exposed.
Related Pages:
During synchronization, the administrator (optionally) provides the prefix string and synchronization
process modifying the names of the categories coming from the remote server. When synchronizing
from multiple source servers, each different source can have a different prefix.
For example, in the target server of a GB site, projects coming from the server of the American site can
have the “USA_” prefix added to their category names, and projects of the German site can have “DE_”
prefix. If there are projects under the category “Requirements” on the German site, these projects will
be located under “DE_Requirements” on the GB site.
The target server specifies the user/password of the source server when the target server initiates the
synchronization process. The synchronization process then takes all accessible projects from the source
server. The source server administrator can control which projects are accessible by managing user
It is highly advisable to create a special dedicated user on the source server for synchronization
purposes and not reuse the real existing user accounts. Only read permissions should be given
to this account.
Note that different synchronized project sets can be specified on the source for each different target.
Just use different users for each target and define the project set as described above.
• Create project/category
• Edit project properties
• Rename category
It is not enough to have project-specific permissions.
The synchronization process does not and cannot automatically delete these unavailable remote
projects from the target server, because other local projects may still be using this remote project. The
missing remote project is not deleted from the target server but moved into a special category - ATTIC.
The target server administrator should inspect this category from time to time. If there are any projects,
the target server administrator should inspect whether they are used in the local projects, perhaps
using the Project Usage Map.
For more information, read Project Usage Map(see page 101) for removing unnecessary projects.
8.3.1 Content
s
The synchronization procedure can be started in two different ways: 1) using a build in the scheduler in
the Teamwork; and 2) using the command line utility. As stated earlier, the synchronization procedure
must be triggered separately for each synchronization direction in bi-directional setup. The
synchronization target server (the server receiving the data) is the active server, the one driving the
synchronization process. When started, the synchronization process runs until completion or until an
unrecoverable error appears (such as network problems) or until interrupted by the user (when using
command line utility). You can monitor the synchronization progress and outcome in the server log.
Related Pages:
The tasks are specified by *.properties files located in the schedule subdirectory in the Teamwork
Server install directory. Each *.properties file describes one task to be run at the defined period(s).
There is an example file ([Link]) which can be examined and copied/
renamed to produce the synchronization task(s). For example, you can create two files
(syncDE_GB.properties and syncDE_US.properties) to describe two synchronizations, one for
synchronization from a remote server on the GB site and another for synchronization from the remote
server on the US site.
Teamwork Server constantly monitors the schedule subdirectory for any changes in the *.properties
files. Any changes take effect immediately. All other files with different endings, such as the
[Link] outlined above, are ignored.
The utility is located in the bin subdirectory of the Teamwork Server installation directory. The utility is
called [Link] for Windows deployments and synchronize for Unix deployments. The utility has
an accompanying [Link] file.
A utility exists when the synchronization process is complete. It provides the exit codes (0 if
synchronization is successful and >0 if errors are found). The exit code can then be used for shell
scripting purposes (such as restarting synchronization in case of failure, etc.).
Please note that since the synchronization procedure is running on the server, exiting (or crashing or
killing), the utility will not stop the synchronization process on the server. However, the utility does
accept the Ctrl+C keyboard signal and stops the synchronization process on the server cleanly.
The utility takes 6 or 7 parameters. The last one, prefix, is optional. Parameters are mostly the same as
the scheduled job, but there are additional parameters for specifying the target server to connect to
(since the connection layout is now utility =>target server =>source server).
synchronize (-h|--help)
A help message.
<prefix>
Options:
-h, --help
This help message.
-q, --quiet
Quiet synchronization. No information is displayed on the system output stream during
synchronization. Errors are still reported on the system error stream.
--ssl
Implies --targetssl and --sourcessl.
--targetssl
--sourcessl
Use SSL connection between target server and source.
Example
If necessary, you can make copies of the utility with the pre-defined parameters. To do that, you can
copy the [Link] and [Link] to files with different names and modify the
APP_ARGS parameter inside the copied *.properties file - specifying the necessary arguments.
For example, you can copy [Link] to synchronizeDE_GB.exe and copy [Link]
to synchronizeDE_GB.properties. Inside the synchronizeDE_GB.properties, you can specify DE and GB
server parameters in the APP_ARGS line the same way you would specify parameters on the command
line. After this you get a single executable (with all parameters pre-specified), that can be run with one
click.
MagicDraw Teamwork Server 18.1 supports transferring project data from one Teamwork Server to
another using any external storage device, such as a CD, DVD, hard disc, or flash memory device. The
updated version of the shared project can be transferred back to the sharing server and smoothly
merged with the original project version. Furthermore, the same project version can be given to several
contributors simultaneously, and their contributions to the model can be successfully merged as well.
To manage the data transfer between isolated servers, utilize the functionality of the Projects tab in the
Teamwork Administrator's Console.
Here is the workflow for interchanging projects between two isolated servers:
If you need to update the projects on the contributing server with new data from the sharing server, repeat steps
1 to 5.
If you need to modify these projects on the contributing server and transfer the changes to the sharing server,
perform steps 6 to 12.
If you need to update the projects on the sharing server with new data from the contributing server, repeat steps
8 to 12.
82 [Link]
83 [Link]
api=v2&modificationDate=1504095866583&version=1