Skip to main content

Table of Contents

Designing applications for offline mode


Only available versions of this content are shown in the dropdown
Applicable to Theme Cosmos applications

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.

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.

    Create an offline-ready flow in your application:

  • 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
    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.
      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.
    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.
  • Configure data pages to store application data:

  • Store data in data pages, and do not use clipboard pages instead.

  • 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.
  • Configure worklists to display operator assignments:

  • 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.

Related Content

Suggest Edit
Did you find this content helpful?

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Ready to crush complexity?

Experience the benefits of Pega Community when you log in.

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us