Data change events and subscription are available in Calem Enterprise R2019b. Administrators can register 3rd-party applications as listeners in Calem. These listeners are notified when records are changed in Calem.
Step 0. What is a Data Change Event
A data change event is a user action to update data including creation, editing, and deletion.
Data change subscription and Calem REST API enable customers to build two-way integration with Calem. This blog discusses the steps to set up event listeners in Calem.
Step 1. Data Change Event Setup
A data change event can be created for Calem to generate data change stream for a table.
- Menu path: Admin module | Open | Data Change Event
- Table name defines the table that the data change events should be generated.
- Track Attributes: use this flag to track changes of category attributes
- Track Selected: use this flag to track changes of selected base and custom fields defined in the "Field" tab.
- Optionally track edit, create and delete events.
- The Sync checkbox will send data change events as part of the data change transaction.
- This option is useful if you are building a real-time integration and want the user changes to fail if another application reject the changes.
- Otherwise, the data change events are placed in a queue and will be sent to other applications later as a cron job.
Step 2. Event Listeners
Event listeners are 3rd-party REST web services.
- Menu path: Admin module | Open | Data Change Listeners
- Client Id and Secret are used in the invocation of the REST web service that listens to Calem data change events.
- Client URL is the web service address.
- See Calem Enterprise API Guide for more information about authentication and JSON data encoding in building web service listeners.
- Listeners are then assigned to subscribe to events.
Step 3. Event Queue
Once events and listeners are configured the notification process is executed periodically to send events to listeners.
- Menu path: Admin module | Open | Event Queue
- Events are generated and stored in Event Queue.
- The events will be picked off and queued in Event Notification Queue for notification to listeners.
- Status "New": events are created.
- Status "Processed": events are queued in notification queue.
- Use Event Notification Queue to view the notification status.
- Event Queue can be browsed and searched by list search row
Step 4. Event Notification Queue
Event Notification Queue shows the status of event notification.
- Menu path: Admin module | Open | Event Notification
- Event notification statuses are recorded in this list for one to review what events are notified or there are errors in the notification.
- Status "New": queued for notification
- Status "Processed": notification successful
- Status: "Failed": unable to notify a listener - see "Comment" field for error messages.
Step 5. Integration Monitors
Integration monitors can be configured to receive email notifications when errors happen in outbound event notification.
- Menu path: Org module | ACL Profiles | Monitor User
- "Integration Monitor" role may be defined for users to receive error notifications.
- "Site" field may be populated to receive notification for a site.
- Set "Site" field to empty to receive notification from all sites.