Workflow in CzechIdM is typically used to represent a process involving identities, e.g. the "Enable contract" process. Workflow is a piece of code that

  • services some process (business process, identity lifecycle process etc…)
  • can generate and manage User tasks
  • is usually started by Scheduled tasks or an application event, typically Synchronization.
  • is stateful

The best way to describe any given workflow is its diagram.

When a workflow process is in progress, the red line symbolizes the path through the workflow states.

CzechIdM uses several standard workflows. Of course, these can be replaced - e.g. with an upgraded version. Also, new workflows can be imported. To facilitate workflow management, CzechIdM supports a drag & drop feature on its GUI.

If a workflow is imported to CzechIdm which had already been present in the application, the version number is increased by 1. If a new version of workflow has been uploaded, and an old workflow has some instances running, these finish their runs in accord with the original version of the workflow. From then on, new instances of the workflow are run with the uploaded (new) definition.

Workflow definition is kept in a file which is of the XML format. You can find standard workflows in source files. Workflow definitions are loaded from files every time the application is started.

Note that automatic workflow deployment can be turned off by the application property spring.activiti.checkProcessDefinitions=false (documented here, but there is usually no reason to do this.

Read more

  • by apeterova