Workflow Tooling¶
In IFS Cloud, following main tools are available to perform various workflow configurations.
- Workflow Registration
- Workflow Designer
- Troubleshooting
- Workflow Observations
- Workflow Status
- Workflow Templates
- Workflow Management
- Workflow Commands
- Transfer Workflows with Application Configuration Packages
- Workflow Execution Logs
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.
Select the workflow from Workflow Manager. The below view is presented when selected.
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.
Click on "Next".
Next section of the "Projection Action Configuration", "Action Details" will open.
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
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.
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.
-
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.
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.
- Follow Executing a Workflow using a Projection steps (If not already done).
- Upload testProjectionActionCascade.bpmn and deploy.
- Set up Projection Action for testProjectionActionCascade.bpmn as below.
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 the 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: