Data Sync Settings
- 1 Max Sync Waves
- 2 Enable Full History Wave
- 3 Object History In Months
- 4 Objects that are subject to a stale record cleanup (due to changes in record accessibility/permissions)
- 5 Frequency of stale record cleanup (due to changes in record accessibility/permissions)
- 6 Frequency of stale record cleanup (due to changes in record accessibility/permissions)
- 7 Force the stale record cleanup stage to run on the user's next sync
- 8 Enable Reachability on Subsequent Passes
- 9 Object Filter Limit
- 10 Auto Sync Setting
- 11 Allow/Deny Sync through 3G/4G
- 12 Force a Layout Sync
- 13 Auto Sync Time Interval
- 14 Sync Data Filter using a "Where" Clause
- 15 Allow Base 64 Download
- 16 Allow Sync and display of Rich Text Field Images
- 17 Sync Objects - Last Modified Date Field Override
- 18 Pulsar Sync Object List
- 19 Pulsar Sync Objects - Relationship Directives
- 20 Sync In Progress Banner
- 21 Sync Banner Progress Bar Color
- 22 Sync Banner Progress Bar Background Color
- 23 Sync Banner Progress Bar Height
- 24 Enable Field Service Sync Setting
- 25 Forced Work Offline Mode (with Sync Enabled) Setting
- 26 Disable syncing listviews for certain object types
- 27 Remind users to sync periodically
- 28 Enable Content Document Direct Sync
- 29 Enable Chronological Changes
- 30 Configure Conflict Resolve Policy (Global)
- 31 Configure Conflict Resolve Policy (Object/Field Specific)
- 32 Available with version 13.0+
- 33 Configure Duplicates Policy
- 34 Enable Composite API
- 35 Enable Composite Graph API
- 36 Maximum Updates Per Object
- 37 Connect Timeout Seconds
- 38 Prevent Duplicate Create and Update Transmissions
- 39 Composite API Setting Usage
- 40 Bypass Failed Changes
- 41 Add Sync Window Seconds (to second pass)
|
|
|---|---|
Name | Max Sync Waves |
Key | pulsar.sync.maxWaves |
Value | A Positive Number |
Default Value (if any) | 24 |
Compatibility | iOS Windows Android |
Description | A sync wave is generally equivalent to one month of history, and with this numeric setting you may specify how many months into the past (in terms of active records) that the algorithm should look back and fetch them. Pulsar determines active records by using the LastModifiedDate, SystemModStamp, or another datetime field (if overridden with the pulsar.sync.objects.lastModifiedDateField Pulsar Setting). The first wave is calculated from the current timestamp back to the first day of the same month. This means that the first wave is often less than a full month’s worth of data. This is done to break up the remaining waves in simple month segments. For example, specifying 4 waves and performing an initial sync on December 5 will create one wave from December 1 to December 5, a second wave encompassing all of November, and a third wave encompassing all of October. The fourth and final wave will attempt to retrieve as much data as possible from September 30 to as far back as January 1, 1980. Please see the pulsar.sync.enableFullHistoryWave setting for more information on customizing the behavior of the final wave. |
Notes/Comments | To guarantee that a user should initially sync a specific number of months of historical data, you will need to add one or two to your number depending on how you’ve configured the final wave. For example, for a minimum of two years worth of data, you can specify 26 (with the full history wave enabled) or 25 (with the full history wave disabled). |
| |
|---|---|
Name | Enable Full History Wave |
Key | pulsar.sync.enableFullHistoryWave |
Value | TRUE / FALSE |
Default Value (if any) | TRUE |
Compatibility | iOS Windows Android |
Description | See pulsar.sync.maxWaves above for general wave information. By default, the final wave performed for an object will attempt to sync not just one month’s worth of data but all data since January 1, 1980 sorted by LastModifiedDate in descending order. This is done to optimistically download as much data as possible for the user. Since this date range is large, all or part of the request may not succeed. If it does not succeed, Pulsar does not consider this an error and continues to integrate the records it was able to retrieve. Specifying ‘FALSE’ for this setting, will make that final wave behave similarly to the other waves and only retrieve a month’s worth of data. In this configuration, the final wave is expected to succeed or Pulsar will report a sync error. |
Notes/Comments |
|
|
|
|---|---|
Name | Object History In Months |
Key | pulsar.sync.objectHistoryInMonths |
Value | List of the pairs in the format Object API Name:Number of months (e.g: Lead:12, Account:24, Contact:24) |
Default Value (if any) | 24 |
Compatibility | iOS Windows Android |
Description | This setting lets you control each individual object history in terms of months. |
Notes/Comments | The value should be lower than the value specified for Max Sync Waves setting. |
|
|
|---|---|
Name | Objects that are subject to a stale record cleanup (due to changes in record accessibility/permissions) |
Key | pulsar.sync.recordReachability.objects |
Value | A list of object api names separated by new line, or comma. |
Default Value (if any) |
|
Compatibility | iOS Windows Android |
Description | This setting allows you to specify which objects are eligible to scan and remove stale records from. Stale records are identified as existing records that exist on the client device but do not have a corresponding server record. |
Notes/Comments | If this setting is not specified or has an empty value, then all synced objects are eligible. |
|
|
|---|---|
Name | Frequency of stale record cleanup (due to changes in record accessibility/permissions) |
Key | pulsar.sync.recordReachability.intervalDays |
Value | A number greater than zero indicates that the cleanup stage should run after that many days since the last time it successfully ran. Note, to disable set to 0 or a negative number. |
Default Value (if any) | 0.0 |
Compatibility | iOS Windows Android |
Description | This setting allows you to set the interval (as a number of days) when to perform a cleanup of potentially stale records on your device. The interval refers to the number of days since the last successful run of this cleanup stage. This setting accepts fractional days (e.g. to specify 36 hours, you would enter 1.5). There is another frequency setting below, however, if both are specified this one takes precedence. Note, stale records can occur in a local database if record permissions are altered after a user has performed a sync such that a user no longer has read access to a record. |
Notes/Comments |
|
|
|
|---|---|
Name | Frequency of stale record cleanup (due to changes in record accessibility/permissions) |
Key | pulsar.sync.recordReachability.frequency |
Value | A number greater than zero indicates that the cleanup stage should run after that many successful syncs. Note, to disable set to 0 or a negative number. |
Default Value (if any) | 0 |
Compatibility | iOS Windows Android |
Description | This setting allows you to set the interval when to perform a cleanup of potentially stale records on your device. The interval refers to the number of successful syncs performed. For example, if you set it to 10, this will run every 10 successful syncs. Note, stale records can occur in a local database if record permissions are altered after a user has performed a sync such that a user no longer has read access to a record. |
Notes/Comments |
|
|
|
|---|---|
Name | Force the stale record cleanup stage to run on the user's next sync |
Key | pulsar.sync.recordReachability.runOnNextSync |
Value | TRUE / FALSE |
Default Value (if any) | FALSE |
Compatibility | iOS Windows Android |
Description | For a description of the stale record cleanup stage, see the above setting for "pulsar.sync.recordReachability.intervalDays". If this setting is set to TRUE, all users will run this cleanup stage during their next sync (only once). The cleanup stage will not trigger again for this user unless you've specified this stage to run periodically via one of the other 'recordReachability' settings. In order to reactivate this setting for a subsequent use, make sure the value is still set to TRUE, and re-save the record to update its last modified date. |
Notes/Comments |
|
|
|
|---|---|
Name | Enable Reachability on Subsequent Passes |
Key | pulsar.sync.recordReachability.enableOnOtherPasses |
Value | TRUE / FALSE |
Default Value (if any) | FALSE |
Compatibility | iOS Windows Android |
Description | Specifying this setting as TRUE will enable reachability to run on the second pass (in addition to the first pass) only if local changes were pushed during the first pass. |
Notes/Comments | Initiating a sync means that Pulsar will have at least one pass through all the sync stages. However, another pass will be performed if, during the first pass, updates were either downloaded or local changes pushed to SFDC. Since the reachability stage can be a time consuming stage, it will normally only run during the first pass. Also, the reachability stage runs before the stage where Pulsar pushes local changes to SFDC. Therefore, if those changes might render some records unreachable, they will remain on the local device until the next time reachability runs. |
|
|
|
|---|---|---|
Name | Object Filter Limit |
|
Key | pulsar.sync.initialFilterLimit |
|
Value | ObjectAPIName:Number |
|
Default Value (if any) | Default:50000 Object_API_Name:Number |
|
Compatibility | iOS Windows Android |
|
Description | This setting determines the number of records Pulsar fetches for each table (e.g., Lead, Account, Contact, etc.). By default, the application limits the sync to 50,000 records per object. However, administrators can increase this limit as needed. |
|
Notes/Comments |
|
|
|
|
|---|---|
Name | Auto Sync Setting |
Key | pulsar.sync.enableAutoSync |
Value | TRUE / FALSE |
Default Value (if any) | TRUE |
Compatibility | iOS Windows Android |
Description | This particular setting dictates how the app would run the sync process. If the value is set to true, the app will automatically perform a bi-directional sync without requiring the user to initiate the sync. If this is set to be false, the user will have to manually choose to Sync in order reflect the changes on the device and the server appropriately. The manual sync can be initiated by tapping on the blue ‘Sync Now’ button on the Settings page as well as by clicking on the circle that appears on the bottom toolbar, which then will display a popup window with the blue ‘Sync Now’ button. |
Notes/Comments |
|
|
|
|---|---|
Name | Allow/Deny Sync through 3G/4G |
Key | pulsar.sync.enable3GAutoSync |
Value | TRUE / FALSE |
Default Value (if any) | TRUE |
Compatibility | iOS Windows Android |
Description | This option would permit or not permit auto sync to run when the device is connected to the data network. Some companies might want to restrict the data usage and in those cases, the admins can use this setting to control the sync behavior. |
Notes/Comments |
|
|
|
|---|---|
Name | Force a Layout Sync |
Key | pulsar.sync.enableOneTimeSessionRefresh |
Value | TRUE / FALSE |
Default Value (if any) | FALSE |
Compatibility | iOS Windows Android |
Description | In order to save API calls, the catch-up sync does not sync the layout changes every time. Layout sync only runs if the user clicked the 'Refresh Settings' button from the Settings page. Or, if you would like to force a layout sync, enable this setting after making layout changes to the org. When Pulsar next performs a sync on users devices, this will including syncing the layout changes. This forced metadata sync only happens once for each user after this setting is created/updated. |
Notes/Comments |
|
|
|
|---|---|
Name | Auto Sync Time Interval |
Key | pulsar.sync.autoSyncIntervalMinutes |
Value | Number of minutes |
Default Value (if any) | 120 |
Compatibility | iOS Windows Android |
Description | Some customers asked us to allow a sync interval time as opposed to running the sync every time the app comes to foreground. For example with the below setting, the sync algorithm will check to see if there was a successful sync in the last X minutes and if there was one, it will not initiate the sync process. If X minutes indeed have passed since the last successful sync, it will initiate sync. |
Notes/Comments |
|
|
|
|---|---|
Name | Sync Data Filter using a "Where" Clause |
Key | pulsar.<sobject type>.syncFilter |
Value | A SOQL format where clause (without the 'Where' keyword). |
Default Value (if any) |
|
Compatibility | iOS Windows Android |
Description | This is a per-object sync filter to further control which records get synced. Note, it is technically possible to create/edit a record that would not get subsequently picked up due to the object's sync filter. We would pick up the server delete, but not any server update. |
Notes/Comments | Since the UserInfo SOQL syntax for obtaining the current user's id is not available outside of APEX, you can instead use this Pulsar defined constant: @@CurrentUserId Example: K: pulsar.Account.syncFilter V: Account.Name = 'Apple' |
|
|
|---|---|
Name | Allow Base 64 Download |
Key |
|
Value | Comma or New Line separate list of object API names (e.g: |
Default Value (if any) |
|
Compatibility | iOS Windows Android |
Description |