A push read step references a step definition to be run to continue to read data for the target object collection. This is a continuation of the synchronization process begun by the retrieval steps for the push. A push read step can be executed once or iteratively based on the number of objects and number of users logged in to receive push data. A push read step is only run if the retrieval steps indicate their are objects to be retrieved.
The execution of the read step can be based on the number of objects created by the retrieval steps, the number of objects in a nested collection created by previous retrieval or read steps, or based on the number of users currently connected to receive push data.
When run once per user, the step will have access to individual user ID’s via the SDML data tag <<user.agentryID>>. Also, any values stored in the <<user.info>> data tag are still available. When run in this manner it is important to note that the step will be executed once for each user during each poll period when the retrieval steps indicate there is data to be synchronized. For production systems it is not uncommon for the number of users connected for push data to be in the hundreds or more.
When run once per object, the read step will be executed for each object instance for the collection targeted by the push created by any other push steps prior to the current step’s execution. When run in this manner the step will have access to the key property of the object for which it is currently executing.
When run once per collection object, the read step should target (Read Into) a nested collection of the collection targeted by the push. The step will then be executed once for each object instance within in this nested collection created by the push steps prior to the current step’s execution. The step is expected to return property values for the object type stored in the nested collection. It should also return the key property of any object between the nested object and the top-level object type in the data hierarchy of the module. This configuration is primarily intended for file transfer functionality and it is recommended it not be used for other purposes unless no alternative is available.
When the read step is defined to run once per poll period, it is expected to return data for the object type in the collection it targets, which will either be the same as the push’s target collection, or a nested collection of that target. It will not have access to individual user ID’s or to any object key properties. It must also return the Client user ID indicating to which user the object should be sent.