Document Synchronization in Online Projects
This page explains all you need to know about document synchronization: How memoQ TMS and memoQ synchronize documents between the server's master copy and the checked-out copy of the memoQ client, what are conflicts, and how to resolve them.
What is document synchronization?
When you work on a document in an online project, others can also work on the same document at the same time. This means that someone else can change a document that you have in a local copy on your computer. However, changes made by one user aren't instantly visible to other users.
Each user's copy of the document can, at least temporarily, be different, not just from each other but also from the "central copy" stored on the memoQ. The synchronization brings the user's local copy in sync with the central copy on the server.
How does it work?
User sends the locally changed rows to the server.
memoQ TMS saves the changes to the central copy and resolves any conflicts. memoQ TMS follows specific rules to decide which user's changes are saved to the central copy and sent to other users the next time they synchronize.
When synchronizing, the user receives the modifications made by other users since the last synchronization.
There are two types of synchronization you can perform:
Quick synchronization is designed to be fast enough not to be noticed by the user. It is also performed in the background, so you can't see its progress bar.
Handles only the rows of the document and makes no attempt to synchronize any project resources, user assignment changes, non-row content of the document, or content of any other unrelated document.
Accumulates all the changes in memoQ by flagging changed rows. When a row is modified locally, it is marked for the next synchronization. Changes that are usually marked for synchronization:
editing the source segment
editing the target segment
changing the row's metadata
adding, changing, or removing highlights or LQA errors
adding, changing, or deleting row-level comments
ignoring or restoring a warning
Saves all the changes to the server immediately after leaving the row.
Is limited to uploading a fixed amount of user's changes (max. 100 rows) from the PC to the server's central copy and downloading a limited volume of changes made by other users.
Quick synchronization can also be enabled or disabled manually at any time using the Synchronize button on the toolbar.
If the Auto Save on Server option is not used, changes made by the user are accumulated until they manually synchronize.
When your network connection appears to be slow during automatic synchronization, it can also slow down memoQ. In such a case, you can switch off automatic synchronization and work in offline mode. Your changes will be synchronized when you close the project or synchronize manually.
Full synchronization allows simultaneous synchronization of all elements, such as the project's heavy resources, new documents, content, user assignment, and other meta information. It is a longer process with a visible percentage progress bar showing synchronization step by step.
During full synchronization, memoQ and memoQ TMS exchange information about every document row to detect splits and joins, so the amount of time required for full synchronization depends on the number of rows in the document.
In addition, full synchronization may change other resources or update the document list (download additional documents or delete some locally) if the project manager changes the document assignments for a specific user.
Full synchronization takes place when:
User manually synchronizes or chooses Yes when memoQ asks them to synchronize when opening or closing a project's local copy.
Auto Save on Server is enabled, but the user changed more than 100 rows locally by, for example, pre-translating rows or clearing all translations.
While performing the synchronization, the user has split or joined segments, or other users have split or joined segments since the last synchronization by this user.
User does something that should typically lead to quick synchronization, but:
full synchronization hasn’t been performed for at least 6 hours.
the list of documents or the slicing of a document assigned to the user has changed.
Each row you are working on contains a date and a timestamp (always filled in by the server) showing when it was last modified. When many users modify the same part of the document, it can lead to different timestamp values for the same row. During the synchronization process, memoQ uploads all changes to the server (the entire row, including the timestamp value). If the timestamp value for a specific row is smaller than the one on the server, a conflict occurs.
Possible conflict scenario:
memoQ client downloaded a selected row from the server, with a timestamp value of "0". At the same time, another user made some changes to the same row (added a new translation), so memoQ is now sending it back in the current synchronization package. Part of the content in this package has changed, but the timestamp that memoQ sends with the row is still "0" because only the server can change the timestamp.
While the synchronization package is being sent, another user made changes to the same row (edited translation), so the timestamp value on the server is now "1". This causes a conflict.
The server will resolve this conflict by deciding whose change should be kept and propagated. In the end, the server updates the timestamp value to "2" and returns the changed rows. When memoQ apps download changes from the server, the information downloaded with each row always contains the new timestamps saved by the client. memoQ does not change the timestamp; it just keeps the server's values.
How memoQ TMS resolves conflicts?
memoQ TMS uses this order to decide which changes to keep and propagate:
Splitting/joining wins over editing a row among the split/joined rows.
Edits made by the project manager always win.
Edits made by Reviewer 2 wins over Reviewer 1 and Translator.
When there is a conflict, but the changes by the two users affect different parts of the row, memoQ TMS will merge them: For example, use the translation made by user A and the comment added by user B. Changes that can be merged include comments, warnings, and their ignored states, as well as highlights.
You can resolve conflicts manually, too.
Open the Review changes and conflicts tab, and look at all changes and conflicts at once: Click Open Resolve changes and conflicts. memoQ opens the Review changes and conflicts tab, but only for the current document.
Clear all change marks in the document: memoQ will remove all change marks and leave the translations as they are. To do this, click Clear all change marks from the document.