3. How the Synchronization Process Works

The Outlook Calendar Bridge for Ignition module follows a predictable workflow that executes indefinitely based on a user-configurable frequency. The diagram below illustrates the overall process:

Module Sync Architecture.png

An Administrator on the Ignition Gateway will begin by creating a new Calendar Roster Mapping, which requires three basic elements be specified:

  1. An Ignition User Source which contains the users that will be added an an On-Call Roster for alarm notifications.

  2. An Office 365 Outlook Calendar where on-call assignments are created in the form of calendar events. Each event in this calendar must contain at least one or more attendees.

  3. An On-Call Roster that a calendar event’s attendee(s) should be added onto automatically by the module.

Once the Calendar Roster Mapping has been created and enabled, the synchronization process will begin. This involves periodically polling an Outlook Calendar to detect if an event is currently in progress, and ensuring that additions/changes/removals to said event’s attendee list are replicated onto the specified On-Call Roster. This is illustrated in the diagram below:

Creating a Calendar Event in Outlook

Creating a Calendar Event for the purposes of automatic On-Call Roster assignment is easy and is typically done in the office by a supervisor or administrative assistant who is tasked with scheduling duty rotations. The event must specify the following pieces of data for this module to retrieve it and process it successfully:

  • Start Date

  • End Date

  • Mandatory Attendee(s)

image-20240310-235232.png
An Outlook Calendar Event that assigns Alex Wilber, an existing user in Ignition and an existing user within the organization’s Office 365 environment, to On-Call Status for an entire week.

As soon as this event is saved, it will be picked up by the module during the next synchronization cycle that occurs after the Start date/time, as well as on every subsequent synchronization cycle that occurs until the End date/time passes.

Editing a Calendar Event in Outlook

Changes to an event can be made at anytime – even when they are already in-progress – and the plugin will pick up those changes at the next synchronization cycle. If a user is removed from an event’s attendee list that is in progress, that user will be removed from the On-Call Roster. Conversely, if an additional user is added to an event’s attendee list that is already in progress, that user will be added onto the On-Call Roster alongside all existing users.

Removing a Calendar Event in Outlook

If an event that is currently in-progress is deleted in Outlook, one of two actions take place depending on the module’s Always Overwrite (Ignition Gateway Config → Outlook Calendar Sync → Settings) value:

  1. If Always Overwrite is enabled, then deleting an in-progress event from the calendar will remove all users currently on the On-Call Roster, leaving an empty list and therefore no outgoing alarm notifications.

  2. If Always Overwrite is disabled, then deleting an in-progress event from the calendar will leave all users currently on the On-Call Roster intact, even though they do not exist in any in-progress calendar event.

WARNING: Careful attention should be paid to this setting, as it can result in a scenario where active alarms notifications are not being sent out.