Symphony Synchronization Server
The Symphony Synchronization Server provides a means by which team members can all work on the same project at the same time. The key benefit is an overall compression of the duration required for coding. The creator of a project decides whether to share the project, and with whom it will be shared. Once shared, team members can download a copy and begin work. Team members make changes to their local copy, and then periodically synchronize with the server. When you synchronize, you send the changes you’ve made to the server. The server integrates the changes into the master copy of the project on the server, and sends back an updated copy of the project to you, overwriting your local copy. The updated copy includes your changes plus any changes that other team members have made up to the time they last synchronized.

Registering With a Symphony Synchronization Server

If you have access to a Symphony Synchronization Server, registration will happen automatically. In this case, a "Server" option will be available from Symphony's main menu. You can test your connection by going to Server/Ping. If Symphony is able to contact the server, you will receive a message back indicating that it was successful.

How to Share a Project

When you share a project, you register your project on a Symphony Synchronization Server. Sharing a project only registers the project on the server; nobody can gain access to it until you give them access in How to Give Team Members Access to Your Shared Project.
  1. With the project open in Symphony, go to Server/Share Project. The Share Project form will open.
  2. Choose whether you want to require reservations. (For an explanation, see Working Effectively as a Team below.) You can always change this setting later. For small teams, it is usually best not to require reservations.
  3. Click OK. The server will be contact, your project will be placed on the server, and you will be notified that the project is now shared. Now you are ready to give project members access to your project.

How to Give Team Members Access to Your Shared Project

  1. With your project open in Symphony, right-click on the Project Members node in the left panel of Standard view (the default view when Symphony is launched) and choose New. The list of available team members will open.
  2. Locate and highlight the team member you want to add, then click OK. If the team member doesn't appear in the list, click the Refresh button. If the team member still does not appear, it means they have not registered with the server, in which case you will have to try again after they have registered. (Note: this form includes an option for creating new project members. It is important that you do NOT use this feature. To give a project member access to a shared project, they must be added through the profile that was created for them on the server.)
  3. Synchronize the project. The project will be updated on the server and the team member you added will be notified via email with instructions on accessing the project.

How to Synchronize a Project

There are two ways:
  • Double-click the Server Status Indicator in the lower-right corner of Symphony++
  • or go to Server/Synchronize.
During synchronization, your changes (if any) are sent to the server and you receive back a new copy of the project. The new copy is saved over the one you have open at the time, and is opened in Symphony. This means there is no need to separately download another copy of the project, or to manually open the project; the one that is open in Symphony after synchronization is the new copy received from the server.

Server Status Indicator

When you have a shared project open, Symphony displays a color-coded status indicator in the lower-right corner. The indicators are as follows:

  last time Symphony checked to see whether the project has been updated, it was not able to reach the server.

  Symphony contacted the server and no team members have made changes since the last time you downloaded or synchronized.

  the project on the server has changes that were made by other team members. Synchronizing will give you the benefit of their updates.

Working Effectively as a Team

Symphony provides two ways of working with shared projects: with reservations and without reservations. This decision is made at the time the project owner shares the project, but it can be changed at any time thereafter. As a general rule it is best not to require reservations unless inefficient communication between project members makes it necessary.

Reservations Required

With reservations means that in order to make changes to content, you have to reserve it first. For example, if you reserve the comments for a particular respondent, no other team member can modify the text or the coding of those comments until you release your reservation. The benefit of this approach is that you avoid the situation of two people making changes to the same thing. The downside is that you have to wait for a reservation to be available on content before you can reserve it. Due to the communication complexities on projects, this might be preferred. However, with smaller project teams, this extra overhead can take away from the benefits of the shared project, in that you are denied the ability to update content that another project member has reserved even if they aren't making changes to it.

Reservations Not Required

The other approach – no reservations – means that anyone can make changes to anything at any time. For this to work, it requires decent communication among project members. For example, if one person is going to be coding the comments for a particular respondent, this should be communicated to other team members so that they don’t code it as well. (If two team members make conflicting changes, only the changes made by the last one to synchronize are kept.) it is important therefore that everyone understand what their roles are, and that their duties do not overlap. Symphony is very good about resolving changes, but is limited. For example, one team member can code a comment and another team member can edit the text of that same comment, and both changes will be kept. This fine grained approach provides considerable latitude to allocate the work without constraining the order or timing of changes by each of the team members. It is preferred that as a team you manage your work allocation and choose not to require reservations. This provides the optimum freedom. However, if you anticipate difficulties in communication, you may want to go with reservations.

Here are some guidelines when working on projects that do not require reservations:

  • You can always add new content (codes and comments).
  • You can code comments while another team member edits the text of the very same comments.
  • You can change the order of codes and comments, but if another project member makes changes to the content or order of the content within the same code, it may or may not have an effect on the ordering that you established. (Logically, it has to be this way if for no other reason than if you add or remove content, the range of items making up the order is now different and therefore cannot be the same.)
  • Deleting content – particularly comments – is particularly challenging without negatively affecting other team members. It is best to avoid deleting comments altogether, until a time at which you can perform general maintenance on the project. If you do need to delete comments sooner however, go ahead, but advise team members that they should synchronize soon. This way you will know whether it affected them, and the issue can be resolved in minutes.
  • It is best to synchronize often when your project is active. Daily or even every few hours is a good idea.
  • By default, Symphony checks for updates every 10 minutes. You can change this by going to Tools/Configuration/Server and change the frequency with which Symphony polls the server.