Notes-Datenbanken: Doppeltes Öffnen von Dokumenten verhindern, um Replikationsfehler zu vermeiden

von Raimo, assono GmbH, Standort Kiel, 29.09.2017

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:

Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
		
Set collection = Source.Documents
Set doc = collection.GetFirstDocument
		
If Not doc Is Nothing Then
	If doc.IsUIDocOpen Then
		MessageBox "Das Dokument wurde bereits von Ihnen geöffnet.", 64, "Dokument bereits geöffnet"
		Continue = False			
	End If
End If

Im IBM Domino Designer sieht das Ganze dann so aus:

Doppeltes Öffnen von Dokumenten verhinden, um Replikationsfehler zu vermeiden
Doppeltes Öffnen von Dokumenten verhinden, um Replikationsfehler zu vermeiden

In diesem Zusammenhang sei auch die Möglichkeit erwähnt, die View-Events von Ansichten in Skriptbibliotheken auszulagern, um hier die Vorteile der objektorientierten Programmierung zu nutzen. Der Code wird so viel übersichtlicher und wartbarer.

Sprechen Sie uns gerne an, wenn Sie hierzu weitere Details wissen möchten.

Nächste Artikel in dieser Reihe:

Fachbeitrag Entwicklung HCL Notes Für Entwickler

Sie haben Fragen zu diesem Artikel? Kontaktieren Sie uns gerne: blog@assono.de

Sie haben Interesse an diesem Thema?

Gerne bieten wir Ihnen eine individuelle Beratung oder einen Workshop an.

Kontaktieren Sie uns

Weitere interessante Artikel