Process Definitions

Last published at: October 3rd, 2022

NOTE: Henceforth, the Workflow Definitions shall be referred as 'Process Definitions' and the 'Workflow Instances as 'Process Instances' in the new version 9.10.

Process definitions contain the design for each workflow/process.  Definitions can be managed using the process definitions screen. Definitions UI looks as follows:

With this process definition screen, the following operations can be performed:

  • Create a new workflow definition
  • Add definitions by drag and drop the definition XML file
  • Define master variables & globals
  • Design the definition in the workflow designer
  • Rename the workflow definition
  • Remove a workflow definition
  • Remove all instances for a given workflow definition
  • Make a copy of the definition
  • Change owner of the definition
  • Save the definition as a template
  • Manage snapshots of a workflow definition 
  • Validate all / selected definitions
  • Remove Instances from the selected definition
  • Get the definition as an XML file
  • Set the XML for the definition file
  • Graphically render the workflow definition
  • Generate a report for the workflow definition
  • Manage workflow definitions to user’s favorites
  • Tag the Workflow definitions for categorization
  • View locked definitions and unlock locked definitions
  • Update Master Variables / Globals
  • Update Waiting Instances
  • Archive selected workflow definition instances
  • View selected definition usage

Creating a new process definition

A new process definition can be created by clicking the “Create” menu item.  The UI to create a new process definition looks as follows. 

The user shall enter the definition name in the popup window and selects CREATE button. The popup window to create definition is now modal. The definition table can be refreshed without refreshing the entire page. Use Save - Save menu option (or Ctrl + S) to confirm the changes.  

Create from a file(s)

It allows the user to create/add definition(s) by dragging and dropping the definition XML(s). This functionality provides the ability to add multiple XML files at once to create definitions. This feature will also accept a zip file containing multiple workflow definitions, including sub-workflows. 

The definitions will be created and displayed within the Process definitions table.

Design the definition in the workflow designer

Select the definition from the process designer page. Navigate to Actions - Design option to open the definition in the designer page, on a new tab. Also, double-click on the definition to open in the designer page, as another option. However, selecting more than one definition opens in the same designer tab as multiple tab/windows are not permitted.  

Lock and Unlock process definitions

By default, a normal user will be only able to view the process definitions that they have created or have permission to view. The normal user can only view process definitions created by other users if permissions are given by other users. Based on the “Permissions” assigned by the admin or the user who created the definition, the normal user can “View”,” Design” or “Remove” the process definition.

The definition is locked to the user who is creating / modifying the process. There is no concept of building workflows collaboratively and the definition gets unlocked, only after the changes are saved and closed. 

The locked definition can be unlocked by another user with View / Design / Remove permissions on this definition. The unlocked definition can now be locked by this second user for further modification. The first user cannot save the changes now that the definition is no more locked to self. The application shall alert the first user on the lock status and the username who is making the changes at that moment. This safety check thus prevents the contents from being overwritten by any concurrent usage.

Render process definitions

Select a process definition and navigate to View - Render menu option. The page displays the meta data, created on, created by, updated on, updated by and the # of  instances.