Synchronization F.A.Q.
- Synchronization Modes
- When to launch the full synchronization?
- When to launch the fast synchronization?
- When does the mixed synchronization automatically launch instead of the fast synchronization?
- When to use the quick record synchronization?
- When to use the Sync Recovery functionality?
- When to use CT Mobile Replication?
- How to know that the synchronization is successful?
- Synchronization Details
- Metadata Components and Related Error Handling
- What components are included in the metadata archive?
- How often should you rebuild the metadata archive?
- Why were not the up-to-date metadata components downloaded during the full or mixed synchronization?
- Why is the new translation for an object or a field not displayed in the CT Mobile app?
- The lookup filter has been changed. Why has not it been downloaded to the device?
- The metadata checker has been enabled. Why are not the up-to-date metadata components downloaded to the device?
- Synchronization Error Handling
- How to send the application data dump?
- What to do if the sync process has stopped due to missing the CT Mobile license?
- What to do if the sync process has stopped due to an inactive organization error?
- What to do if synchronization takes too long?
- What to do if the INVALID_TYPE error occurs?
- What to do if the UNKNOWN_EXCEPTION error occurs?
- What to do if the MALFORMED_QUERY error occurs?
- What to do if the INVALID_FILTER_QUERY_OPERATOR: invalid ID field occurs?
- When does No connection to Salesforce occur?
Here is a list of frequently asked questions:
Synchronization Modes
When to launch the full synchronization?
The full synchronization should be launched:
-
to download the current user database (data, metadata, app settings):
-
when a mobile user launches the first synchronization after logging in;
-
when the new version of the CT Mobile app is installed.
-
-
to send data changes (deletions, insertions, and updates of records) from the CT Mobile app to Salesforce and completely replace the current user database (data, metadata, app settings) if changes were made on the CT Mobile Control Panel / CT Mobile Control Panel 2.0.
Important notes:
-
In case of any errors, the full synchronization is interrupted.
-
The CT Mobile app is locked during the full synchronization except for the first full synchronization.
-
The sync process may take a lot of time, depending on the database size.
For more information, read the Full Synchronization article.
When to launch the fast synchronization?
The fast synchronization is intended to:
-
send data change (deletions, insertions, and updates of records) from the CT Mobile app to Salesforce, including changes in the field attributes;
-
download data changes (deletions, insertions, and updates of records) from Salesforce to the device, including changes in the field attributes;
-
update CLM presentations in case of republishing. The CT Mobile app compares the current version of the CLM presentation with the one previously saved. If any discrepancies are found, slides and attachments, which were updated after the last synchronization, will be loaded.
-
In case of the future date in the Forced Load Date field on the CLM presentation record, the CT mobile app asks the current user to download the CLM presentation or not.
-
In the case of the past date or an empty value in the Forced Load Date field, the CLM presentation will be downloaded.
-
Important notes:
-
In the case of record errors, the fast synchronization continues. Errors could be managed on the Errors screen.
-
The CT Mobile app is not locked during the fast synchronization.
-
The sync process may include CT Mobile Replication;
-
The sync process may include the Sync Recovery functionality.
For more information, read the Fast Synchronization article.
When does the mixed synchronization automatically launch instead of the fast synchronization?
The mixed synchronization launches when:
-
the date of the last successful synchronization on the current user’s record is earlier than the date of the last metadata change in the clm__MetadataLastModifiedDate__c field of the Mobile Application Setup record for the current user’s profile (if this record exists) or for the current user’s Salesforce organization;
-
the date of the last metadata change is not set in the clm__MetadataLastModifiedDate__c field of the Mobile Application Setup record.
The mixed synchronization is intended to:
-
download settings and records without re-load of previously downloaded records, which helps to reduce the sync time.
-
download metadata changes in ZIP archive(s) and via API according to the current user profile;
-
send data changes (deletions, insertions, and updates of records) from the CT Mobile app to Salesforce;
-
download data changes (deletions, insertions, and updates of records) from Salesforce to the device;
-
update CLM presentations in case of republishing. The CT Mobile app compares the current version of the CLM presentation with the one previously saved. If any discrepancies are found, slides and attachments, which were updated after the last synchronization, will be loaded.
-
In case of the future date in the Forced Load Date field on the CLM presentation record, the CT mobile app asks the current user to download the CLM presentation or not.
-
In the case of the past date or an empty value in the Forced Load Date field, the CLM presentation will be downloaded.
-
Important notes:
-
The date of the last metadata change will be updated each time you make a change on CT Mobile Control Panel / CT Mobile Control Panel 2.0.
-
You can manually update the date for the corresponding profile by editing the clm__MetadataLastModifiedDate__c field of the Mobile Application Setup record for the current user’s profile (if this record exists) or for the current user’s Salesforce organization.
-
In the case of record errors, the mixed synchronization continues. Errors could be managed on the Errors screen;
-
The CT Mobile app is not locked during the mixed synchronization;
-
The sync process may include CT Mobile Replication;
-
The sync process may include the Sync Recovery functionality;
-
To refresh metadata in the ZIP archive
-
Enable Metadata Checker to refresh metadata.
For more information, read the Fast Synchronization article.
When to use the quick record synchronization?
The common use case is to download changes for a particular record. For example, to download the invitation link for the Remote Detailing functionality or update the record related lists.
When to use the Sync Recovery functionality?
The Sync Recovery functionality allows sending records with any errors to Salesforce. Records can be sent as usual or as the JSON file for post-processing by the administrator. The errors will not be erased from the sync logs and, hence, from the reports.
For more information, read the Sync Recovery article. Error types are listed in the Salesforce Developer Guide article.
When to use CT Mobile Replication?
During the fast synchronization, only records with the modified SystemModStamp field will be downloaded. However, if you changed sharing rules (via organization-wide defaults or per each record), the value in the SystemModStamp field is not modified. In this case, create a CT Mobile Replication setting to keep data up to date on the device. The corresponding records will be downloaded and records, which are no longer available, will be hidden.
The CT Mobile Replication example is available here.
How to know that the synchronization is successful?
If the synchronization was successful, the notification «Synchronization completed. Duration: HH:MM:SS.» If an error occurred during the sync process, a notification appears with the text of the error, and the user should close it.
To find out the time and date of the last successful synchronization, and to see the number of records waiting to be sent to Salesforce, tap on the status indicator at the bottom of the screen.
Synchronization Details
What are the synchronization statuses?
Depending on the selected debug level, the sync log record with the corresponding status will be saved for synchronization and all performed operations, except for Geo Tracing and Geolocation. For more information, read the Sync Log article.
Success
-
full synchronization is complete;
-
fast/mixed synchronization is complete (with or without the Sync Recovery functionality and CT Mobile Replication);
-
completed operation.
Partially Success
-
fast/mixed synchronization if there are errors, for example, if the required field is blank or the start date is later than the end date (with or without the Sync Recovery functionality and CT Mobile Replication);
-
operation if some records are not successfully created, updated, deleted, or inserted.
Failed
-
the internet connection has been lost;
-
the device screen has been turned off;
-
the device has been turned off;
-
any errors during first/full synchronization.
-
for operation if all records have errors due to which they were not created, updated, deleted, or inserted.
Where are the synchronization statistics stored?
The Sync Log object is intended to store logs for each performed synchronization.
-
the main Sync log record with the type of synchronization;
-
sync log records for each operation performed during the sync process.
The Sync Log record may include attachments:
-
the SyncSingle.log file with all operations for the first, full, fast, mixed, and quick record synchronization.
-
the sync.log file for the Sync Log History operation.
-
the Documents.zip for the Export Data operation;
-
In the case of Sync Recovery, the RecoveryData_2019-12-06 10:53:16.log file for the create, update, or insert operation along with the JSON file.
For more information, read the Sync Logs article.
How many API requests are used within the first full synchronization?
A single API request contains from 10 to 2 000 records. All requested data volume is divided into batches depending on the number of fields and field types of the object. Also, attachments can be downloaded one at a time.
-
Approximately, the CT Mobile app is loading around 1 000 records per second, assuming the objects do not have fields with the «heavy» type, such as Text Area (Long), Text Area (Rich), etc.
-
To view the number of API requests, perform the synchronization, go to Setup → Company Settings → Company Information, and check the API Requests, Last 24 Hours field.
Metadata Components and Related Error Handling
What components are included in the metadata archive?
The list of components is available here. Also, the metadata archive includes all offline objects that were specified on the CT Mobile Control Panel: Offline Objects / CT Mobile Control Panel 2.0: Offline Objects.
How often should you rebuild the metadata archive?
We recommend enabling a metadata checker and setting a schedule for a metadata checker according to your business processes, such as the frequency of updating settings on the CT Mobile Control Panel tabs, changing lookup filters, creating custom labels, managing validation rules, etc.
Why were not the up-to-date metadata components downloaded during the full or mixed synchronization?
The metadata archive has not been created or updated. Some functionality may incorrectly work, for example, offline validation rules.
-
Check the cloud token (refer to CT Mobile Control Panel: Tools / CT Mobile Control Panel 2.0: Tools) is valid.
-
Create a ZIP archive or refresh metadata in the ZIP archive. We recommend enabling a metadata checker. Also, it is possible to set a schedule for a metadata checker or manually create/update the metadata archive.
Why is the new translation for an object or a field not displayed in the CT Mobile app?
Translation Workbench is used to maintain translated values for metadata and data labels in Salesforce org, for example, to translate fields, objects, related lists, etc.
-
If the translation is absent, the label will be displayed.
-
If the translation has been added, check the metadata archive is created or updated. We recommend enabling a metadata checker. Also, it is possible to set a schedule for a metadata checker or manually create/update the metadata archive.
-
Also, check the Application Language article.
The lookup filter has been changed. Why has not it been downloaded to the device?
The lookup filters are the components of the metadata archive. If you created or changed the lookup filter, it is necessary to rebuild a metadata archive. We recommend enabling a metadata checker. Also, it is possible to set a schedule for a metadata checker or manually create/update the metadata archive.
The metadata checker has been enabled. Why are not the up-to-date metadata components downloaded to the device?
Please note that the creation of the metadata archive may take some time.
Follow steps:
-
Go to the Setup → enter Apex Jobs in the Quick Find box → click the Apex Jobs page.
-
Check that there are no errors in the classes:
-
Schedule_LastModifiledDate is used to build a metadata archive. If the status of the Apex class is Failed, then the metadata archive has not been compiled. Refresh the cloud token value and re-build the archive;
-
Schedule_CheckRetrieveStatus is used to retrieve a metadata archive. If the status of the Apex class is Aborted, then the metadata archive has not been compiled. The class will request the archive until the archive is compiled, and then the class status will change to Completed.
-
Synchronization Error Handling
How to send the application data dump?
Go to the Send Application Data Dump article.
What to do if the sync process has stopped due to missing the CT Mobile license?
To use the CT Mobile app, assign the CT Mobile license to the mobile users.
What to do if the sync process has stopped due to an inactive organization error?
This error occurs when the Salesforce organization is no longer active. Disconnect then reconnect from Salesforce.
What to do if synchronization takes too long?
The duration of the sync process depends on:
-
the internet connection. Check the requirements for the connection.
-
amount of data. To avoid the synchronization of the large data, customize the criteria to download desired records of offline objects.
-
amount of modified components (objects, fields, layouts) or changes provided on the CT Mobile Control Panel / CT Mobile Control Panel 2.0. In this case, mixed synchronization is in progress instead of fast synchronization, and the sync process takes more time.
What to do if the INVALID_TYPE error occurs?
The INVALID_TYPE error occurs if you haven’t access to a field because of revoked access in Salesforce. When you perform fast synchronization, the system cannot retrieve records of objects because the current user has no access to several object fields.
To avoid this issue, we recommend this sequence of steps:
-
Users perform fast synchronization.
-
The administrator makes changes to the object model in Salesforce (sharing rules, adding and removing fields, changing a profile for a user).
-
Users perform a full synchronization.
What to do if the UNKNOWN_EXCEPTION error occurs?
The UNKNOWN_EXCEPTION error occurs due to either an incorrect setting or a Salesforce error.
-
Identify the query where the error occurs during synchronization, and check it in Workbench.
-
If the queries are correct, contact Salesforce and report the error.
What to do if the MALFORMED_QUERY error occurs?
The MALFORMED_QUERY error occurs when the SOQL filter is incorrectly specified for the offline object. Check the SOQL query in the error message.
What to do if the INVALID_FILTER_QUERY_OPERATOR: invalid ID field occurs?
The INVALID_FILTER_QUERY_OPERATOR: invalid ID field error is due to a temporary mobile record ID being inserted into the reference field when the query is formed. Check the custom logic that inserts the temporary ID in the field.
When does No connection to Salesforce occur?
This error occurs in the following cases:
-
No internet connection on the device.
-
There is an incident on the Salesforce side, for example, https://status.salesforce.com/incidents/6406.