Nanoflow actions and whether they will trigger a server request on Web

Nanoflow actions can be used in both Web, Offline and Native profiles. The behaviour of Nanoflow actions differs per profile, this reference guide is limited to Web and lists the number of network requests per action for Nanoflow and Microflow.

Note: even if the number of network requests is equal, a microflow is often preferred because of security considerations: Don’t use nanoflows for web applications

Actions

Object actions

Persistable entities

ActionPropertiesNanoflowMicroflowResult
Create object11Equal number of network requests.
Create objectwith commit21Microflow has fewer network requests.
(additional request for the commit in a nanoflow)
Create objectwith event (after create)11Equal number of network requests.
Create objectwith commit and event (after create)21Microflow has fewer network requests.
(additional request for the commit in a nanoflow)

Non-Persistable entities

ActionPropertiesNanoflowMicroflowResult
Create object01Nanoflow has fewer network requests.
(a NPE can be created client side if it has no additional properties
Create objectwith commit01Nanoflow has fewer network requests.
(a NPE can be created client side if it has no additional properties
Create objectwith event (after create)11Equal number of network requests.
Create objectwith commit and event (after create)11Equal number of network requests.
Create objectwith 1 or more system attributes (e.g. createdDate)11Equal number of network requests.
Create objectwith commit and 1 or more system attributes (e.g. createdDate)21Microflow has fewer network requests.
(additional request for the commit in a nanoflow)

Client actions

ActionPropertiesNanoflowMicroflowResult
Open page01Nanoflow has fewer network requests.
Close pagesingle01Nanoflow has fewer network requests.

Observations

  • Nanoflows require an additional network request for the commit on a create object
  • Nanoflows require a network request (server interaction) for NPE’s if it contains a system attribute (createdDate, changedDate, owner, changedBy)
  • Open/Close page actions sometimes trigger a network request for the page xml file, this happens for both Nanoflows and Microflows and are not counted in the number of network requests