A push definition defines how to implement push notification behavior.
A push defines when it is necessary to push an object from the back-end system to the Agentry Client and how that object’s data is retrieved. A push provides real-time data synchronization for server-to-client data transfer, targeting a top-level object collection property within the same module. The push determines if changes have been made to the back-end system and also retrieves the needed data to send those changes to the client. Part of the push definition is the optional behavior to notify users when data has been pushed to their clients.
There are five child definitions to the push, each a step usage definition. These steps provide the behaviors of polling the back end system for data changes that include new or modified business objects, polling and retrieving data for objects to be removed from clients, steps to retrieve data when changes have been found during a poll, updating the back end system after the new objects have been processed, and error handling steps.
The push itself defines how often to poll the back end system for changes, whether or not to display notifications on the Client of data after is has been pushed down and the nature of that notification, and an optional action that may be executed for each object pushed down to a Client.
The Push definition is the primary definition for implementing push behavior, but it is not the only definition type involved. The application-level definition transmit configuration also plays a part in this behavior. Specifically, a transmit configuration must be defined to maintain a constant connection between the Agentry Client and Agentry Server.
Additionally, if the system connection to be used for push processing is a SQL Database connection type, the configuration file SqlBE.ini for the Agentry Server is likely to need modification. Two sections within this file, EnablePushUser and DisablePushUser are processed by the Server as a part of the overall push processing for a database system. For other system connection types this file is not involved. Information on this configuration file can be found in the Agentry Implementation Guide for both Windows and Linux.
Push Child Definitions
- Retrieval Step: A push retrieval step references a step definition run to determine if object data has changed in the back-end system and how that data is retrieved.
- Removal Step: A push removal step references a step definition run to determine what objects should be removed from the collection on the Agentry Client.
- Read Step: A push read step references a step definition to be run to continue the data retrieval for the object collection targeted by the push.
- Response Step: A push response step references a step to be run after SAP Mobile Platform Server receives notification from the Agentry Client that an object has been successfully pushed down.
- Error Step: A push error step references a step definition to be executed when one of the other step usage definitions within the push return an error.
- Collection: This attribute specifies the target object collection for which the push will synchronize data. This must be a top-level object collection property within the same module as the push definition.
- Name: This is the internal definition name for the push. This must be unique among all push definitions within the same module.
- Display Name: This is the default display value for the push definition when reference is made to it on the Agentry Client.
- Poll Interval: This attribute contains a duration value in hours, minutes and seconds, specifying how often to poll the back end system for modifications. At each poll interval the push retrieval steps and push removal steps will be processed by the Agentry Server. The value of the Poll Interval must be less than the transmit configuration attribute Inactive Time attribute of the transmit configuration defined to support the push behavior.
- Read Steps: This attribute specifies whether to use the read steps defined in the object type for the push’s target collection property. When this attribute is checked, the read steps in the object type will be processed to synchronize data rather than the push read steps.
- Queue Messages: This attribute allows for push messages from the Agentry Server to the Agentry Client to be queued if they are not successfully sent after the first attempt or if the Agentry Client indicates it is still processing the previously received message.
- Dialog Pops Up: This attribute specifies
whether or not a notification dialog is displayed on the Agentry
an object has been pushed down to the Client and when that dialog
should be displayed. The options for this attribute are:
- After all data received: This setting will display the notification after all objects have been successfully pushed to the Client.
- Immediately: This setting will display the notification after each object has been successfully pushed to the Client. If multiple objects are pushed based on a single poll, the notification dialog will displayed once for each object.
- No Dialog (sound only): This setting will not display any notification dialog to the user, with the client’s default system sound being the only one played.
- When user clicks icon: This setting will display an icon on the Agentry Client after objects have been pushed down. The notification dialog will then not be displayed until the user clicks this icon.
- Data Received Text: This attribute specifies whether or not to display notification text for new or replaced object instances and, if enabled, the contents of the notification message. This includes both the message to display to the user and the text in the notification dialogs title bar.
- Data Removed Text: This attribute specifies whether or not to display notification text when object instances are removed and, if enabled, the contents of the notification message. This includes both the message to display to the user and the text in the notification dialogs title bar.
- Rec’d & Rem’d Text: This attribute specifies whether or not to display notification text when both new object instances received from the push and other object instances are removed. If enabled, the contents of the notification message are also a part of this attribute setting. This includes both the message to display to the user and the text in the notification dialogs title bar.
- Notification: This attribute enables or disables the external notification behavior. When enabled, the client device’s hardware LED light will be activated by the Agentry Client. This attribute has no affect on client devices without such hardware.
- Play Sound: This attribute enables or disables the system’s default sound for notification when objects are synchronized by the push. When this attribute is enabled, the option for how many times to play the sound is set. This will also enable the Interval Between Sounds attribute.
- Interval Between Sounds: This attribute is enabled when the Play Sound attribute is enabled and it specifies the sound be played multiple times. The Interval Between Sounds attribute then specifies the duration of time between each instance of the sound.
- Action After Object Received: This attribute references an action to execute when an object is pushed down to the Agentry Client. When an action is selected here, that action will be executed for each object instance pushed to the Client, targeting that object. This action is not executed when objects are removed based on the push synchronization. If the user is currently executing an action when an object is pushed to the client (for example, the user is viewing a transaction wizard), the action defined for the push is queued and will be executed when the current action is completed.
- Action When Push Completes: This attribute references an action to execute when the push has finished pushing down all object instances to the Agentry Client. This action targets the object collection targeted by the push.
- Cancel Action: This attribute specifies whether or not any action currently being executed on the Agentry Client is canceled when objects are pushed down. If this option is disabled and an action is being executed while an object is being pushed down to the Agentry Client, the object will not be received by the Agentry Client.