Create workflow Definition

Workflows are implemented in their own plugin, using the framework in the standard Workflow plugin.

1) Install Workflow plugin

Ensure that the std_workflow plugin is installed.

2) Create a new plugin

It’s best if workflows, and any directly associated UI, are implemented in their own plugin.

First, you must use the std:workflow feature in your plugin.json file:

{
  "pluginName": "example_workflow",
  // ... rest of plugin.json
  "use": ["std:workflow"]
}

3) Implement Definition object

Your plugin then creates a new workflow definition and repeatedly calls functions on it to build the workflow.

var EgWorkflow = P.workflow.implement("eg", "Example workflow");

By convention, use a name which describes your workflow, with the suffix Workflow, for example, ProjectApprovalWorkflow.

In this documentation, we’ll use EgWorkflow to represent the definition object.

function P.workflow.implement(name, readableName)

This function returns a new Workflow Definition object, which implements the API described in this section.

name is the name of the workflow, which will be prefixed by your plugin name. It’s passed to workUnit() when the underlying WorkUnit object is defined.

readableName is the human readable name of the process, used in the UI.

4) Configure Definition object

To build up the workflow,

  • Set the text for your user interface