Rollback Object

Last modified: February 16, 2024

1 Introduction

The Rollback object activity can be used to undo changes (that have not been committed) made to the object in the part of the flow preceding the activity. Furthermore, it deletes objects that have been created but never committed.

2 Properties

An example of rollback object properties is represented in the image below:

rollback object properties

There are two sets of properties for this activity, those in the dialog box on the left, and those in the properties pane on the right.

The rollback object properties pane consists of the following sections:

3 Action

The Action section of the properties pane shows the action associated with this activity.

You can open a dialog box to configure this action by clicking the ellipsis () next to the action.

You can also open the dialog box by double-clicking the activity, or right-clicking the activity and selecting Properties.

3.1 Object

Object defines the object that needs to be rolled back.

3.2 Refresh in Client

This setting defines how changes are reflected in the pages presented to the end-user.

Default: No

3.2.1 Microflow Is Called from the Client in an Online App

If Refresh in client is set to No, the rollback is not reflected in the client.

If set to Yes, the object is refreshed across the client, which includes reloading the relevant data sources.

3.2.2 Microflow Is Called in an Offline or Native App

When inside a microflow that is called from an offline or native app, the Refresh in client option is ignored and functions as if it was set to No.

For more information, see the Microflows section of Offline-First Data.

3.2.3 Action Is in a Nanoflow

When inside a nanoflow, the rollback object activity reloads data sources as if Refresh in client was set to Yes.

4 Common Section

For more information on properties in this section, see Common Properties.

5 What Does Rollback Do?

Pressing a Cancel button or triggering a rollback object activity will initiate the rollback events.

  • Events:
    • All before and after events are executed
    • If any before-rollback event returns false, an exception can be thrown
    • If an exception occurs during an event, all the applied changes are reverted with the default error handling behavior
    • Changes made prior to the rollback are kept
  • Database:
    • There is no database communication happening during this event unless it is specified in a before- or after-create event
  • Result:
    • An object with the state Instantiated will be removed, and an object with any other state will be reverted back to the values it had during the last commit