Workflow

Workflow Node Properties

Updated: July 17, 2023

This page lists all the properties of a node. A workflow instance is made of several nodes linked by some transitions.

Node Variables

Node variables are persisted on the node document. These are metadata stored on a dynamic facet, in a schema named  var_$NodeId.

Node Properties

Principle

At low level, there is only one type of node and the workflow engine behavior will change depending on the value of the properties of this node. In the Nuxeo Studio designer, you will find several kinds of node, that are actually just some sort of presets on top of the generic node. There are more than 40 parameters that can be configured on a node. They are all stored on the "route_node" schema of the "RouteNode" document.

Identification

nodeId: Id of the node, that is generated from Studio.

Graph Behavior

PropertyDescription
startMust be equal to true only on the node where the workflow engine should start to execute the given workflow.
stopSends a Stop workflow event. When the workflow arrives on such a node, it stops the execution of the workflow definitively.
mergeWhen this is 'true', this is a merge node: the workflow is suspended on this node, waiting for all incoming transitions to this node to be evaluated to 'true'.
executeOnlyFirstTransitionFollows the first transition that is equal to true, and only that one.
subRouteModelExprWhen this one is filled, the workflow engine runs the given process model on the same bound document list. This is used for the "sub workflow node" template in Studio.
subRouteInstanceIdThe id of the instance of the subworkflow once it has been launched.
subRouteVariablesThe variables to pass to the subworkflow when starting it.
transitionsThere must be at least one transition. Each transition has the following :
transition:chainThe chain to execute when going into a transition.
transition:`condition`</td><td colspan="1">Workflow engine goes into that transition only if the condition is evaluated to `true`.</td></tr><tr><td colspan="1">transition:nameThe name of the transition.
transition:`targetId`</td><td colspan="1">The id of the target node of the transition.</td></tr><tr><td colspan="1">transition:labelThe displayed name of the transition.
inputChainThe chain executed when the workflow engine starts running the node.
outputChainThe chain executed when the workflow engine quits the node, before entering a "transition".

Execution History

PropertyDescription
startDate Workflow engines stores here when it started running the node. If the node is run multiple times in a workflow ( in a loop for example), it stores the last date the workflow started running this node.
endDateWorkflow engines store here when it goes out of the node, the last time the node is run.
lastActorThe last actor having done an action on the node. Useful most of the time in the output Automation chain to know who resumed the node.
countThe number of times the workflow engine ran this node.
canceledWhen the workflow is canceled, all nodes are marked as canceled.
tasksInfo Holds information about all tasks created by a node. For every task: the life cycle state (ended or not) , the user who ended the task, the comment if any and the id of the button the user clicked to complete the task (status).

Tasks

PropertyDescription
hasTaskIf true, the workflow engine creates a task when running this node. The workflow is resumed only when this task is completed.
hasMultipleTasksIf true, the workflow engine creates a task for each assignee. The workflow is resumed only when all tasks created by this node  are completed.
taskDocType The tasks created by the workflow engine (by calling the TaskService) are documents of type "TaskDoc". You can change this if you need custom metadata on the task document ( to be displayed on the task dashboard for example). Your document type must have the facets "Task" and "RoutingTask" and the "task" life cycle.
taskDescriptionCurrently not used.
taskDirectiveThe directive of the task. Should put instructions here for the user to close his task.
taskDueDateThe due date for the task. The workflow engine does nothing with this information by default. Can be leveraged by an escalation rule.
taskDueDateExprThe task dueDate will be dynamically computed from this MVEL expression.
taskAssigneesThe assignees for the task. Users should be prefixed by "user:" and groups by "group:"
taskAssigneesExprAssignees are dynamically computed from this MVEL expression when the workflow is run.
taskAssigneesPermissionGrant specific permission to the task assignees on the documents following the workflow ( automatically removed by the workflow engine once the task is completed).
allowTaskReassignmentWhen true, the reassign user action is displayed to the assignee.
taskNotificationTemplateThe template of the email that is sent to the assignee when she is assigned a task.  If no template is selected, no notification is sent. workflowTaskAssigned is the default mail template.
taskLayoutThe layout (form) that is displayed to the assignee for resolving the task.
taskButtonsThe buttons that are displayed to the assignee for solving the task.
nameThe id of the button, can be used in the transitions condition.
labelThe label used for the button in the UI.
filterFiltering information, used in the UI too (no low level control).
taskYThe position of the node on the Y axis.
taskX The position of the node on the X axis.

Escalation

escalationRules

PropertyDescription
nameThe name of the escalation rule (technical id)
multipleExecutionWhen set to true, the rule is evaluated periodically, otherwise it is evaluated only once.
conditionThe condition to know if the rule should be executed or not.
chainThe name of the chain that should be executed if the condition is true.