Purpose

This Enterprise Service Bus system allows a Software Developer to setup synchronization of the events from a Google Calendar on a Google Account and records in WorkXpress. Typically a Software Developer will create an Event, or Appointment table that contains records that are in a 1 to 1 relationship with the events on a Google Calendar.

End User Experience

A User of a WorkXpress Application that utilizes the Google Calendar Enterprise Service Bus functionality will need to authorize this application to allow Calendar interaction. This is accomplished in two steps.

1. Google Login

First, they need to login to their Google Account on their User so their Google Calendar event information can be read from and written to. They do this using the 'Google Login' field on the User Table. This field allows the user to log in to their Google Account without their Google username or password being stored in the WorkXpress Application. When the log in process is completed the 'Google Login' Field will display what Google Account the end user is logged in as, allow them to log out from that account, and log in on a different account.

Note: Each User can only be logged into one Google Account at a time.

2. Google Calendar Subscriptions

After the User has completed the log in process they will need to use the 'Google Calendar Subscriptions' field on their User to control access to their Calendars. This field will populate with the list of Calendars that are available from their Account. In this field the User can choose to subscribe to a calendar. Doing so will cause Google Calendar to create a subscription that will notify the WorkXpress Application when changes are made to their Calendar's Events. If a Google Calendar Push Notification ESB Profile is configured, then the application will begin the process of reading the events from the Calendar.

Note: This initial read and all subsequent reads are triggered by notifications pushed to the application by Google. Usually these notifications are extremely prompt but there have been observed cases of delayed notifications of up to 30 minutes.

Sending Events to Google Calendar

Sending events from WorkXpress to Google is a two step process. First, the Software Developer must setup a Google Calendar Outgoing ESB Profile to let WorkXpress know how to interpret event records to send to Google. Second, Enterprise Service Bus Actions need to be added to the Table being synced so that when a User adds or edits an event in the WorkXpress application those changes will be pushed to Google.

It is possible that changes can occur in both WorkXpress and Google Calendar at or near the same time. In those cases the setting on the outgoing ESB will determine if the data from Google Calendar overwrites the WorkXpress changes or if the data from WorkXpress overwrites the Google Calendar changes.

What Data is synced between Google and WorkXpress?

The following pieces of data are available to sync:

  • Google Event ID - The Google Event ID identifies this Event on Google's side. This Event ID must be stored in order to match your records to their Events for updating purposes. If this Event ID is not stored any changes in Google Calendar will create new Events in the WorkXpress application and changes in WorkXpress can not be pushed to Google.
  • Google ETag - The Google ETag is an Event Version identifier and must be stored to avoid data conflict issues.
  • Start Time - The start time of the Event
  • End Time - The end time of the Event
  • Title - The event name
  • Description - The event description
  • Location - The event location
  • Attendees - A list of email addresses for the attendees of an event.
  • Recurrence - The recurrence pattern for this event

If any of these values are not configured to be stored in the WorkXpress application and returned to Google then when WorkXpress updates Google the values will be cleared on Google's side. Even if the values are not going to be displayed it is highly recommended that all of these values be stored and returned to Google.

The following pieces of data are not part of the sync and will only be managed via Google's Calendar interface:

  • Event Color
  • Reminders
  • Show me as
  • Privacy
  • Guest can: modify event, invite others, see guest list

Data Sources

The data source selection for an Incoming ESB Profile will determine what helpers and configuration is needed and or available.

Data Handlers

The data handler selection for an Outgoing ESB Profile will determine what helpers and configuration is needed and or available.

enterprise service bus - google calendar event.txt · Last modified: 2016/09/14 14:19 (external edit)
Copyright WorkXpress, 2020