Skip to content

Workflow Tooling

In IFS Cloud, following main tools are available to perform various workflow configurations.

Workflow Registration

Process Definition

This section provides a user interface to manage the available Workflow in the IFS Cloud.

On the left, it displays all the Process Keys for each Workflow which is either created or uploaded by the User.

  • Process Key: Unique key that distinguishes between different Workflows
  • Module: List down all the IFS Components. If the Workflow is triggered via another component the Module will consist with the component name, else the user could select the Module from the drop-down.

Deletion of a Workflow is only permitted when all the versions under the Workflow are undeployed.

Control Description
Used to create a new Workflow or a Workflow Template.
Used to upload a BPMN file from the File System.
Used to start watching a workflow. More information can be found in Workflow Observations

Process Version

Each Workflow could consist of different versions based on the changes to the Workflow. Versioning will enable the users to maintain different versions of the same workflow and enabling them to deploy based on the requirements.

Control Description
Opens the User selected version in the Work Designer.
Copies the existing version and creates a new version with a user-defined version.
User can lock a undeployed Workflow version for Editing, which restricts other users from doing changes to that version until the locked user unlocks it. A Workflow admin can unlock the Workflow version by any user. If the Workflow version is deployed, the Lock Button will disappear.
User can deploy a Workflow version to the server which is then ready to be actioned/used. More information can be found in Workflow Management.
User can un-deploy a Workflow version from the server. More information can be found in Workflow Management.

Deletion of a Workflow Version is only permitted when the version is in the Undeployed status. Further deleting the last Workflow version under a Workflow will delete the entire Workflow from the system.

Workflow Information Section

Consist with the unique Process Key and the specific Version selected by the User.

Edit Information Section

Label Status Description
Locked Status Open The workflow version is open for changes.
Editing The workflow version is currently being edited by a User.
Permanent Lock The workflow version is the currently deployed version, and no changes are allowed on this version.
Locked User - Displays the User who has locked the specific version.
Last Edit Data - Timestamp for the latest changes in the specific version.

Deployment Information Section

Label Status Description
Deploy Name - Deployment name is specified when deploying the Workflow version.
Deploy Status Active Currently deployed version.
Inactive Previously deployed version.
Undeployed Version is never deployed.
Last Deployment Date - Workflow version deployed Timestamp.
Locked User - Displays the User who has deployed the specific version.

The user can only have one active deployment from the workflow versions created.

Projections

A Workflow can be configured to run when a specific projection is called. This is done through a projection action that is attached to the workflow.

What is a Projection Action?

Projection Action is the configuration that links a Workflow with a Projection to trigger the Workflow when the Projection is invoked.

There are three types of Workflow Timings in which a Workflow can be executed. These timings are defined relative to the Projection Execution Time.

  • Before
  • After
  • Asynchronous

Sometimes all of these timings might not be available based on other options that are configured in the Projection Action Configuration. Refer Workflow Timings section for more details about Timings.

There are two main types of projection actions.

  • DATA
  • CALL

The 'DATA' action type is for reacting to CRUD operations. The 'CALL' type reacts to functions or actions within a projection. When there is a CRUD operation or function/action being performed, workflow will be triggered.

Creating a Projection Action

Below are the steps to create a projection action.

Deploy the workflow.

Select the workflow from Workflow Manager. Below view is presented when selected.create_projection_action_create_view

Click the below control under the "Projection Action Information" section.

Control Description
Open Add Projection Action Wizard

The "Projection Action Configuration" wizard will open. This will guide you through setting up a Projection Action. In the first section, "Projection General Info", select the Projection Name from the searchable drop down list.

Note: Entity Service APIs are not listed for reaction to projection.

create_projection_action_select_projection

Click on "Next".

Next section of the "Projection Action Configuration", "Action Details" will open.

create_projection_action_action_details

These are the Different options available in the "Action Details" section.


Action Type

Option Description
DATA Projection action type is Data
CALL Projection action type is Call

Entity Set Name

Displayed when the selected "Action Type" is "DATA", the list includes both primary entity sets and nested data collections related to a parent entity instance.

Call Name

This dropdown will only appear if the selected "Action Type" is "CALL". All the Functions/Actions attached to the selected projection from "Projection General Info" section will appear here.

CRUD Action

create_projection_action_action_details_crud_actions

This Section will only appear if the selected "Action Type" is "DATA". Multiple options can be toggled. This tells IFS Cloud Web client to run the workflow if the Projection does any of the Toggled Actions on the Selected Entity Set.

Type

Option Description
Validation Attached workflow type is "Validation"
Process Enrichment Attached workflow type is "Process Enrichment"
User Interaction Attached workflow type is "User Interaction"

To read further about Workflow Types, please refer Workflow Types.

Timing

Set of options this dropdown can have will change based on what's selected for "Type".

If "Type" is,

  • Validation
Option Description
Before Workflow will execute before the action done by projection
After Workflow will execute after the action done by projection
  • Process Enrichment
Option Description
Before Workflow will execute before the action done by projection
After Workflow will execute after the action done by projection
Asynchronous Workflow will execute Asynchronous of the action done by projection
  • User Interaction
Option Description
After Workflow will execute after the action done by projection

Select the desired options and click "Next". Then "Enable Projection Action" will display.create_projection_action_enable_projection_action Enable Projection Action and click "Finish".

Now the workflow is attached with the projection and will be run if the above configured conditions are met.

Executing a Workflow using a Projection

This section will show how to run a Workflow attached to a Projection Action.

Pre-requisites: ADCOM component should be enabled in the environment to run this Workflow.

  • Upload the diagram testProjectionAction.bpmn and deploy.

  • Set up a projection action for uploaded bpmn as below. projection_action_example

  • Now, whenever you click the Lock/Unlock command in the Workflow version page, the testProjectionAction Workflow will run and create (if not exist) a Regulatory Body record with RegulatoryBodyCode PRACT. projection_action_example_refresh_view

Control Description
Click the Lock/Unlock command to trigger the Projection Action

Initiating Workflows from a Projection Delegate

A projection call resulting in an IFS API Task execution within a Workflow can also be used as the starting point for another Workflow. This is done by creating a Projection Action for the second Workflow with details of the Projection call that is done by the IFS API task of the first Workflow.

Below steps show how to create this kind of sample cascade relationship between 2 workflows using Projection Actions.

Pre-requisites: ADCOM component should be enabled in the environment to run this Workflow.

Now, when the Lock/Unlock command is clicked in the Workflow version page, A regulatory body is added and from testProjectionAction.bpmn. Workflow testProjectionActionCascade.bpmn is then run as testProjectionAction.bpmn invokes RegulatoryBodyHandling -> create RegulatoryBodySet.

Note:

Make sure to delete the Regulatory body with the code 'PRACT' from list when testing is done.

Events

Relationship between a Workflow, Camunda Deployment and Event Configuration

A user can create a Workflow using the Workflow Manager in the IFS Cloud Web. The Workflow Manager enables the user to manage multiple Workflow versions of the same Workflow. Once a Workflow version is deployed to the Camunda Engine Camunda will refer to this version as the latest version. The user can create an Event for a particular Workflow and at runtime, the Event action will be associated with the latest deployed version in Camunda Engine. Upon triggering the Event the latest deployed Workflow version in the Camunda Engine will be executed. Therefore, even if the deployed Workflow version is not available in the Workflow Manager the user will still be able to execute the event action successfully.

Invoking A Workflow

To invoke a Workflow within IFS Cloud Web the following are required:

Custom Event

To be able to invoke a Workflow, a Custom Event needs to be configured within the system. The information for this can be found in the Custom Event section.

Business Process Automation Configured In Workflow Designer

The Workflow is then required to be set up within the Workflow Designer with the relevant BPMN steps of the Workflow to configure the output that is required. Refer to the Workflow Designer and BPMN sections for more information.

Event Action

A new Event Action Type named “Workflow” has been added to allow the invoking of a Workflow within IFS Cloud Web, the Event Action then needs to be referenced to the Custom Event that has been created along with providing a description.

Then hit Next:

The Workflow key that is assigned to the Workflow within the Workflow Designer needs to be referenced in the Workflow ID field of the Event Action. The Workflow key is located when you click off of any of the BPMN shapes in the Workspace area and the key is then visible on the Properties Panel. The following example shows the key bpaStateHandling:

The next step of the Event Action creation is to choose the type of Workflow; the different types of Workflow are explained in the Type of Workflow section.

There are two different timings relative to the Event Action when a Workflow can be invoked; the different types of workflow timings are explained in the Workflow timings section. These timings represent different stages of a transaction, or REST request where the Workflow can be invoked. Once the Event Action has been enabled, then the Workflow is ready to be tested to ensure it works as expected.

Event Action Information Section

Event Action Information section lists all the Event Actions assigned for the specific Workflow version. Refer invoking a workflow section for more information on events.

Workflow Designer

IFS Cloud Web includes the ability to edit business processes using the Workflow Designer, embedded within the Workflow Manager. This UI allows the users to configure Workflow using a drag and drop user interface. It provides our users with the ability to visually see what the correct output would be based on the conditions provided by the user and provides the ability to model BPMN graphical flow charts.

The Workflow Designer is separated into 4 sections:

Toolbox

The toolbox is where all the different BPMN shapes are situated. This is where the different tasks, events, and other tools the Workflow Designer has allows the user to perform drag and drop functionality. A symbol can be dragged to the workspace which can then be used to construct your Workflow.

Control Description
Used to drag and move the Workflow within the Workspace to a different point of the screen.
Used to group the different BPMN symbols within the workspace, to then perform actions such as move or delete.
To create space between BPMN symbols.
To connect BPMN symbols.

[^need to change this line]:

Workspace

This is where you add your different BPMN shapes to the Workflow itself which is in between the Toolbox and the Properties Panel.

Control Panel

Allows the user to perform the following actions,

Control Name Description
Download Workflow Ability to download the Workflow BPMN file from within the browser.
Download as SVG Image Download the Workflow as an image.
Validate BPMN Diagram Validates the current BPMN Diagram and displays the validation errors.
Inspect BPMN Diagram Ability to Troubleshoot Workflow.
Deploy Workflow Deploys the diagram to the server which is then ready to be actioned/used
Save Workflow As Save Workflow To Server.
Toggle Properties Panel Show/Hide Properties Panel.

Properties Panel

This is a dynamic panel based on which BPMN symbol you have selected within the Workspace. The Properties Panel is used to enter the additional configuration information required for a specific task, event, etc.

Troubleshooting

Troubleshooting allows the user to execute a Workflow and inspect the execution path, along with the relevant variables through the Workflow designer. This functionality would enable the capability to troubleshoot the Workflow before any deployments.

Troubleshoot a Workflow

Through the below button, the User can start troubleshooting. Troubleshooting can be done for an already deployed Workflow or a newly created Workflow.

Once clicked, the below window will appear, and the User can provide the inputs required for the Workflow execution.

troubleshoot_prompt

Note: The above values are subjected to changes based on the Workflow.

In case, the Workflow consists of any event action configured, the drop-down from the above dialog box could be used to select it. Through this selection, there is no business value to the troubleshooting functionality, but it will automatically fill the input fields according to the configured logical unit in the event action.

Below elaborates a scenario where an Event Action is configured,

E.g. Assume an Event Action, which consists of a logical unit as 'StateCodes'. In such a scenario, once the event action is selected, the properties defined for the 'StateCode' will be automatically filled as inputs.

troubleshoot_prompt_with_EA

Note: Troubleshooting could be enabled without any inputs.

Save, Load and Keep Inspection Data

Users can save their inspection data for future use by clicking the save button on the 'Inspect BPA' popup dialog. It will automatically download a JSON formatted file named 'info.json' and it can be loaded later.

troubleshoot_prompt_with_EA

The saved 'info.json' file can be loaded by clicking on the 'Load' button.

troubleshoot_prompt_with_EA

It will popup the 'Upload file' dialog and select the downloaded 'info.json' file to upload it.

troubleshoot_prompt_with_EA

It will load the previously saved inspection data successfully with a toast message.

troubleshoot_prompt_with_EA

Clicking on the 'Keep Inspection Data' checkbox will enable you to keep your inspection data for this session and no need to add data again and again.

Underlying Process in Troubleshooting a Workflow

Upon clicking the 'Inspect button', the execution path of the Workflow will be displayed to the User. The below diagram elaborates the high-level tasks that occur in the background.

troubleshoot_prompt_with_EA

Below displays the results of troubleshooting a Workflow, where the eye icons show the execution path. Users can hover through the eye icons and view the variables and their values at each occurrence.

execution_flow

Troubleshoot a Workflow with User Forms

When a Workflow contains User Forms, troubleshooting functionality will prompt the user to enter values. It executes the Workflow by considering the values entered. Below contains the scenario of a User Form.

UserForm

<bpmn:userTask id="Activity_1hs02sa" camunda:formKey="form1">
      <bpmn:extensionElements>
        <camunda:formData>
          <camunda:formField id="CustomerName" type="string" />
          <camunda:formField id="Payment" type="long" />
          <camunda:formField id="Paid" type="boolean" />
        </camunda:formData>
        ................................................
    </bpmn:userTask>

Once the user clicks on troubleshoot button, then the user form will be prompted.

UserForm

User should enter the mandatory values and the optional values will be replaced by default values.

UserForm

Below are the results of troubleshooting a Workflow with user form, where the eye icons show the entered user form data. Users can hover through the eye icons and view the variables and their values.

UserForm

Troubleshoot a Workflow with Loops

The Troubleshooting tool supports looping. The below workflow contains a collection of records, and the sub process activities loop through it.

UserForm

User forms will be prompted to enter data in each cycle. Once user clicks on the troubleshooting eye icon, then the data will be shown per each cycle as a pagination. The below image shows the data values of the first iteration.

UserForm

Users can click on the left or right arrows of the pagination to checkout the data values for each iteration.

UserForm