1. On the Destination Endpoint Type menu, select the type of datastore on the endpoint server. In this example, select the option for Custom.
  2. Enter a name for the Destination Endpoint and a name for the Sync Destination.
  3. On the Notifications Setup menu, select the language (Java or Groovy) used to write the server extension.
  4. Enter the fully qualified name of the Server SDK extension that implements the abstract class. A Java, extension should reside in the /lib/extensions directory. A Groovy script should reside in the /lib/groovy-scripted-extensions directory.
  5. Configure any user-defined arguments needed by the server extension. Typically, these are connection arguments, which are defined by the extension itself. The values are then entered here and stored in the server configuration.
  6. Configure the maximum number of before and after values for all changed attributes. Notification mode requires this. Set the cap to something well above the maximum number of values that any synchronized attribute will have. If this cap is exceeded, PingDirectory Server issues an alert. For this example, we accept the default value of 200.
    Enter a value for the max changelog before/after values,
    or -1 for no limit [200]:
  7. Configure any key attributes in the change log that must be included in every notification. These attributes can be used to find the destination entry corresponding to the source entry, and are present regardless of whether the attributes changed. Later, any attributes used in a Sync Class include-filter must also be configured as key attributes in the Sync Class.
  8. In both standard and notification modes, the Sync Pipe processes the changes concurrently with multiple threads. If changes must be applied strictly in order, the number of Sync Pipe worker threads will be reduced to 1. This will limit the maximum throughput of the Sync Pipe.
The rest of the configuration steps follow the same process as a standard synchronization mode Sync Pipe. See The Sync User account for more information.