Differences

This shows you the differences between two versions of the page.

Link to this comparison view

enterprise service bus - google calendar event [2016/09/14 18:19]
enterprise service bus - google calendar event [2016/09/14 18:19] (current)
Line 1: Line 1:
 +===== 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 [[Record|records]] in WorkXpress. ​ Typically a Software Developer will create an Event, or Appointment [[Table|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|field]] on the User [[Table|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 [[Enterprise Service Bus Data Source - Google Calendar Push Notifications|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 [[Enterprise Service Bus Data Handler - Google Calendar|Google Calendar Outgoing]] ESB Profile to let WorkXpress know how to interpret event records to send to Google. ​ Second, [[Action Type - Enterprise Service Bus|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.
 +
 +  * [[Enterprise Service Bus Data Source - Google Calendar Push Notifications|Google Calendar Event Push Notifications]]
 +
 +
 +===== 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 Data Handler - Google Calendar Event|Google Calendar Event]]
enterprise service bus - google calendar event.txt ยท Last modified: 2016/09/14 18:19 (external edit)
Copyright WorkXpress, 2024