The Metadirectory engine synchronizes objects or merges them in the following circumstances:
When a <sync> event element is submitted on the Subscriber or Publisher channel.
When a <sync> event element is submitted on the Subscriber channel in the following circumstances:
The state of the object’s association value is set to “manual” or “migrate.” (This causes an eDirectory™ event, which in turn causes the Identity Manager caching system to queue an object synchronization command in the affected driver’s cache.)
An object synchronization command is read from the driver’s cache.
When a <sync> event element is submitted on the Publisher channel in the following circumstances:
A driver submits a <sync> event element. No known driver currently does this.
The Metadirectory engine submits a <sync> event element for each object found as the result of a migrate-into-NDS query. The engine submits these <sync> events by using the Subscriber thread, but processes them by using the Publisher channel filter and policies.
When an <add> event (real or synthetic) is submitted on a channel, and the channel Matching policy finds a matching object in the target system.
When an <add> event with an association is submitted on the Subscriber channel. This normally occurs only in exceptional cases, such as the bulk load of objects into eDirectory with DirXML-Associations attribute values.
When an <add> event is submitted on the Publisher channel, and an object is found in eDirectory that already has the association value reported with the <add> event.
The Metadirectory engine generates synchronization requests for zero or more objects in the following cases:
The user issues a manual driver synchronization request. This corresponds to the
button in the Driver Set property page in ConsoleOne®, or to the button on the iManager Identity Manager Driver Overview page.The Metadirectory engine encounters an error with the driver’s cache and cannot recover from the cache error. The driver’s cache is deleted, and the engine generates object synchronization commands as explained in How Does the Metadirectory Engine Decide Which Object to Synchronize?.