Configure workflows as per requirements
Workflows are a series of steps that moves a process from one state to another state by actions performed by different kind of Actors - Humans, Machines, Time based events etc. to achieve a goal like onboarding an employee, or approve an application or granting a resource etc. The egov-workflow-v2 is a workflow engine which helps in performing these operations seamlessly using a predefined configuration.
Before you proceed with the documentation, make sure the following pre-requisites are met -
- Java 8
- Kafka server is up and running
- egov-persister service is running and has a workflow persister config path added to it
- PSQL server is running and a database is created to store workflow configuration and data
- Always allow anyone with a role in the workflow state machine to view the workflow instances and comment on it
- On the creation of workflow, it will appear in the inbox of all employees that have roles that can perform any state transitioning actions in this state.
- Once an instance is marked to an individual employee it will appear only in that employee's inbox although point 1 will still hold true and all others participating in the workflow can still search it and act if they have the necessary action available to them
- If the instance is marked to a person who cannot perform any state transitioning action, they can still comment/upload and mark to anyone else.
- Overall SLA: SLA for the complete processing of the application/Entity
- State-level SLA: SLA for a particular state in the workflow
- 1.Deploy the latest version of egov-workflow-v2 service
- 2.Add businessService persister yaml path in persister configuration
- 3.Add Role-Action mapping for BusinessService APIs
- 4.Overwrite the egov.wf.statelevel flag ( true for state level and false for tenant level)
- 5.Create businessService (workflow configuration) according to product requirements
- 6.Add Role-Action mapping for /processInstance/_search API
- 7.Add workflow persister yaml path in persister configuration
For configuration details please refer to the links in Reference Docs.
The workflow configuration can be used by any module which performs a sequence of operations on an application/Entity. It can be used to simulate and track processes in organisations to make it more efficient too and increase accountability.
- Role-based workflow
- An easy way of writing rule
- File movement within workflow roles
- 1.To integrate, the host of egov-workflow-v2 should be overwritten in the helm chart.
- 2./process/_search should be added as the search endpoint for searching workflow process Instance objects.
- 3./process/_transition should be added to perform an action on an application. (It’s for internal use in modules and should not be added in Role-Action mapping).
- 4.The workflow configuration can be fetched by calling _search API to check if data can be updated or not in the current state.
Note: All the APIs are in the same Postman collection therefore the same link is added in each row