Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Insert excerpt
_Banners
_Banners
nameactionflow
nopaneltrue

This topic is for application designers who want to

understand the concepts of actionflows. NoteFor applications created in PhixFlow versions 8.3 and earlier, use actions and stream item actions to

configure user interaction

with data; see Using Stream Actions.

This page explains the concepts of the new actionflow feature, introduced in PhixFlow 9.0.

Overview

Actionflows are diagrams in which you create the functionality of your application. Actionflows are wired onto the screen using connectors and attached to event handers:

  • either on a component such as a button or area
  • to grid components and their attributes.
  • to card components

When the user triggers an action with an event handler, PhixFlow processes the actionflow. Actionflows can affect data, for example by making changes to stream-items, such as update or delete.

Actionflows can also move the user through their task, by validating input or opening the next screen.

For example, a simple contact application includes a screen where the user enters details of a new contact. When the user clicks the update button, PhixFlow runs the actionflow to:

  1. Check the input provided is appropriate
  2. Add the new contact stream-item to the database
  3. Provide a confirmation message.

This page explains actionflow concepts. For details of how to create an actionflow and their properties see: Creating Actionflows.

Iframe
srchttps://www.youtube.com/embed/jNdlDz9IWmM
width700px
height400px

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 or layouts, such as to update stream-items or open a screen. You can also include an actionflow as a node within another actionflow.

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 which data the actionflow uses by wiring to 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_actionflow_actionflownopaneltrue next to any actionflow field to display a list of previously created actionflows. Drag and drop the desired actionflow onto the actionflow field. The actionflow will then open for you to specify the data the actionflow needs to use in that instance.

Actionflow Diagram

Image Removed

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
    The toolbar is split into 3 sections:
    • Create
      Contains icons that you drag onto the actionflow canvas to create the different nodes, such as a calculate action.
      Image Removed
    • List
      Clicking on these options will open the repository pane to display a list of all available items in the application and associated packages for the selected action node. The available options are actionflow, screen and table.Image Removed
    • Canvas
      Contains canvas properties, such refresh, alignment and save. It will also take you to the actionflow help page.
      Image Removed
  • Instance Origin
    The origin indicates the event that triggers the actionflow instance. It displays its location in a hierarchy showing:
    • the name of 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, such as closing the screen after the action runs. 
  • Instance Inputs
    Inputs to an actionflow for that actionflow instance
    • Event starts the actionflow regardless of data. The actionflow will always run when triggered by the 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 components.
      • card components.
      • forms
  • Input Interface
    This is the first junction between the actionflow instance and the actionflow contents. The interface contains connection points which connect the inputs to the action nodes. There are 2 connection points available, these are: Insert excerpt_driving_interface_connection_point_driving_interface_connection_pointnopaneltrue Insert excerpt_request_interface_connection_point_request_interface_connection_pointnopaneltrueActionflow Canvas
    The canvas represents the reusable actionflow. It contains action nodes which are connection together using connection points. The nodes on the diagram represent individual actions that pass or process the data from the connections. The data passes using either a
    Insert excerpt_driving_connection_driving_connectionnopaneltrue or Insert excerpt_request_connection_request_connectionnopaneltrueOutput Interface
    This is the second junction between the actionflow instance and the actionflow contents. The interface contains connection points which connect the action nodes to the outputs. There is only 1 type of connection point available, a Insert excerpt_driving_interface_connection_point_driving_interface_connection_pointnopaneltrue.
  • Instance Outputs
    Outputs from an actionflow for that actionflow instance. These are data bound components which you want to send data to after the actionflow has completed. The output resembles the input area without the event.
     Outputs could be any data bound component on a screen, including:
      • grid components.
      • card components.
      • forms
  • Actionflow Nodes

    In an actionflow diagram, each smallest action that PhixFlow can perform is represented as a circle, called a node. Nodes can be:

    • data interactions - save, delete, add
    • data calls and calculations - connecting to views to look-up, use or process stream-items
    • screen interactions - to open or close screens in the application
    • another actionflow - this means you can represent a complex step as a single node
    • gateways - decision points with logic to determine which path PhixFlow takes next.

    As you add nodes to the actionflow, you wire 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. 

    Actionflow node connectionsImage Removed

    To learn more, see Actionflow Nodes.

    Reusability Example

    The picture below shows an actionflow that validates the format of data to ensure it is a valid area code. It's input connection is called Area Code.

    Image Removed

    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 App
    • Zip 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 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.

    Unreachable Actions (to do once implemented in V9)

    Actionflows can be added to screens before being assigned to an event handler. These actionflows are known as unreachable actions and appear in the property editor for that screen. These actionflows can then be dragged and dropped onto the desired component and the instance can subsequently be mapped.

    for their application.


    Actions make PhixFlow applications interactive, converting a static screen into a user interface. Simple individual actions can be combined to provide complex functionality. This enables the application user to interact with the screens, screen components and data.

    Actions can be configured using either actionflows or stream item actions.

    Actionflows

    Use actionflows in applications created in version 9.0 and later.
    Actionflows are diagrams that represent a sequence of action steps. Actionflows:

    • belong to an application

    • are reusable

    • are made up of specific actions (actionflow nodes) that are wired together

    • have input and output connections to screens, buttons or tables
    • are designed to be resilient to name changes in screens, components, tables and attributes.

    See Actionflows.

    Stream-item-actions

    Use stream-item-actions in applications created in versions 8.3 and earlier.
    Stream-item-actions are individual action steps that transform table data. Stream-item-actions:

    • belong to a table (previously called a stream)

    • use table and attribute names

    • are run in sequence to update data and interact with screens.

    • can have rules or context parameters to determine when a stream-item-action runs.

    Stream actions and stream item actions.

    Stream Actions Stream-item-actions

    Iframe
    srchttps://www.youtube.com/embed/jNdlDz9IWmM
    width700px
    height400px

    Example Action

    The following animation shows a user interacting with a Contacts application to: 

    1. Select a contact record.
    2. Edit the DOB field.
    3. Save the change.
    Image Added
    Updating a contact in a Contacts application

    What Next?

    Child pages (Children Display)