Aid resolving the conflict
List Fields has two small tools to aid you when resolving replication- or save conflicts. Right-click on the document-column headers (the column headers with the names Document 01 (Winner), Document 02 (Looser) etc.)to see the document context menu:
The menu items are:
- Show this document in Notes. By selecting this menu item you will launch the currently selected document in Lotus Notes. The idea is that you might operate List Fields from a special view (read more about such views in Replication Conflicts) showing only the conflict-documents and not the complete conflict-hierarchy. It can sometimes be handy to see the original document before acting on it!
- Set this document as "Replication- or Save conflict" winner. By selecting this menu item, you will force this document to be the winner of the conflict. All other participating conflict-documents may be deleted. As for any other changes in List Fields, several change log entries will be created, and no actual conflict resolving will be processed until you explicitly confirm List Fields to do so.
Below you see a screenshot of the change log after this menu item has been selected:
Note that List Fields split the conflict resolving into several entries, so you freely can choose exactly what to do.
Remember that List Fields will back up the original documents before any changes are processed.
How to avoid replication or save conflicts
Replication or Save conflicts occur when the same document has been edited multiple places at the same time.
Avoiding replication or save conflicts can be a daunting task, due to the disconnected nature of Notes databases. We divide the task of avoiding such conflicts in two:
- If a database is placed only on one server, and all users access the database via the network, you can implement a document locking logic. If a document is about to be opened for editing, the locking logic will first check if the document already has been locked (ie. someone else is editing the document right now). If the locking logic determine that the document isn't locked, it will allow the current user to open the document in edit mode. At the same time the locking logic activates a lock on the document, for the current user. This lock will prevent any other user from editing the document now. If they tried, they would be informed that the document is currently being edited by the current user.
When the current user is finished editing the document, and close the document, the current document lock will be removed, and thus allowing anyone else to edit the document again.
This logic works fine as long as everybody is working on the exact same database, and you will avoid Save conflicts, since nobody can save the same document at the same time.
- If the database is replicated, either to users local workstation or to other servers, the locking logic above wouldn't work. The replica copies of the database is not aware of each other, and they may not even be on-line. If a user or server edit the same document now, a replication conflict would be the result.
Basically it's hard to avoid replication conflicts if too many people or servers has access to the document. One possible way to control this scenario is to have different Readers- and Authors access to the documents, and ensure that the ACL is held consistent on the replica copies. The idea is to keep the number of potential simultaneous authors to a document to a minimum.
Technically the database designer can also help avoiding replication conflicts:
- If the designer enable Conflict Action on the Form Properties, as below:
By default this property isn't set. In Notes 6 you have several options on how to react if a conflict occur.
Remember what merging conflicts do; Domino will only resolve conflicts automatically if the differences are in different fields.
- The designer can enable versioning so that each document save create a new version.
None of the techniques above will eradicate the probability for replication conflicts completely. The designer therefore has to balance the features available with the probability of conflicts.