Insert excerpt | ||||||||
---|---|---|---|---|---|---|---|---|
|
Note |
---|
This page explains the concepts for actionflows, which were introduced in PhixFlow 9.0. For applications created in PhixFlow versions 8.3 and earlier, use streamtable-actions and stream-itemrecord-actions to configure user interaction with data; see Using Table-Actions. |
Iframe | ||||||
---|---|---|---|---|---|---|
|
Overview
An actionflow is a diagram in which you create the functionality of your application. An actionflow is made up of individual actions, or nodes, wired together. The actionflow is then wired onto the screen using connectors and attached to an event handerhandler, such as a double-click, on a:
- Component, such as a button or area
- Grid view component and its attributes
- Card component.
When the application user triggers an action with an event handler, PhixFlow processes the actionflow.
Actionflows can affect data, for example by making changes to data records, such as update or delete. Actionflows can also move the application user through their task, by validating input or opening the next screen.
For example, a simple Contacts application would include a n input screen where the user enters details of for a new contact. When the user clicks a "save" button, PhixFlow can run runs the actionflow to:
- Check the input provided is appropriate.
- Ask the user to confirm they want to add the contact.
- Add the new contact record to the table.
This page explains actionflow concepts. For details of how to create an actionflow, and reference information about its properties see: Creating Actionflows.
Actionflow Page Layout
The illustration shows the layout of an actionflow diagram. The central white area with blue outline represents the reusable part of the actionflow. The outer grey area with pink numbers represent items related to the actionflow instance only. The numbered areas are explained below:
- Toolbar We no longer have create and listToolbar
The toolbar is split into 3 sections:- Action Nodes
Contains
- actions that you drag onto the actionflow canvas to create the different nodes, such as a calculate action.
- Screen and Table
Clicking on these options will open the repository pane to display a list of all available items in the application and associated packages
- .
- The available options are
Canvas- Screen and Table. Clicking on these options will open the repository pane to display a list of all available items in the application and associated packages.
- Dragging a screen onto your actionflow canvas will create an open screen node
- dragging a table will ask you if you would like to create a view or save node.
- Canvas Properties
Contains canvas properties, such refresh, alignment and save. It will also take you to the actionflow help page.
- Action Nodes
- Instance Origin
The origin indicates the event that triggers the actionflow instance. It displays its location in a hierarchy showing:- the name of screen screen.
- the name of the component, such as a button, grid or card component.
- the event type, such as a double-click.
- Instance Options
These options affect the entire actionflow instance:using entire is ambiguous as its only this instance?- Show event location will take the user to the screen containing actionflow instance and highlight where the origin of the action is.
- Close screen after action completes will close the screen that contains the actionflow instance that is running.
- Hide loading spinner will hide the toast that appears in the bottom left corner of the screen.
- Actionflow Phases
Actionflows can be made up of multiple phases. The first phase will run automatically when the action is triggered. Any additional phases will only run when prompted to by a start phase node. See Using Actionflow Phases. - Instance Inputs
The inputs to an actionflow for that actionflow instance:- Event starts the actionflow regardless of data. The actionflow always runs when triggered by the instance origin.
- Data provides data to the actionflow. The data displayed belongs to the same screen or component as the event handler. Data could be any data-bound component on a screen, including:
- grid views
- cards
- forms
- Input Interface
There are 2 connection points to wire the actionflow instance inputs to the action nodes in the reusable actionflow:
to provide data that the actionflow will process.Insert excerpt _driving_interface_connection_point _driving_interface_connection_point nopanel true
to provide look-up data to the actionflow.Insert excerpt _request_interface_connection_point _request_interface_connection_point nopanel true
- Actionflow Canvas
The canvas represents the reusable actionflow. It contains actions, or nodes, that are wired together using connection points. Each action has a specific purpose. It can look-up data, processes data or pass data on unchanged. Data passes from one action to another via:- a
to move data through the actionflowInsert excerpt _driving_connection _driving_connection nopanel true - a
to look-up data and use it in a calculation.Insert excerpt _request_connection _request_connection nopanel true
- a
- Output Interface
There are
connection points to wire the reusable actionflow to the actionflow instance outputs.Insert excerpt _driving_interface_connection_point _driving_interface_connection_point nopanel true - Instance Outputs
For an actionflow instance, connect to the specific data-bound components to which you want to send data when the actionflow has run. The instance outputs are similar to the instance inputs, without events. Data can be output to a data-bound component on a screen, including:- grid views
- cards
- forms.
Actionflow Nodes
In an actionflow diagram, each the smallest action that PhixFlow can perform is represented as a circle, called a node. Nodes can be:
- data interactions, such as save, delete, add.
- data calls and calculations that connect to data views to look-up, use or process records.
- screen interactions, for example to open or close screens in the applicationanother actionflow, so that you can simplify an actionflow diagram by nesting complexity in nodes. You can also reuse common functionality as a single node; see Reusing Actionflows, below. Are we getting this?
- gateways, which are decision points with logic to determine the path that PhixFlow takes next.
As you add action nodes to the actionflow, you wire (OR MAP?) and map the output connection point of one node to the input connection point on the next. In this way, you are create the logical steps needed to complete a specific piece of functionality.
To learn more, see Using Actionflow Nodes.
Anchor | ||||
---|---|---|---|---|
|
Reusing Actionflows
You can reuse an actionflow throughout your application. This means you only need to create one actionflow for functionality that occurs on different screens, such as to update records or to open a screen.
Note |
---|
When you reuse an actionflow, you do not create a copy of it. You are using the actionflow itself. An instance of an actionflow is the combination of the actionflow and its input and output connections. You can change an actionflow and the same change occurs in all the instances where it is used. The changes do not affect the input and output connections of the actionflow. |
For each instance of an actionflow, you specify the data that the actionflow uses by wiring into connection points. This means you can connect to attributes with any name, and changing the names of these attributes will not affect the actionflow.
To select an existing actionflow to reuse it, click
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Reusability Example
The picture below shows an actionflow that validates the format of data to ensure it is a valid area code. Its input connection is called Area Code
.
The actionflow is reused by two applications, shown on the left. The actionflow is owned by a package that is shared between the applications. Each application has separate data with different fields. The actionflow takes data from:
Postcode
data in the Contact AppZip Code
in the Asset Manager App.
This shows that an actionflow can take its input from an attribute with any name. It also illustrates the 2 instances of the actionflow:
- Instance 1 is the actionflow with input from
Postcode
- Instance 2 is the actionflow with input from
Zip Code
As actionflows Actionflows are reusable, you:
- create an actionflow, setting up all the nodes, wires and the logic
- use and actionflow, connecting it to screen components, events and data, thin mapping the data through the actionflow.
Note |
---|
To make actionflows reusable between different applications they must belong to a package which is shared between the two applications. |
HTML Comment | ||
---|---|---|
| ||
Unreachable ActionsYou can add an actionflow to a screen before assigning it to an event handler. These actionflows are known as unreachable actions and are listed in the screen properties. When you are ready to wire the actionflow, from the screen properties Unreachable Actions section drag the actionflow onto a component on the screen. PhixFlow opens the actionflow diagram where you can connect the instance inputs. |
What's next?
Child pages (Children Display) | ||
---|---|---|
|