Designing applications for offline mode
Ensure that your app operates reliably, regardless of the connection status, by adhering to the guidelines for designing offline-enabled mobile apps.
Some users might need to work with their mobile apps even if the connection to the server is unreliable or the network is not always available. With Pega Platform, you can configure your application for use on mobile devices without a network connection.
Rely on the functionality that App Studio provides, and do not implement custom code.
Ensure that you use only the following case objects:
If the application contains cases that are not offline-enabled, the offline-enabled mobile app can process them only when the device is online.
- Cases that are in the worklist
- Cases that you add to the offline-supported case type configuration
Remember that offline-enabled apps support only single worklist configurations.
Identify a stage that contains the steps that a user can take offline, and apply the following guidelines:
In every offline-enabled case type, configure a work queue for synchronization issues. In an event of an issue, a new case is created in that queue that contains the original assignment data.
- When multiple users need to perform the same offline task, you can create a child case to allow the users to perform the task independently.
- You cannot place activities and smart shapes in the offline stage.
However, you can place remote system updates and notifications at the
end of the offline stage.Configure service-level agreements or Wait shapes in your case flow to pause the process and guarantee that the preceding process steps do not conflict with the data synchronization's replay of the last user action. For more information about using service-level agreements and Wait shapes, see Completing work on time and Pausing and resuming processes in cases.
- You must configure reconciliation to handle conflicts and issues that you anticipate. Reconciliation must happen after the offline stage.
Use available features only, for example, offline-supported flow processing features, controls, and actions.For more information, see Understanding offline features.
Remember that any rules that work in offline-enabled apps do not support parameters.
Avoid using declarative indexes in offline-enabled apps.In certain offline scenarios, declarative indexes might result in duplicate index entries in the database. For more information about this type of rules, see Using declarative indexes.
Store data in data pages, and do not use clipboard pages instead.
To improve performance or work with data pages that are relatively large, use large data pages.When you use large data pages, only the records that you modify synchronize with the server. For more information about using large data pages in an application, see Improving the synchronization of offline-enabled mobile apps with large data pages.
Use the D_pyUserWorkList data page in the EndUserUI ruleset as a template.The D_pyUserWorkList rule is preconfigured for use in offline-enabled apps. When you use this rule, assignments are available offline.You can point the D_pyUserWorkList rule to a work queue instead of a worklist. You must then configure conflict resolution for the case, for situations when two users work on the same case offline.
Create an offline-ready flow in your application:
Configure data pages to store application data:
Configure worklists to display operator assignments:
- Designing the user interface of offline-enabled mobile apps
Ensure that your mobile app looks and works as designed on a disconnected mobile device by following the guidelines for designing UI for offline-enabled mobile apps.