The ability to synchronize data between several Teamwork Servers is available as of version 17.0.3. One Teamwork Server can now expose and make projects from different servers accessible, along with owned projects. Server users can access remote projects from different locations in read-only mode and can perform any read-only actions.

There can be more than two servers in the pool. Each server can separately synchronize data from many other servers.

Usage Scenarios, Multisite Deployment

The main usage scenario for the inter-server synchronization capability is a multisite Teamwork Server deployment.

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.

Characteristics

The synchronization process characteristics are: