With 7.0 we would be opening up one of the most awaited features in the product i.e. Offline eForms capability. The offline capability is available not just for new request but also the task forms as well. It is a more advanced implementation of Offline compared to some of the other products with following features
- Allows designer full control over which forms need to be exposed offline. You can pick and choose and app clearly shows which forms are available for offline access and which are not available.
- Works for both new request and task forms
- Typically form with lookups don’t work in offline for most products which limits offline use to plain data entry form which is understandable as there is no connectivity. However in our case, it will still support form load lookups which will be cached in the downloaded form definition so you can still use some lookup capabilities.
- If no internet connection is available, the status is indicated in the app. Also the last synced time is shown. If there is internet connection, but AgilePoint Server can’t be accessed in mobile, then user can run the app in offline mode by enabling offline mode from settings.
- The offline forms can be accessed from my apps screen, there are indication against each forms on the right corner, which lets the user know which forms available for offline are.
– Green : Indicates forms is available for in offline mode
– Amber: Indicates forms is available for offline mode, but it’s not been cached on the mobile device
- Forms which are submitted in offline mode are moved to Outbox. These forms will synced back to server once the mobile app is online. Before any forms synchronization is done, the task is first validated in case of task form and for the submit form, the app is validated with current version published.
- If the task or the form is updated on the server, then an error icon is shown for the items present in Outbox. On tap user can delete the record.
Ofcourse not everything can be done Offline so it comes with certain known limitations which are all present in documentation. These are pretty standard limitations is any product which supports offline.
Important Considerations for Offline Forms
When designing an offline form, the key thing to remember is that the form should not rely on any dynamic behavior that requires an internet connection for e.g. make a lookup to backend system to retrieve data if field value is changed and consequently apply some rules.
Avoid usage of following controls or components
- Image Control: App level images would be rendered, but any images referred from external source wouldn’t be rendered unless you have internet connection. Please note that you might have internet connection but no connectivity to AgilePoint which will still be considered offline so in that case images will render.
- Hyperlink Control: Links would be rendered, but can’t navigate to links unless you have internet even if you are offline from AgilePoint server perspective.
- File Upload Control: The documents uploaded in the control would be visible, however tapping on the files doesn’t download the file. Also uploading a file is not supported.
- People Picker and User list Control : This would be rendered, but will not be able to select the new users as this is dynamic lookup back to server to get list of people.
- Auto Lookup and Control Level Lookups: Only the lookups configured on form load would be cached.
- Secure Credentials Control: This control (used only for SAP as if now) wouldn’t be functional in offline mode.
- Map Control: This control wouldn’t be functional in offline mode unless you have internet connectivity even if you are offline from AgilePoint server perspective.
- Multilingual: The form which is enabled with multilingual, only the default locale would be cached.
Here is a short video on how it works in Android