Workflow

The Workflow area is where workflows can be created, published, and maintained for the Novacura Flow platform.

A workflow is a visual representation of a sequence of steps, some of which are to be performed by a user, typically on a mobile device. The workflow consists of user steps, which require the user to do something; machine steps, which connect to underlying systems and databases thru connectors; various flow control steps, which for example tell the workflow how to proceed from the current step to the next.

The sequence of steps is determined by flow sequence arrows that bind them together.

The below image shows a workflow with a start step, two user steps, and a machine step. Above the first user task is a machine step that only retrieves data and it is connected to the user task with a sequence data arrow. To the right of the sequence data arrow is a text annotation.

Get started

Under the File menu is it possible to create new, open, close, and save workflows in the same way as in most other Windows applications. When creating a new workflow, you will be prompted to enter the title, type, and schema for the workflow. It is also possible to choose a theme color and compose an icon.

Type

There are three different workflow types:

  • User workflow - workflow executed by a user

    The user workflows are the ones that can contain user steps and become user applications. Available schemas: Empty and Operation and Data

  • Machine workflow - workflow executed as a service

    Machine workflows do not contain any user steps but are executed on-demand to fetch data or perform an action. Available schemas: Empty, Datasource with Pagination and Filtering, Datasource and Operation and Data

  • Workflow fragment - part that can be included in user workflow.

    A Fragment is a type of workflow which is run within a workflow. The same fragment can be used in multiple workflows so it is beneficial to create fragments for actions that are commonly done, for example fetching user data or saving pictures. Available schemas: None

Workflow output

Available from Flow 6.14.

  • Default output (JSON)

  • Binary output (Stream)

Input Variable Schema

  • Empty

  • Datasource with pagination and filtering

    this is a workflow where features like Pagination, Sorting, and Filtering are being used on the data fetched from database or API connectors, it can also be applied when using table operations connector.

  • Datasource

    this is a workflow that should return an entire data set. For example all data from SQL table. Portal will automatically apply all parameters like pagination and filtering. This data source can additionally take Input parameters so data additionally can be filtered out (when a portlet is configured to listen to another portlet). When using Input parameter data is cached individually per user. If not, cached data is shared between multiple Portal users.

  • Operation and data

    For the map portlet

The title and description are shown in the main menu of the Flow Clients and can be changed under the Metadata panel in the Flow studio. If the workflow should be available in more than one language, add other languages under Languages found in the environment part of the Flow studio.

Icon and Color

Click on Background... and Foreground... to select the workflow icons. The NG-tagged icons are only available for the new clients, if selected and the workflow is run on an old client a default icon will be shown.

Click on a color to select the workflow color.

Managing workflow elements:

  • Create a new workflow element by dragging and dropping an element from the toolbox to the workflow canvas, or right-click on the workflow canvas and select the element type you wish to create from the contextual menu.

  • To insert a new workflow element between two existing, connected elements, right-click on the sequence arrows and choose the element from the Insert menu.

  • To insert an existing workflow element between two connected elements, drag the element to insert onto the sequence arrow and drop it when the arrow turns green.

  • To delete a workflow element, right-click on it and select Delete from the contextual menu or mark the workflow element and press the delete button.

  • To edit the configuration for an element double-click the element or right-click the element and select "Edit Configuration..." from the contextual menu.

  • If there is an error in the element configuration an error message will appear in the Problems panel.

Managing sequence arrows:

  • To add a sequence arrow from one element to another, right-click the source element and select Add Sequence arrow from the contextual menu.

  • To remove a sequence arrow, right-click on it and select Remove arrow from the contextual menu.

  • To change the target element of an existing sequence arrow, click on the target point, move the mouse to the new target element and click on it.

  • To change the source element of an existing sequence arrow, click on the source point, move the mouse to the new source element and click on it.

  • To add a joint point to a sequence arrow, right-click on the sequence arrow and select Add point from the contextual menu, or hold down the shift key and click on the sequence arrow.

  • To remove a joint point from a sequence arrow right-click on the joint point and select Remove point from the contextual menu, or hold down the shift key and click on the joining point

  • While creating or editing a sequence arrow, use the escape key on the keyboard to cancel the current operation.

  • While adding or modifying a sequence arrow, use the backspace key on the keyboard to remove the joint point closest to the mouse cursor.

  • While creating a new sequence arrow, create a new target element directly by right-clicking on the empty canvas background and selecting an element to create from the contextual menu.

Configuring sequence arrows:

To control the behavior of a Sequence Arrow, double click on the arrow text. The following window should then appear.

For the Sequence Arrow configuration, you can do the following:

  • Text: Change the name of the user step exit. This name is what the user will see as text on the exit button in the current User Step. The name of the exit can be set for each used language. What text the User will see depends on which language the user is using.

  • Available if: Use this configuration if you want to control when an exit should be available for the User. When the given expression evaluates to True, the exit will be available. Flow Script, including any variable from the workflow which can be used in the User Step, can be used to create an expression. Variables defined in the current User Step cannot be used for the Available if expression. If no expression is given, the exit will always be available.

  • Priority: Use Priority to control in which order the exit button in the User Step appears.

  • Default: This option can be used if the User Step has many exits and one of the exits should be set as the default exit. The Default option is especially useful when scanning is used to execute the workflow. If this option is checked, the current exit will automatically be selected when the user moves from the last input control on the User Step. This works the same regardless if you move forward using scanning or pressing Enter on your keyboard to move forward.

Data in the workflow

Workflows are all about collecting and consuming data. Pieces of information supplied by the user or fetched from a system or database are stored in named variables in the workflow.

For example, a user step may prompt the user to scan a part number. We may choose to store this information in a variable called, for instance, partNo. The partNo variable will then be available to all user steps following the user step where the variable is created (that is, steps that can be deterministically reached by following the arrows from the user step).

The Flow studio automatically checks the workflow to ensure that variables are used correctly; making sure that a variable cannot be consumed before it is created. However, unlike some programming languages, variables don't need to be explicitly declared beforehand - assigning a variable (in a user step or machine step) automatically brings it into existence.

When using variables in the user steps (for example in texts and lists) use {} to get a list of all available variables or write the name of the variable in {} like the picture below. In a machine step the syntax of how to get the variables differs depending on the connector used, read more about what syntax to use here: machine step.

To move the view focus to the start item, press the home button on your keyboard.

Scrolling through the workflow:

  • The Navigation panel, drag the red square to show different parts of the workflow

  • Hold down the Ctrl key on your keyboard and drag the mouse on the workflow canvas

  • The arrow keys on your keyboard

Zooming the workflow in or out:

  • The scroll wheel on your mouse

  • The View menu

  • Ctrl and + or Ctrl and -

Image/PDF export

  • To export the workflow as a PDF file, select "Export as PDF..." from the File menu

  • To export the workflow as a more print-friendly PDF file, select "Export as PDF(print)..." from the File menu

  • To export the workflow as an image file, select "Export as Picture..." from the File menu

Last updated