Replikation und Synchronisation sind wichtige Funktionen in Notes-Datenbanken. Im Rahmen eines unserer Projekte ist nun aufgefallen, dass in einer Notes-Anwendung Replikationskonflikte aufgetreten sind. Die Ursache fand man darin, dass Dokumente zeitgleich doppelt geöffnet und bearbeitet wurden. Auf diese Weise kam es zu Versionskonflikten.
Dieses Verhalten gilt standardmäßig in allen Notes-Datenbanken. Wenn ein bereits geöffnetes Dokument in einer Ansicht markiert ist und direkt in den Bearbeitungs-Modus gesetzt wird (z.B. durch das Tastaturkürzel "STRG + B"), so wird es erneut in einem weiteren Tab/Fenster geöffnet. Ein Anwender kann nun also mehrfach dasselbe Dokumente bearbeiten und würde beim Speichern einen solchen Replikationskonflikt verursachen. Beim Öffnen des Dokumentes im Lese-Modus (z.B. durch Doppelklick in einer Ansicht) tritt dieses Verhalten übrigens nicht auf.
Um diese Problematik zu unterbinden, bietet sich folgende Lösung an, die über ein View-Event funktioniert:
Es wird im "Queryopencocument"-View-Event jeder Ansicht (aus der heraus sich das Dokument öffnen lässt) folgender Code eingefügt: