Google Drive

The Google Drive Connector takes advantage of all the features of the Workplace Search connector framework functionality, resulting in a consistent experience across the product for all connectors, such as

  • General / Quick Search Integration (Content Types, Filters, Taxonomy)
  • Content Widgets Integration (Advanced Filter)
  • Content Listing Block Integration (Advanced Filter)
  • Mobile Integration
  • Permissions (External Identities)
  • Logging / Troubleshooting Features

Google Drive API Clients

Internally the Google Drive Connector use several different APIs provided by Google to perform a synchronisation. These include:

Directory Service

The Directory Service is used to

  • Discover all users associated with Google Drive
  • Discover the Google Drive groups that each user is associated with

Drive Service

The Drive service is used to synchronise Shared Drives as well as My Drives.

  • Get files from a drive
  • If synchronising a My Drive, then can resolve the Id of that drive
  • Get permissions for a file
  • Get all folders within the drive
  • Get all shared drives
  • Download docs/sheets/slides/files

Synchronisation Strategy

The Google Drive connector currently uses a basic strategy when synchronising content. There is no delta functionality currently (like that used by the SharePoint Online Connector). This means that every time the synchronisation job is ran, it will re-evaluate all synchronised users and content again.

All users external identities and docs are synchronised using the Session deletion mode. So, if they fail to be returned during a fresh synchronisation job, then at the end of the synchronisation job they will be deleted from ELS and the synchronisation database.

There are optimisations in place to prevent the repeated downloading and parsing of file contents. File content is only downloaded again if the updated date returned for the file is different from the recorded updated date.

It does not use any concept of deltas or change tracking when synchronising users, drives of files.

Taxonomy Values

For content that is synchronised there are various different meta data (taxonomy) which are also stored against the content.

Taxonomy values can be configured to be filterable within the Filters panel within the General Search results page. Any taxonomy value can also be used within Advanced Filters in the Content Widget or Content Listing block.

Content Type

By default, the synchronised entities will have one of the following content type taxonomy values set, depending on its type

  • Google Drive
  • Google Drive File
  • Google Drive Folder
  • Google Drive Site

The text labels for these types can be customised using the Google Drive Connector Config.

The relevant content type is then available for filtering within the Content Types filter within General Search.

Additional Taxonomy

For synchronised Files, the following additional taxonomy values are also stored

  • Google Drive
  • Google Drive File Type
  • File Extension
  • Directory

Folders and Sites will also include the Drive and Directory taxonomy values.

The text labels for these types can be customised using the Google Drive Connector Config

Synchronising My Drives of Users

If the service account that is configured for the connector has Domain Wide Delegation configured within Google Drive - and you have enabled the UseDomainWideDelegation in the connector config, then the connector will synchronise the My Drives of all or a configured list of users (and will only be accessible to those users).

With Domain Wide Delegation enabled, you must also set the SynchroniseMyDrive config value in the connector config (which defaults to true).

By default, the MyDriveFilters is configured to only synchronise a specific list of users (which is empty). So, this must also be populated to synchronise any My Drives of users. Alternatively, the Mode can be changed to be All (rather than Specific) to synchronise all users My Drives.

Permissions

Synchronised Google Drive content is permissioned in the same way that it is permissioned within Google Drive, meaning that within the intranet Quick/General Search, Content Widgets and Content Listing block on pages - they will see only the content that they have access to within Google Drive. This includes content that has been explicitly shared with them or a group that they are part of.

Sharing - Anyone With Link

Within Google Drive, it is possible to share a file/drive through a link and also possible to select the "Anyone with link" option. Any content that has been shared in this way, although technically accessible to everyone, such content is not made accessible to all synchronised users within the intranet. By doing so would allow it also be discoverable, which is a level of access higher and different to that experienced within Google Drive.

I.e. A Google item share link is not discoverable, and therefore, synchronised content with share links should equally not be discoverable.

Icons

Default google drive style icons are used for synchronised content

  • Google Drive
  • Google Sheets
  • Google Docs
  • Google Slides
  • Site
  • Folder
  • File

All files are presented with the same icon by default, but it is possible to override this behaviour and define custom icons for different file extensions.

Domain Mapping

If your google drive account is configured with a different domain than what is associated with your intranet and users, then it is possible to configure a domain replacement. During user synchronisation, when a Google Drive user is being matched with a user in the Intranet, the email address is altered (only for the purpose of user look ups) based on this configured domain replacement.