Status: Draft

Principles of Workflow Design

A workflow refers to an automation sequence.
It can describe the monitoring of a single application or the orchestration of several apps.

Functional Description

When you design a workflow, you functionally describe the automation sequence for implementing:

  • The sequence of the screens and the actions to perform on each screen
  • The data to collect and return
  • The other actions to implement (manage files, manipulate data, and so on)


The goal of a workflow is to describe the functional requirements (Scope Of Work), not the technical implementation.

For this purpose, the Desktop Workflow designer provides:

  • the applications, pages and items declared in the Explorer perspective
  • a context structure for storing data
  • a set of functional activities (Get, Set, Click, and so on)
  • a generic comment activity for describing functional requirements


Note:

At present, the screens and items that can be used in a workflow must be declared beforehand in the Explorer Perspective.
In a future release, they can be declared on the fly from the Workflow Perspective.


Javascript Code Generation

At any time, you can generate the Javascript code from a workflow.

This generated code contains:

  • the scenario declaration
  • the steps implementation
  • some code for each included activity
  • a comment associated with each comment activity, which helps the script developer


Script Development

The generated scripts must then be completed by a script developer:

  • To implement the requirements not generated (described in the comment activities)
  • To modify the generated code, if required

Script development (coding, debugging) is still performed in the script editor.


Iteration

Functional requirements often change in the course of development.

You can change a workflow and regenerate the code, even it has been manually changed by the script developer.
This requires you to set an external code merger tool.


A workflow is functionally tied to an automation sequence. From an implementation perspective, it is tied to a scenario .

A Workflow can contain two types of design:

  • the Flowchart used to describe the sequence of pages in the automation sequence
    Flowchart
  • the PageActivities used to describe the sequence of automation actions to be performed on a page


Each of these designs may contain activities, tied to actions to be performed (Set or Get on an Item, Wait for an Event, and so on)

  • Each activity has parameters that can be edited in the Parameters Tool Window .
  • The list of available activities is presented in the Activities Tool Window , from which activities can be dragged & dropped into the current design.


The data collected during the automation sequence can be stored in context .

  • This structure is composed of folders and items
  • The context can be edited in the Context Tool Window