PingDirectory

Changelog synchronization considerations

If the Sync Source is configured with use-changelog-batch-request=true, PingDataSync will use the get changelog batch request to retrieve changes from the changelog. This extended request can contain an optional set of selection criteria, which specifies changelog entries for a specific set of attributes.

PingDataSync takes the union of the source attributes from PingDataSync mappings, attribute mappings, and the auto-mapped-source-attributes property on the Sync Class to create the selection criteria. However, if it encounters the value "-all-" in the auto-mapped-source-attributes property, it cannot make use of selection criteria because the Sync Pipe is interested in all possible source attributes.

When the PingDirectory server receives a get changelog request that contains selection criteria, it returns changelog entries for one or more of the attributes that meet the criteria.

  • For ADD and MODIFY changelog entries, the changes must include at least one attribute from the selection criteria.

  • For MODDN changelog entries, one of the RDN attributes must match the selection criteria.

  • For DELETE changelog entries, one of the deletedEntryAttrs much match the selection criteria.

If auto-mapped is not set to all source attributes, at least one should be configured to show up in the deletedEntryAttrs (with the changelog-deleted-entry-include-attribute property on the changelog backend).

Another way to do this is to set use-reversible-form to true on the changelog backend. This includes all attributes in the deletedEntryAttrs.