What is an Embedded Actionflow?
Embedding Actionflows allows an action node or group of action nodes to be nested within an Actionflow node that can be reused without reusing the entire Actionflow, for example, a Calculate Action that normalises an area code can be extracted from its original Actionflow and reused within many other Actionflows by embedding using an Actionflow node.
For reusing entire Actionflows, see 1.17 Instances and Reusability. For extracting or moving an action(s) to another Actionflow, see 2.13 Extracting and Moving Actions.
Embedding Compatibility
When an attempt is made to embed an actionflow a number of checks should be made
The actionflow must not have phases or start phase nodes, confirmation dialogs
That no embedding loops are created (A embedding B, which embeds C which embeds A
A recursive check is made, at the minimum checking on descendants don’t embed A (as existing loops should have previously been prevented, but better to keep track of the layers in case you encounter A->B->C->B..
An actionflow in an app can’t be embedded in a package
An error plink will be displayed if the embedded Actionflow is incompatible (e.g. has phases, confirmation dialogs).
When editing an action flow which has been embedded it will prevent the creation of phases etc.
Embedding Actionflows
An action(s) can be embedded by using the Extract to new Actionflow option, see 2.13 Extracting and Moving Actions, or by opening the list of Actionflows in the Repository and dragging onto the canvas.
- Click the Actionflow option in the toolbar
- Drag and drop an Actionflow from the Repository onto the canvas
- An embedded Actionflow node is created
- If any edits are required to the functionality within the embedded Actionflow, right-click on the embedded node and choose Display
Worked Example
Here's a worked example using the Shop Data (available from the Learning Centre).
In this example, we are using:
- A Staff Form screen containing blank input fields, set up to create a new staff member - this screen was created using the Edit Form template
If you are completing this chapter as part of the Actionflow course and using a training instance, the data and screens have already been pre-loaded into the Actionflow Intermediate Application. For this example, we'll be working on the Save button on the Staff Form screen.
GIF/SCREENSHOT OF FINISHED RESULT
Prerequisites
.
Embed Proper Case Actionflow
In this example, we'll embed an extracted action node that converts a string entered for a First Name attribute to proper case. We'll embed this within the Save action on the Staff Form.
Embed Extracted Action in Actionflow
- Open the Actionflow on the Save button on the Staff Form
- Click Actionflow in the toolbar and drag the Proper Case Actionflow from the Repository
- Drag it onto the connector between the input and Save action
- Choose the out_ProperCase connection point from the Select Connection Point pop up
- Click on the connector between the Proper Case and Save action
- Map across the ProperCase attribute from the embedded action node to the firstName attribute on the Save action