Insert excerpt | ||||||||
---|---|---|---|---|---|---|---|---|
|
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 table-actions and record-actions to configure user interaction with data; see Using Table-Actions.Overview
Actionflows control the interactions users have with your application and its data. They are reusable, which means a single actionflow can be used in multiple places with different inputs.
An actionflow is a diagram in which you create the functionality of your application. An actionflow is Actionflows are a graphical means of creating the user functionality for your application made up of individual actions, or nodes, wired together. The actionflow is then wired onto the screen using connectors and attached to nodes wired together, each performing a specific action such as opening a screen or saving data.
An actionflow is wired onto a screen(s), or scheduled task, using an event handler, such as a button or double-click, on a:
- Component, such as a button or areaButton
- Grid view component and its attributes
- Card component.
- View
- Card Container
Actionflows can also:
- Be scheduled to run at a specific point in time.
- Be configured as an incoming API to PhixFlow. See PhixFlow Incoming API
- Be used to guide a user through a series of tasks in an application, by validating input(s) and / or opening the next screen.
For example, a simple Contacts application would include an input screen where the user enters details for a new contact. When the user clicks a "save" button, PhixFlow 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:
ToolbarThe toolbar is split into 2 sections:
:
Expand | ||
---|---|---|
| ||
1. Toolbar
|
|
|
- Dragging a screen from the Repository onto your actionflow canvas will create an open screen node.
- Dragging a table from the Repository onto your actionflow canvas will ask you if you would like to create a Save, View or Analysis node.
2. Instance Origin
The origin
2. Instance Details
|
|
|
These options affect the actionflow instance:
|
|
|
|
|
|
|
4. |
Phases |
run when prompted to by a start phase node. See Using Actionflow Phases. 5. |
7. 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:
There are
9. 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, the smallest action that PhixFlow can perform is represented as a circle, called a node. Nodes Inputs |
- 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
6. Input Interface
There are 2 connection points to wire the actionflow instance inputs to the action nodes:
Defines the input(s) that initiates the actionflow. These are specific to the instance of the actionflow being used. See Wiring Actionflows. 6. Connection Points 7. Nodes |
Connection Points
Connection Points are the interface "in" and "out" of an actionflow. If we consider the actionflow as a black-box, connection points define what goes in and what comes out. See Wiring Inputs Into an Actionflow. Inputs, such as grid data, mouse clicks and scheduled tasks are mapped onto connection points.
Nodes
Nodes are the building blocks of actionflows, they perform specific tasks and are wired together to make up the overall actionflow.
A Node is represented as a circle with an icon and can be:
the output connection point of one node to the input connection point on the next. In this way, you- 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 a screen(s) in an application.
- gateways, which are decision points with logic to determine the path that PhixFlow takes next.
- API integrations which call an external API and read its content.
Nodes are added to the canvas by dragging them from the toolbar or by clicking on a node on the toolbar to display existing items in the repository and dragging these onto the canvas.
For details on the different nodes and how they are used see Using Actionflow Nodes.
Connections and Mappings
Connections link nodes together, and data is mapped on each connection from the Output Attributes of one node to the Input Parameters of another node. In this way we create the logical steps needed to complete a specific piece of functionality.
To learn more, see Using Actionflow Nodes.
Anchor | ||||
---|---|---|---|---|
|
Reusing Actionflows
Actionflows can be reused 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 processing address data or to open a specific screen. For each instance of an actionflow, you specify the data that the actionflow uses by wiring into its connection points.
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 connectionsinputs. 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 which is mapped onto the Connection Point for its instance of the actionflow:
- Instance 1 is of the actionflow with input from
Postcode
:Postcode
data from the Contact App - Instance 2 is the actionflow with input from
Zip Code
of the actionfow:Zip Code
from the Asset Manager App.
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?
API Integration
Connect to External APIs
The HTTP Node is used in to establish a connection to an external API for the purposes of retrieving or writing to it. When reading data from an API, the HTTP node is combined with a JSON Node which reads incoming data and converts it into a workable format for PhixFlow. See HTTP Node and JSON Node.
Internal API Connections
Actionflows support the creation of APIs into PhixFlow. This is achieved by setting an Actionflow to be an API End-Point in its properties. See PhixFlow Incoming API.
Submitting Data
Setting an actionflow as a Submit actionflow, will ensure validation is run on the data before the actionflow is started. This allows validation issues to be returned to user to resolve before they continue.
Allow to Run with Errors
Available when the actionflow is set to submit.
It is possible to set an actionflow to run even if it contains validation issues. For example, a customer services application records user details, if the user does not have all mandatory information available we might wish to save the data entered so far and progress at a later data when this information becomes available. See Adding Validation.
Nesting Actionflows
Actionflows can be embedded within one another, this essentially creates a bespoke node to perform a specific task. For example, an actionflow which sets nonstandard country information to a two digit ISO country code, could be nested within an actionflow that standardises address information. See Actionflow Node.
Phases
Actionflows can be separated into
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Confirmation Dialogs
Confirmation dialogues can be added to Actionflows, these ask the user for a confirmation before continuing, for example, "Are you sure you wish to archive these records?". Confirmation screens are setup in a specific way detailed in Configure a Confirmation.
Security
Security can be applied to Actionflows so that only those with sufficient permissions can run the actionflow. Further to this if an actionflow is assigned to a button and the user does not have permission to run the actionflow, the button will not be displayed on a screen. See Actionflow Properties.
Actionflow Example
Expand | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||
The following example is a simple actionflow that:
|
What next?
PhixFlow Fundamentals, this course provides a practical guide to using PhixFlow including setting up Actionflows within your application.Further Reading
Child pages (Children Display) | ||
---|---|---|
|