Terminologies
This section lists the terms specific to mobile apps.
Advanced Download Criteria
This refers to the configuration defined for specific records to be downloaded for the required objects, based on the attributes of a related object. This complements Download Criteria.
The relationship can have one or two levels. The records of the object at the highest level of relationship must have associated events in the configured event window. In addition, the criteria can optionally include conditions based on the attributes of the same object. The attributes include record ownership.
Example of two-level references is downloading of all the installed products in the work orders’ locations. In this case, Work Order is the highest level related object, Location is the second level related object, and Installed Product is the main object for which Advanced Download Criteria configuration is defined.
Example of one-level reference is downloading of accounts related to Work Orders. Here, Work Order is the related object and Account is the main object.
In both the above cases, the configured object’s records, as related to work orders, are downloaded only for work orders associated with events in the configured event window.
Attachments can be configured only using Advanced Download Criteria, as the relationship is between the Attachment Parent Id and the reference object (Work Order, Parts Order, and so on) Record Id.
Sharing Rules get applied for advanced download criteria records if SET014 is set to True.
Advanced Sync Conflicts
This refers to granular handling of sync conflicts at field level. Records updated in both online and mobile app after the last data sync time are considered to be in conflict only if one or more of the fields updated are the same. Otherwise, the changes from both online and mobile are merged and the records are updated in both online and mobile. This is illustrated in Sync Flows section. The options available to the mobile user to handle advanced sync conflicts are the same as those available for normal sync conflicts. This can be enabled by setting the group configuration setting SET016 to True. It is False by default.
Aggressive Sync
This refers to immediate synchronization of data when a record is saved. You can enable / disable aggressive data sync by changing the group setting SET019 (module ServiceMax iPad Client, submodule Synchronization) Select any value from the following options:
• Full Sync - To enable complete data sync .
• Smart Sync - To enable sync for objects used by specific SFM transaction.
• None (Default)- To disable aggressive sync (if you do not want the local changes to be synced on each edit).
Smart sync is available only for FSA. For other Mobile apps (iPad Classic, iPhone, Mobile for Laptop, Android), enabling Smart Sync will set the Full sync to activate by default.
Child Object
Child Objects are those that have a Master-Detail relationship with a parent object. For example, Work Detail is a child object of Work Order, Parts Order Line is a child object for Part Order. Though Parts Order Line has a lookup to Work Order, since its Master-Detail relationship is to Parts Order object, it is not considered as a child object of Work Order. It is considered as a related record.
Configuration Sync
Configuration Sync refers to synchronization of all the applicable Salesforce and ServiceMax configuration data. Salesforce configuration includes object definitions along with field attributes, picklist dependencies, custom labels, translations, and images. ServiceMax configuration data includes SFM transactions, SFM wizards, SFM searches, Mobile Configuration, Configuration Settings, and ServiceMax translations. When incremental configuration sync is executed manually or on schedule, it blocks the application from being used for the duration of the sync
Data Purging
This refers to purging of old records in the local database at regular intervals from the iPad App, to ensure that the database stores only the relevant data and does not keep growing in size, taking up space on the device.
Data Sync
Data sync refers to synchronization of all the records matching the configured Download Criteria and Advanced Download Criteria, including attachments. It also synchronizes events, related records, and child records.
|
Attached files are not automatically downloaded in iPad. Only the Salesforce records for attachments get downloaded. The actual files attached are downloaded when user chooses to download specific attachments.
|
DOD
Download On Demand / Data On Demand refers to the option to download specific SFM Search result records from online. These are records not present in the local database, and are retrieved on executing SFM Search with the option Include Online Results.
Download Criteria
This refers to the configuration defined for specific records to be downloaded for the required objects, based on the attributes of the same object. The attributes include record ownership. For example, one can configure downloading of all the work orders owned by the mobile user, with ‘Open’ Order Status. No criteria other than those configured in the Download Criteria tab of mobile configuration screen are applied, except for Sharing Rules which get applied if SET014 is set to True.
Event Sync
Event sync refers to synchronization of the logged in user’s events and tasks as per the event window configured in Mobile Configuration screen. Events are synchronized along with their related records if any (such as Work Orders) and child records of related records (such as Work Details). The child records do not include attachments and other records configured using Advanced Download Criteria.
Event Window
This refers to the date time range of events downloaded to mobile apps, as configured in the mobile configuration screen. For example, if ‘Retrieve events and tasks for the next’ is configured as 10 days and ‘Delete events and tasks older than’ is configured as 5 days, following are the event windows based on the date time of sync. All events that start or end within the event window are downloaded. Tasks created without due-date are not downloaded.
Sync Date Time
|
Event Window Start
|
Event Window End
|
15th September 2014 12:00 AM
|
9th September 2014 12:00 AM
|
26th September 2014 12:00 AM
|
15th September 2014 8:00 AM
|
9th September 2014 8:00 AM
|
26th September 2014 8:00 AM
|
15th September 2014 5:00 PM
|
9th September 2014 5:00 PM
|
26th September 2014 5:00 PM
|
15th September 2014 11:59 PM
|
9th September 2014 11:59 PM
|
26th September 2014 11:59 PM
|
As can be seen above, there is a buffer of one day applied to both the configured days (next and older than). This ensures that all the events starting and/or ending on any of the next ‘n’ (10 in the above example) and previous ‘n’ (5 in the above example) days are downloaded, irrespective of the current time and time zone, in addition to the events of the current day itself.
Field-Level Merge
Incremental Sync
Incremental Data Sync refers to synchronization of data yet to be synchronized since last data sync. It is triggered automatically under the following conditions for events and transaction data:
• When data is saved – this is called Aggressive Sync (iPad and iPhone only)
• At scheduled intervals – this is as per mobile configuration
It can be started manually for either Event (for iPad only) or Data, from the Sync Screen.
Incremental Configuration Sync refers to synchronization of updates to Salesforce and ServiceMax configuration since the last configuration sync. It can be started manually from the Sync Screen, or when the user is prompted to start it at scheduled intervals (iPad only).
Initial Sync
Initial Sync refers to the first time synchronization of the client app after install. This sets up the application for use. Initial Sync executes configuration sync followed by data sync.
Mobile Configuration
This refers to the configuration screen using which options available for mobile apps can be configured per ServiceMax group profile. The available options are sync interval and conflict settings, data purge settings, download and advanced download criteria, Chatter, Knowledge Base, Location Ping, and API Access setting
Related Record
Related records are those records which have a lookup to records that are downloaded to the mobile app. For examples of related records are Work Order's Account, Contact, or IB, Work Detail's Part, IB, or Location, etc
Reset Application
Reset Application synchronizes the same data in the same way as initial sync. It executes configuration sync followed by data sync. Before this, Reset Application clears the existing database. This operation is not reversible. When data is not regularly purged, the size of the client database can increase over time, resulting in performance degradation. Reset Application is handy in clearing the database in such scenarios.
SFM Mobile Permissions
This refers to the configuration screen using which View Record and Create New types of SFM transactions accessible to mobile app users are defined per ServiceMax group profile. Successive Sync This refers to the successive synchronization of changes made to a record in iPad/iPhone, when the previous changes to the record are being synchronized.
The new changes are not lost, and are taken up for sync automatically, immediately following the current aggressive, manual, or scheduled sync cycle. This improves the usability of the app by not locking the records currently being synced, and by allowing the mobile user to continue to edit the record when data sync is in progress.
The figure below illustrates successive sync.
Sync Conflicts
Sync conflicts arise when a record is updated in mobile app as well as in online, after it was downloaded into mobile or after it was synchronized last time between online and mobile. Following scenario illustrates when a sync conflict arises:
1. WO-00000001 created at 9am
2. User 1 downloads WO-00000001 at 9:15 am
3. User 2 downloads WO-00000001 at 9:30 am
4. User 1 modifies WO-00000001 in mobile at 9:45 am and synchronizes immediately
5. WO-00000001 is updated in Salesforce at 9:45
6. User 2 modifies WO-00000001 in mobile at 10:00 am and starts synchronization
Mobile will report a conflict to User 2 since WO-00001 has been modified at 9:45 after User 2 downloaded at 9:30. When there is a conflict, one of the following happens depending on the mobile configuration:
• Online changes are applied
• Mobile device changes are applied
• Mobile user is prompted to choose online updates or mobile updates as the conflict resolution options for every conflict record
To avoid any data dependency issues, synchronization stops until all conflicts are resolved.
Sync Errors
Sync errors are DML errors encountered when a record inserted/updated/deleted in a mobile client is synchronized to online. Insert/update/delete of records in online can fail for a variety of reasons such as Salesforce Validation Rule failure, Apex trigger failure, Data Model constraint violations (missing mandatory field, invalid value, missing field), “Storage limit exceeded” error, and so on. When sync errors are displayed to mobile user, user is presented with options to correct the error and retry sync, or undo the original operation in the mobile app. To avoid any data dependency issues, synchronization stops until all errors are resolved.