Skip to main content


         This documentation site is for previous versions. Visit our new documentation site for current releases.      
 

Data transforms in offline mode

Updated on April 27, 2022

Offline-enabled mobile apps support an extensive use of data transforms. With data transforms, you can save time and improve the developer experience by reducing the need for writing custom JavaScript functions.

Packaging

To use data transforms in an offline-enabled app, Pega Platform packages data transforms that match the supported features on the server. The packaging process converts the logic in the data transform to an equivalent JavaScript code on the client.

By default, the system packages the data transforms that you configure in the following components:

  • Flow connectors
  • Flow actions as preprocessing or postprocessing data transforms
  • Display refresh actions in controls
  • Run data transform actions in controls (in either the default or other page context)
  • Apply data transform step actions in other data transforms

The structure of the packaged data transforms resembles the original model of the data transform and contains only the elements that are relevant for offline-enabled apps. If a data transform matches an unsupported scenario, the offline-enabled app does not process the data transform and the system logs an error.

If an offline-enabled app runs the data transform by using a Run script action or a custom JavaScript function, the system does not automatically package the data transform. You can add these types of data transform rules to the list of offline-supported data transforms to enable their use in offline-enabled apps.

Supported elements of data transforms

Offline-enabled apps support the following actions for data transforms:

  • Set
  • Update page
  • Append to
  • Append and map to
  • Remove
  • When
  • Otherwise when
  • Otherwise
  • Sort
  • Comment
  • Apply data transform
  • Exit data transform
  • For each page in
  • Exit for each
Note: Normally, when you configure a data transform, you can manually disable individual steps of the data transform to prevent the processing of these steps. In offline-enabled apps, all steps are treated as enabled, and therefore the app performs all steps of a supported data transform.

Unsupported scenarios

Offline-enabled apps do not support data transforms in the following scenarios:

  • A source field contains the at sign (@) outside of the quotation marks (" ").

    Library functions are not supported in offline mode. Configure the source field to contain expressions such as plus (+) or spaces as an alternative solution.

  • A condition contains the at sign (@).

    Library functions are not supported in offline mode. Use client-side expressions as an alternative solution.

  • A condition does not contain a dot (.).

    Server-side when conditions are not supported in offline mode. Use client-side expressions as an alternative solution.

  • A page list index or page group index uses a property reference, for example, pyWorkPage.MyPageList(pyWorkPage.MyIndex) where the pyWorkPage.MyPageList page list uses the pyWorkPage.MyIndex property reference as its index.
  • Parameter pages and list-related keywords, such as APPEND, INDEX, LAST, are not supported in offline mode.

Additional considerations

In offline-enabled apps, when data transforms evaluate conditions, these evaluations are resolved in accordance with the principles of loose equality in JavaScript.

For properties that evaluate to a true Boolean (true, yes), the condition of a When data transform is met for the following values:

  • 1
  • "1"

For properties that evaluate to a false Boolean (false, no), the condition of a When data transform is met for the following values:

  • ""
  • 0
  • "0" or any number of zeros in quotation marks (for example, "0000")
  • Offline data transform API

    The offline data transform API consists of a JavaScript method that helps you to run a data transform in offline-enabled mobile apps by using a Run script action or a custom JavaScript function.

Have a question? Get answers now.

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

Did you find this content helpful?

Want to help us improve this content?

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

Pega.com is not optimized for Internet Explorer. For the optimal experience, please use:

Close Deprecation Notice
Contact us