Selective Domino Replication with Field Protection
Selecting which documents should be replicated is often only half of the problem. Sometimes the destination needs a document — but not every field contained in it.
This becomes particularly relevant when an internal Domino database is used as the master for a reduced or public version of the same information. Internal metadata, administrative information or encrypted fields may be required in the source database, while they should never become part of the target database.
Sometimes Selecting the Right Documents Is Not Enough
In the previous replication example, a formula was used to control which documents participate in a Domino replication process. That solves an important problem: not every document in a source database necessarily belongs in the target database.
But even a document that should be replicated can contain information that belongs exclusively to one side.
Which documents?
A replication formula determines which documents are relevant for the replication process.
- public vs. internal documents
- status-based selections
- document types or categories
- application-specific selection rules
Which fields?
Field protection determines which values must remain local to one database and must not be overwritten by values from the other database.
- internal metadata
- administrative fields
- local workflow information
- encrypted internal fields
One Internal Master — One Reduced Public Help Database
A practical example is our own Domino API Engine Help environment.
The public Help database is derived from an internal Help database that acts as the master data source. The internal database contains additional information required for development, maintenance and internal processing that is not intended for publication.
Maintaining two independent sets of Help documents would create unnecessary duplication and make it much harder to keep the content synchronized.
Protected Fields Remain Local to Their Database
Field protection can be defined independently for both databases participating in the replication.
A field protected in database 1 is not overwritten by a field of the same name coming from database 2. The same principle applies in the opposite direction for fields protected in database 2.
Fields listed for database 1 retain their local values. Values of fields with the same names from database 2 are not copied over them during replication.
Fields listed for database 2 retain their local values. Corresponding values from database 1 are not transferred into those fields.
Selection, Protection and Replication in One Step
The useful part of this approach is that the application does not need to replicate documents first and clean up unwanted information afterwards.
The replication formula, replication rights and field-protection rules are applied directly as part of the controlled replication process.
Do Not Transfer What the Target Does Not Need
Field protection is useful for more than reducing database size. It can also become part of a deliberate data-minimization strategy.
If internal information is not required in a public, external or otherwise reduced target database, there is often little benefit in transferring it and then relying on additional mechanisms to conceal it.
The Same Pattern Applies to Many Domino Scenarios
An internal and public Help database is only one example. The same pattern can be useful whenever two Domino databases share part of their information but must keep other data separate.
Try Field-Protected Replication with the Test Databases
The real internal Help database is, of course, not part of the evaluation package. Instead, the existing Domino API Engine test databases are used to demonstrate the same principle with artificial data.
The test documents contain normal fields that participate in replication together with additional fields representing internal information. Selected fields are then protected during replication so that the resulting target documents contain only the intended information.
- open the supplied Domino test databases
- use a formula to select the documents that should participate
- define the replication rights for both databases
- define fields that must remain local to either database
- execute the controlled replication in a single operation
- compare the resulting documents in both databases
- inspect the returned replication and error statistics
