Incremental offline caching
Incremental offline synchronization downloads only the changes to records, rather than the full dataset. This approach keeps offline data current while reducing network and battery usage.
Instead of downloading a full dataset, incremental offline synchronization only changes records that are retrieved, including any additions, updates, and deletions. The system tracks changes only in the specific records defined by the admin through data items, so the device receives targeted updates rather than a full download. This method keeps the offline cache consistent without placing unnecessary load on the network or device.
This method periodically compares the data on your instance with the data cached on the mobile device. When a difference is detected, only the changed records are downloaded, removing the need for users to manually update the entire cache or follow a fixed schedule. This makes incremental sync particularly useful in environments where users frequently or unexpectedly lose network connectivity.
After you enable the incremental updates feature, the user must turn on Background downloading on their device to begin receiving updates. Once enabled, a “Background downloading” section appears under the app’s Offline settings. The user can decide to Enable Wi-Fi only, if they prefer downloads to occur when connected to a Wi-Fi network.
| Property | Description |
|---|---|
| glide.sg.offline.incremental.enabled | Enable the incremental offline update option for all users. |
| glide.sg.offline.incremental.client_polling_interval | Defines the interval at which the polling mechanism checks the server for missed changes. |
| glide.sg.offline.incremental.record_watcher_expiration | Specifies how long the record watcher remains active when no changes have occurred to trigger an incremental update. |
| glide.sg.offline.incremental.silent_push.max_pushes_per_hour | The number of incremental updates a user can receive in an hour. |
| glide.sg.offline.incremental.silent_push.min_wait_time | Specifies the minimum interval between consecutive incremental updates sent to the user’s device. |
| glide.sg.offline.job.maxRuntime | Controls how long the server can spend generating the offline cache payload for a user. |
For information on other related offline system properties, see System properties in offline mode.