Domino-Replikation mit Feldschutz
Die Auswahl der Dokumente, die repliziert werden sollen, ist häufig nur die halbe Aufgabe. Manchmal soll ein Dokument zwar in die Zieldatenbank gelangen – aber nicht jedes darin enthaltene Feld.
Das wird besonders dann relevant, wenn eine interne Domino-Datenbank als Master für eine reduzierte oder öffentliche Variante derselben Informationen verwendet wird. Interne Metadaten, administrative Informationen oder verschlüsselte Felder können in der Quelldatenbank benötigt werden, sollen jedoch niemals Bestandteil der Zieldatenbank werden.
Manchmal reicht es nicht, nur die richtigen Dokumente auszuwählen
Im vorherigen Replikationsbeispiel wurde über eine Formel gesteuert, welche Dokumente an einer Domino-Replikation teilnehmen. Damit lässt sich bereits ein wichtiges Problem lösen: Nicht jedes Dokument der Quelldatenbank gehört zwangsläufig in die Zieldatenbank.
Aber selbst ein Dokument, das repliziert werden soll, kann Informationen enthalten, die ausschließlich auf einer Seite benötigt werden.
Welche Dokumente?
Eine Replikationsformel bestimmt, welche Dokumente für den Replikationsvorgang relevant sind.
- öffentliche gegenüber internen Dokumenten
- statusabhängige Selektionen
- Dokumenttypen oder Kategorien
- anwendungsspezifische Auswahlregeln
Welche Felder?
Der Feldschutz bestimmt, welche Werte lokal in einer Datenbank erhalten bleiben und nicht durch Werte aus der jeweils anderen Datenbank überschrieben werden dürfen.
- interne Metadaten
- administrative Felder
- lokale Workflow-Informationen
- verschlüsselte interne Felder
Ein interner Master – eine reduzierte öffentliche Help-Datenbank
Ein praktisches Beispiel dafür ist unsere eigene Help-Umgebung der Domino API Engine.
Die öffentliche Help-Datenbank wird aus einer internen Help-Datenbank abgeleitet, die als zentrale Datenquelle dient. Die interne Datenbank enthält zusätzliche Informationen für Entwicklung, Pflege und interne Verarbeitung, die nicht für die Veröffentlichung bestimmt sind.
Zwei vollständig voneinander unabhängige Help-Datenbestände zu pflegen, würde unnötige Redundanz erzeugen und die Synchronisation der Inhalte deutlich erschweren.
Geschützte Felder bleiben lokal in ihrer Datenbank
Der Feldschutz kann für beide an der Replikation beteiligten Datenbanken unabhängig voneinander definiert werden.
Ein für Datenbank 1 geschütztes Feld wird nicht durch ein gleichnamiges Feld aus Datenbank 2 überschrieben. Dasselbe Prinzip gilt in umgekehrter Richtung für Felder, die in Datenbank 2 geschützt wurden.
Die für Datenbank 1 angegebenen Felder behalten ihre lokalen Werte. Werte gleichnamiger Felder aus Datenbank 2 werden während der Replikation nicht übernommen.
Die für Datenbank 2 angegebenen Felder behalten ebenfalls ihre lokalen Werte. Entsprechende Werte aus Datenbank 1 werden nicht in diese Felder übertragen.
Auswahl, Schutz und Replikation in einem Schritt
Der Vorteil dieses Ansatzes besteht darin, dass Dokumente nicht zunächst repliziert und unerwünschte Informationen anschließend wieder aus der Zieldatenbank entfernt werden müssen.
Replikationsformel, Replikationsrechte und Feldschutzregeln werden unmittelbar während des kontrollierten Replikationsvorgangs angewendet.
Nicht übertragen, was die Zieldatenbank nicht benötigt
Feldschutz ist nicht nur sinnvoll, um die Größe einer Datenbank zu reduzieren. Er kann gleichzeitig Bestandteil einer gezielten Datenminimierungsstrategie sein.
Werden interne Informationen in einer öffentlichen, externen oder anderweitig reduzierten Zieldatenbank nicht benötigt, besteht häufig wenig Nutzen darin, sie zunächst dorthin zu übertragen und anschließend über weitere Mechanismen zu verbergen.
Dasselbe Muster funktioniert in vielen Domino-Szenarien
Eine interne und eine öffentliche Help-Datenbank sind nur ein Beispiel. Dasselbe Prinzip kann immer dann sinnvoll sein, wenn zwei Domino-Datenbanken einen Teil ihrer Informationen gemeinsam nutzen, andere Daten jedoch voneinander getrennt bleiben sollen.
Feldgeschützte Replikation mit den Testdatenbanken ausprobieren
Die tatsächliche interne Help-Datenbank ist selbstverständlich nicht Bestandteil des Evaluation-Pakets. Stattdessen werden die bereits vorhandenen Testdatenbanken der Domino API Engine verwendet, um dasselbe Prinzip mit künstlichen Daten nachvollziehbar zu demonstrieren.
Die Testdokumente enthalten normale Felder, die an der Replikation teilnehmen, sowie zusätzliche Felder, die interne Informationen repräsentieren. Ausgewählte Felder werden während der Replikation geschützt, sodass die resultierenden Dokumente in der Zieldatenbank nur die dafür vorgesehenen Informationen enthalten.
- die mitgelieferten Domino-Testdatenbanken öffnen
- über eine Formel die zu replizierenden Dokumente auswählen
- die Replikationsrechte für beide Datenbanken definieren
- Felder festlegen, die jeweils lokal erhalten bleiben sollen
- die kontrollierte Replikation in einem einzigen Vorgang ausführen
- die resultierenden Dokumente in beiden Datenbanken vergleichen
- die zurückgegebenen Replikations- und Fehlerstatistiken auswerten
