Schedule

It is possible to define a schedule for when SharePoint Online Drives or Lists are synchronised.

A schedule comprises of

  • Interval (Minutes, Hourly, Daily, Weekly, Monthly, Continuous)
  • Units (E.g. 1 or more)

And defines the minimum amount of time which much pass, since the last start of the synchronisation before the synchronisation can happen again.

Configuring Schedules

The schedule can be defined independently for

  • Drives
  • Lists

The schedule can be set within the config at various levels (with inheritance)

  • Within the root Config.SiteOptions config node
    • ListSchedule
      • Schedule when lists will be synchronised. Applied to all lists by default. These settings can be overridden per site within the SpecificSiteOptions
    • DrivesSchedule
      • Schedule when drives will be synchronised. Applied to all drives by default. These settings can be overridden per site within the SpecificSiteOptions
  • Within the SpecificSiteOptions (for all lists and drives within a specific site)
    • ListSchedule
      • If supplied then these list filter settings are used instead of the default list filter settings. These settings can be overridden per list within the SpecificListOptions
    • DrivesSchedule
      • If supplied then these drive filter settings are used instead of the default drive filter settings. These settings can be overridden per list within the SpecificDriveOptions
  • Within the SpecificListOptions (for a specific list within a site)
    • If not supplied, then it will default to the site options schedule. If the site options schedule is not supplied, then will default to the root site options schedule.
  • Within the SpecificDriveOptions (for a specific drive within a site)
    • If not supplied, then it will default to the site options schedule. If the site options schedule is not supplied, then will default to the root site options schedule.

What if no scheduled is defined?

If no schedule options are defined (cannot be resolved at any level of inheritance), then the drive or list will continuously be synchronised. I.e. for a drive, it will do a delta sync as normal (every time the connector synchronisation is run).

If the schedule node is specified, but any of its properties are not set, they will have the following defaults:

  • Interval → Hourly
  • Units → 1

(this is effectively the same schedule that would be applied when a new connector is created)

What if ForceResync is set to true?

If ForceResync is set to true, then any resolved schedule settings are ignored (for the one iteration that the ForceResync flag is set) and the synchronisation will be ran as soon as it can. This can be useful in scenarios where customers might prefer the synchronisation of certain drives or lists to be manual (e.g. set the schedule to be very long and rely on this mechanism to force a schedule when needed)

Continuous?

The Interval can be explicitly set to Continuous which means that the item will continuously be synchronised whenever the connector synchronisation process runs. This is useful in cases where root level schedules have been specified (and applied to everything by default), but want certain items to be synchronised at all times and as quickly as possible.

Benefits / Use Cases

Below are some of the benefits and use cases of using the Schedule feature.

  • Allows for single connector configs to be used with sufficiently granular configuration options to support many use cases.
  • Allows for performance and responsiveness (how quickly the system reacts to changes) to be customised globally or at a Drive or List level
  • For big and relatively unchanging data, can set sync schedules which are large (e.g. weekly) so that other more dynamic content is synchronised more frequently and preferentially (e.g. hourly) - all within the same connector configuration
  • Should there be any failures (particularly if continuous failures which are impacting the synchronisation of other drives or lists for the connector), then with a schedule in place it will ensure that a single drive or list failure when re-processed will not take priority before other synchronisations are performed.

Default Configuration

By default, new SharePoint Online connectors will have a default schedule configured so that all Lists and Drives are synchronised at most every hour. This allows for flexibility to specify that certain Lists or Drives can be explicitly prioritised (e.g. by setting a continuous Schedule explicitly for them).

If required, the Interval of these default root level schedules can be set to something more frequent such as Minutes or Continuous.