Skip to content
Permalink
Fetching contributors…
Cannot retrieve contributors at this time
281 lines (247 sloc) 10.1 KB
title review labels toc confluence tree_item_index history
Workflow
comment date status
2017-12-14
ok
lts2016-ok
workflow
grenard
lts2017-ok
true
ajs-parent-page-id ajs-parent-page-title ajs-space-key ajs-space-name canonical canonical_source page_id shortlink shortlink_source source_link
31033314
Nuxeo Server
NXDOC
Nuxeo Platform Developer Documentation
Workflow
12913723
OwzF
/display/NXDOC/Workflow
30
author date message version
Manon Lumeau
2016-08-17 11:47
34
author date message version
Manon Lumeau
2016-06-09 16:35
33
author date message version
Manon Lumeau
2016-04-28 09:40
Fix Studio menu label
32
author date message version
Manon Lumeau
2016-04-28 09:30
Fix Studio menu label
31
author date message version
Solen Guitter
2015-08-27 13:21
30
author date message version
Solen Guitter
2015-08-27 13:17
29
author date message version
Manon Lumeau
2015-06-04 08:45
28
author date message version
Solen Guitter
2015-06-04 08:37
27
author date message version
Manon Lumeau
2015-06-03 12:53
26
author date message version
Manon Lumeau
2015-06-03 09:38
25
author date message version
Manon Lumeau
2015-06-03 09:24
24
author date message version
Manon Lumeau
2015-01-19 09:37
23
author date message version
Solen Guitter
2014-09-23 11:27
22
author date message version
Alain Escaffre
2014-09-23 00:29
21
author date message version
Alain Escaffre
2014-09-23 00:24
20
author date message version
Manon Lumeau
2014-09-19 14:14
19
author date message version
Manon Lumeau
2014-09-19 12:34
18
author date message version
Manon Lumeau
2014-09-19 10:50
17
author date message version
Mariana Cedica
2013-10-30 12:25
16
author date message version
Solen Guitter
2013-10-28 10:46
15
author date message version
Alain Escaffre
2013-10-27 14:58
14
author date message version
Alain Escaffre
2013-10-27 14:57
13
author date message version
Solen Guitter
2013-10-21 11:02
Added children pages
12
author date message version
Alain Escaffre
2013-10-18 14:15
11
author date message version
Alain Escaffre
2013-10-18 14:15
10
author date message version
Alain Escaffre
2013-10-18 14:09
9
author date message version
Alain Escaffre
2013-10-18 14:09
8
author date message version
Alain Escaffre
2013-10-18 14:08
7
author date message version
Alain Escaffre
2013-10-18 14:04
6
author date message version
Alain Escaffre
2013-10-18 14:01
5
author date message version
Solen Guitter
2013-09-06 16:45
4
author date message version
Solen Guitter
2013-07-18 14:57
3
author date message version
Mariana Cedica
2013-06-21 10:53
2
author date message version
Mariana Cedica
2013-02-08 16:29
1

Concept

The Nuxeo workflow engine provides the usual features you would expect from a workflow engine and leverages the main modules of the platform: the repository, the Automation service, layouts for all the user interactions and process implementations. It provides high level features regarding task management such as filterable tasks lists, reminders, task reassignment, task delegation, task reminders. You need to understand correctly those concepts before playing with the workflow engine.

A workflow is conceptually defined using a graph. Workflow graphs are [configured from Nuxeo Studio]({{page space='Studio' page='Workflow'}}).

The workflow engine provides means to implement most of BPMN concepts: Fork, merge, decision, branching point, exclusiveness, inclusiveness, looping, human tasks, services tasks, multiple instances, events, data objects, subprocess, join. Note that those standard concepts are not all exposed as is on the graph editor, but can still be implemented leveraging what is provided.

Understanding Workflow:

  • [Useful Definitions]({{page page='useful-definitions'}})
  • [Simple Workflow Example]({{page page='simple-workflow-example'}}) (tutorial)
  • [How to Assign a Workflow Task to a User Depending on a Metadata]({{page page='validation-workflow-choosing-the-assignee-based-on-a-metadata'}}) (tutorial)

Default Available Workflows

{{! multiexcerpt name='default-validation-workflows'}} The Nuxeo Platform offers two default workflows that showcase the possibilities of the Workflow.

  • The default serial workflow, called "Serial document review", is an ordered workflow. This means that participants can review the document only when the previous participant in the list has approved the document. It can be used either to approve the document or simply to review it.

  • The default parallel workflow, called "Parallel document review", is an unordered workflow that enables to change the document's state after a consultation step. This means that participants can give their opinion on the document without having to wait for a previous participant to approve it. {{! /multiexcerpt}}

They are also available as an application template in Nuxeo Studio so as to enable you to see how they are configured. This application template is called Default Nuxeo Platform Workflows Configuration.

![]({{file name='Screenshot 2015-06-02 11.27.17.png'}} ?w=600,border=true)

It is possible to import this package from your Studio project: Go to Configuration > External Templates > Default Nuxeo Platform Workflows Configuration and click on Import.

See the pages [Serial Document Workflow]({{page version='' space='userdoc' page='task'}}) and [Parallel Document Workflow]({{page space='userdoc' page='task'}}) for more details about showcased default workflows.

Configuring a New Workflow

To create a new workflow, simply go to the workflow section of Studio, click New and choose a name.

![]({{file name='Screenshot 2015-06-02 12.04.21.png'}} ?w=650,border=true)

A workflow can be configured through four tabs:

  • Definition: Where you select the name and label of the workflow.
  • Variables: Where you can manage the Workflow variables that will be used through-out the different steps of the workflow, like comments, user inputs...
  • Availability: Where you define the filter to enable or not the workflow.
  • Graph: Where you define all the workflow steps and their transitions. This is the most important tab. After you create your workflow, it's normal you get validation error, pending the creation of the graph.

Starting the Workflow

A workflow must start with a node for which the "start node" property is checked and have at least one end node with the "end node" property checked. To make it simpler, Studio provides a node template library (on the left), from which a Start node and an Stop node are available.

To start the workflow graph:

  1. Click on the Graph tab.
  2. Drag the Start node and drop it on the graph. ![](https://www.lucidchart.com/publicSegments/view/54ede03e-bcb8-4715-a9f3-1f500a008a99/image.png ?w=250,border=true)
  3. Repeat this operation for every node and transition that you need to create your own workflow. Click on one node to open the editor to edit its properties and add possible transitions. Each possible transition is represented as an endpoint on the node.

Working with Workflow:

  • [Workflow Variables]({{page page='variables-available-in-the-automation-context'}})
  • [Instance Properties -]({{page page='workflow-instance-properties'}}) [Workflow Node Properties]({{page page='workflow-node-properties'}})
  • [Node General Tab in Studio Documentation]({{page space='studio' page='node-general-tab'}})
  • [Workflow Naming Conventions]({{page page='workflow-naming-conventions'}})

Discover More

To go further, read the page [Simple Workflow Example]({{page page='simple-workflow-example'}}), and follow the creation of a workflow step by step with a specific use case.


{{#> panel heading='Workflow How-Tos'}}
  • [HOWTO: Query Workflow Objects]({{page page='how-to-query-workflow-objects'}})
  • [HOWTO: Complete a Workflow Task Programmatically]({{page page='how-to-complete-a-workflow-task-programmatically'}})
  • [HOWTO: Set Up a Tasks Dashboard]({{page page='how-to-set-up-a-tasks-dashboard'}})

{{/panel}}

{{#> panel heading=' Advanced Features and Understanding'}}

  • [Escalation Service]({{page page='escalation-service'}})
  • [Workflow Models Packaging]({{page page='workflow-models-packaging'}})
  • [Runtime Instantiation & Execution Logic]({{page page='runtime-instantiation-and-execution-logic'}})

{{/panel}}

You can’t perform that action at this time.