Synchronization with Google Services

InfoQube can sync with the following Google Services:
  1. Calendar
  2. Tasks
The end goal is to enable synchronization with many Google services, such as:
  • Contacts
  • Keep
  • Drive
  • GMail
The steps to enable sync are:
  1. Authorize access
    n.b.: If the current IQBase was authorized using a previous version of IQ (v114 and previous), it needs re-authorization. Disconnect and Reconnect to perform this
  2. Set sync parameters for each Google Calendar
  3. Set sync parameters for Google Tasks
     

1. Authorize Access

Use Tools > Google Connect to show the Google Connect dialog:
InfoQube uses the latest most secure method to connect to Google services (3-Legged OAuth 2.0). This ensures that it has no knowledge of any password and at any time, you can choose to revoke access.
To do so, access is granted using your default browser.
  1. Click the Connect button
  2. Your default browser will open (a Windows Security Alert dialog may show, if so, click Allow access)
  3. If you are not logged into the Google account you want to use, click on Disconnect and select the account to use:
  4. Currently, it seems Google needs to validate that IQ is safe, so until this is resolved, you'll get a warning when connecting to Google:


    Click Advanced and then Go to InfoQube (unsafe)
     
  5. Once logged on, this page will be shown:
     
     
  6. Click Allow to proceed and close the browser
     
  7. Windows Defender (or other security software) may display a warning dialog such as:
    a
    Click Allow access to proceed
     
  8. InfoQube will receive the connect token and show the calendars and tasks lists in this account:

     
  9. Click on the checkmark, left of the Calendars and Tasks to enable / disable sync
     

 2. Set Sync Parameters for each Calendar

  1. Click the >> button (right-most grid column) to configure each calendar to be synced:
     

     
  2. Click the ... menu (top right) to:
    1. Get information on this calendar. It will list a few calendar statistics:

       
    2. Delete local copies of all events in this calendar
       
  3. Select Sync Type. It is one of:
    1. None
    2. View Events
    3. View / Edit Events
    4. One Way: Google --> IQ Items
    5. One Way: IQ events --> Google
    6. Full: Google <-- --> IQ Items
       
  4. The last 3 sync types require a matching IQ field. Select from the dropdown list or click New to create a new date field. See section 3 below
  5. Select how often to sync the calendar (0=manual). Each calendar can have different settings
  6. Click OK
  7. Repeat for all the calendars to sync
  8. Once done, click the Close button to dismiss the Google Connect dialog
  9. A popup message will be shown on the taskbar informing you that sync is in process. You can continue to work normally
     

3. Set Sync Parameters for Tasks

  1. Click the >> button (right-most grid column) to configure task sync:


     
     
  2. Start Date: Tasks created / updated before this date will not be synced 
  3. Click the Tasks Grid... button to create a grid pre-configured to view tasks:
     

     

4. Syncing Calendars

Syncing calendars is a simple process:
  • Click on the Calendar icon the status bar to schedule a sync
  • If Sync is not set to Manual, it will run at the specified interval
  • If the Google Connect dialog is open, you can also click on the refresh button (first column in the list) to sync changes or perform a full-sync
Changes made to the Google calendars (list of calendars, calendar color, etc) are not automatically read during the sync process.
To refresh, simply open the Google Connect dialog (or if already opened, click on the refresh icon located just above the calendar/tasks list).
 

4.1. Selecting the Sync Type

InfoQube provides a number of Sync types. To select the most appropriate sync type, it is useful to understand the relationship between items, date values and events.
In InfoQube, each item can have many associated dates. For example, a "contact" item could have:
  • Birthday
  • Wedding date
  • Graduation date
  • etc.
Each of these dates are stored in a separate date field. Date fields are shown in the Properties pane and can be shown as a grid column.
 
The IQ Calendar does not display items. It doesn't display dates either. It displays Events. Each date field-value can be turned into an IQ event and shown in the Calendar.
IQ provides many ways to create events, but the process revolves around selecting a date field-value(s) and instructing IQ to show it in the Calendar.
 
An IQ event has a date plus many associated properties:
  • Duration
  • Scheduled, Unscheduled or All-day
  • Description
  • Location
  • Repeating pattern
  • etc.
Events not linked to an item
  • Events created in InfoQube are always associated with items and date field-values. Deleting an item deletes all its events
  • This isn't always the case for events created outside of InfoQube, such as Google Calendar events
  • An event not associated with an item can only be displayed in the Calendar, not in grids and other UI
  • Whether an item is created for each Google calendar event depends on the sync type

4.2 Sync Type: None

To prevent events from syncing, you can either:
  • Un-check Enabled in the Calendar Sync dialog
  • Set the Sync Type to None

4.3 Sync Type: View Events

  • To simply view events from a particular Google calendar, select this sync type
  • This could be a read-only calendar (national holidays, co-worker's calendar, etc) or any calendar that you don't want to associate with IQ items
  • It is the sync type that has the least effect on your IQBase
  • At any time, you can decide to set the sync type back to None and events will be deleted from the IQBase
  • Since these events are not linked to any item, they can only be viewed in the Calendar, not in grids and other UI

4.4 Sync Type: View / Edit Events

  • Similar to 3.2 above, except that events can be modified within IQ. Changes will sync back to Google 

4.5 Sync Type: One Way: Google --> IQ Items

  • All events created in Google Calendar become IQ items and events
  • The date field set as the sync field (in the Calendar Sync dialog, shown above) contains the event date / time

4.6 Sync Type: One Way: IQ Events -->Google

  • All events created in IQ become Google Calendar events
  • Events modified in Google Calendar are synced with IQ
  • Events created in Google Calendar are not synced with IQ
  • Events deleted in Google Calendar are not synced with IQ
  • If a full sync is performed, events which were deleted in Google Calendar will be shown again in Google Calendar

4.7 Sync Type: Full: Google <-- --> IQ Items

  • All events created in IQ become Google events
  • All events created in Google Calendar become IQ items and events
  • The date field set as the sync field (in the Calendar Sync dialog, shown above) contains the event date / time

4.8 Removing Synced Events

When transitioning from a Sync type to Sync None, users may want to remove local copies of events
 
For a limited number of events, this is best done using the Calendar:
  • In Google Sync, set the Calendar Sync type to None. Click OK to save
  • Select one or more events and do Edit > Delete (or hit the Delete key)
For a large number of events, do:
  1. In Google Sync, set the Calendar Sync type to None. Click OK to save
  2. If the Google Calendar was at some point synced to IQ items, it is best to delete these items
  3. In the Calendar Sync dialog, click on the ... menu and select Delete local events
  4. You' ll be prompted to delete just events not associated to items or all events created on Google Calendar
 
See also: 2. IQ Calendar
 

5. Syncing Tasks

Syncing tasks is a simple process:
  • Click on the Tasks icon the status bar to schedule a sync
  • If Sync is not set to Manual, it will run at the specified interval
  • If the Google Connect dialog is open, you can also click on the refresh button (first column in the list) to sync changes or perform a full-sync
Changes made to the Google tasks (number and name of the task lists) are not automatically read during the sync process.
To refresh, simply open the Google Connect dialog (or if already opened, click on the refresh icon located just above the calendar/tasks list)
 
See also: Managing Tasks
 

Notes:

  • For read-only calendars (as the example above), only None, View Events and One Way: Google --> IQ Items are enabled
  • When an item has more than one event, each event becomes a separate Google event
    Put differently, the fact that events belong to the same item is not an information that Google Calendar knows
  • For the sync types that involves items, each Google calendar must be linked to a distinct IQ date field. That is, a date field cannot sync to more than one Google Calendar