Creating Workflow¶
A workflow is a chain of actions (subprocesses) that describe the basic regulations and procedures of a company in a simple and structured form.
Unidata MDM uses the BPMN 2.0 notation for creating and configuring workflows, which allows you to create graphical process diagrams, as well as to upload ready-made descriptions in xml format.
Work with workflows in Unidata MDM is performed in the “Workflows” section.
Also see: Workflow Concept
Creating New Process¶
To create a workflow:
Enable the draft mode by clicking
“Draft”. Create new draft or open an existing one.
Make sure the “Workflows” tab at the top of the process list is active.
Click the
“Create workflow” button located at the bottom of the list.
Select a type of process creation:
Upload file: select the desired process file to upload (.xml/.bpmn), enter the displayed process name and confirm the action.
Select template: select the desired template from the ready-made list, enter the displayed process name and confirm the action.
Fill manually: enter the basic parameters. Required: process ID (to be filled in automatically) and display name. If necessary, fill in additional parameters (will be available for editing later), then confirm the action.
A new workflow will be created. You can enter and edit the main settings on the right side of the screen. For a detailed description, see Settings panel. In the main part of the screen you will see the tabs:
Diagram. For a detailed description, see Diagram editor.
Indexed variables. Allows you to add one or more variables that will be used in the process. For a detailed description, see Workflow Variables Assignment.
Mapping (for Enterprise Edition only). Allows you to assign a worflow to an entity/lookup entity. To do this, add the required entities/lookup entities, which should trigger the workflow when they are changed. Triggers can be specified in the trigger condition. This allows you to create a process for a specific action. For example, launch only when recording is restored.
Click Save in the upper right corner of the screen.
Click
«Publish Workflow Draft” button at the bottom of the process list. Select publishing method: simple or with priority.
Tip
A download of the process diagram in .bpmn format is available using the “Download Diagram” button in the upper right corner of the screen. When exporting the diagram, the basic process settings “Only for manual run” and “Description” are not uploaded

Figure 1. Adding new process
Workflow Variables Assignment¶
Variables allow you to organize communication between different tasks within a single process instance, search for process instances, and organize different logics directly in the process diagram itself.
Variables store all information about a process object. For example, about the process model (diagram + executors + variables model), about the initiator, start date of the process, etc. Variables are indexed in Elasticsearch.
The system provides a standard set of variables that are automatically added to each new process. Variables can also be created/edited in service tasks and various event listeners. See description of standard variables in StandardWorkflowVariables.java file.
Download StandardWorkflowVariables.java
On the Indexed Variables tab only the declaration of variables is available. To apply variables, it is necessary that the workflow receives information about the variables. Options:
Fill out a form with a variable (specify the value of the variable) at one of the steps of the workflow.
Create an event listener in the process schema. The listener will fill in the value of the variable.
Use your own logic in a custom workflow through a custom java class.
Search of a workflow object can be performed by variables. To make a variable as a search one, you should add it to the variable list (Indexed variables tab) by giving it a name and specifying an appropriate type.
Variables that are not configured as search variables will not be returned when receiving a specific task or process, but will be stored available:
On workflow diagram,
In service tasks,
In event listeners,
In BPMN diagram.