Workflow validation rules

Available with Workflow Manager license.

The workflow engine supports linear, branching, and looping workflows. You can also define job types with no workflow or even just one step. Once you've have more than one step in a workflow, ArcGIS Workflow Manager (Classic) Administrator will begin to enforce the rules detailed below.

When validating workflows in Workflow Manager (Classic) Administrator, the workflow editor will alert you when steps break the validation rules.

One start and one end

Every workflow that you design must have one unique starting point and one ending point. There are two exceptions to this rule: one-step workflows and jobs with no workflow at all.

If your workflow breaks this rule, you'll receive a message indicating which steps are invalid.

Must be a closed system (no gaps)

This rule prevents you from creating multiple workflows for one job type. You are unable to create two completely separate workflows for one job type. If you find that your work requires two different paths depending on some factor, consider two different job types or creating those as branches in a larger workflow.

When there are steps or sections of the workflow not connected into one, you'll receive a message indicating there are floating steps.

No self-looping steps

Workflow Manager (Classic) will prevent you from looping a step back onto itself.

To prevent an endless loop, Workflow Manager (Classic) won't allow you to create a workflow with a self-looping step.

Looping rules

There are a few more looping rules that Workflow Manager (Classic) will enforce.

For similarly to the “one start and one end point” rule, Workflow Manager (Classic) will prevent loops from going back into the starting step, or from coming out of the last step in the workflow.

Looping back to the starting step or looping out of the end step in a workflow will break the validation rules.

Additionally, if you have concurrent sections in a workflow (two branches that are active at the same time), treat them as if they were their own mini workflows or systems. Any loops created within those sections must be contained within themselves and can't loop out to other concurrent or nonconcurrent sections in the overall workflow.

Loops in concurrent sections of a workflow must not loop back up to the previous nonconcurrent section of the overall workflow.