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. Note: When you modify the design of your
existing offline-enabled app, ensure that you propagate your changes to mobile
devices. For more information, see Propagating application model changes to offline-enabled mobile apps.
- Rely on the functionality that App Studio provides, and do not implement custom code.
- Ensure that you use only the following case objects:
- Cases that are in the worklist
- Cases that you add to the offline-supported case type configuration
Note: If the application contains cases that are not offline-enabled, the offline-enabled mobile app can process them only when the device is online. - 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:
- 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.
Remember: 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.
Note: 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. For more information, see Routing case status conflicts in offline mode. - 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.
Tip: For best performance results, use large data pages. In an offline-enabled app that use large data pages, only modified records synchronize with the server. For more information, see Improving the synchronization of offline-enabled mobile apps with large data pages. - Optional: 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.
Note: 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.
Previous topic Working with offline-enabled mobile apps Next topic Designing the user interface of offline-enabled mobile apps