Server

Workflow Engine FAQ

Updated: March 18, 2024
  • Does Nuxeo workflow engine implement BPEL or BPMN? Content Routing is not a Business Process management tool; it is designed for content-centric applications, so it would not make sense to implement BPEL. BPMN could be interesting, but Studio proposes a 100% integrated experience with the Nuxeo Platform and its tools. Implementing support of BPMN so as to define the forms with a generic designer would make experience not as good as in Studio.

  • Does Nuxeo workflow engine support multiple templates of workflows? Yes, workflow models can be designed in Studio, and multiple workflows can be used at the same time in a given Nuxeo instance. It is possible to filter workflows on user properties, current document properties, ...

  • How does the workflow engine behave with versioning of templates? An instance started using a workflow template will use a frozen copy of it until the end of the process. But new instances will use the new model.

  • Does it support escalation (time based output of nodes, etc...)? Escalation rules are available on task nodes. They allow to execute an automation chain depending on a set condition, which can be time based.

  • Is there a console to manage all the workflow instances? This will be included in the next release of Nuxeo. It can be added on your project very easily, as a route is persisted as a "document" in the repository.

  • Does the workflow accept notifications? It is possible to configure completely customized notifications.

  • Is Content Routing for programmers only? Content Routing requires a technical mind if you want to capture all its power, but can be configured very simply by non developers guys through Studio.

  • Is it complex to design a new workflow? It can be very simple, depending on how much logic there is inside. Chaining nodes in Studio is very intuitive though.

  • How can I disable the default existing workflow SerialDocumentReview for the documents of type File and Note? It's very simple, just use the following contribution to override its availability filter:

    <extension target="org.nuxeo.ecm.platform.actions.ActionService" point="filters">
        <filter id="filter@SerialDocumentReview" append="true">
          <rule grant="false">
            <type>File</type>
            <type>Note</type>
          </rule>
         </filter>
     </extension>
    
  • How can I enable the default workflow SerialDocumentReview for new document types?

    Use the following contribution:

    <extension target="org.nuxeo.ecm.platform.actions.ActionService" point="filters">
        <filter id="filter@SerialDocumentReview" append="true">
          <rule grant="true">
            <type>MyDocTYpe</type>
          </rule>
         </filter>
     </extension>
    
  • How can I know which Workflows are runnable on a document through the Rest API?

    While fetching a document from the Rest API, you can use the runnableWorkflows enricher and check what is returned in document.contextParameters.runnableWorkflows.

  • How can I have all the comments submitted by users when completing tasks logged in by the audit? You just need to use a node variable called "comment" and you'll find all the comments stored in the Event log, on the "Workflow task completed" event.

  • How can I get the current user name in an operation executed by the workflow? All the automation operations executed by the workflow engine are executed using a temporary unrestricted session (if the current user is not an administrator, this is a session with the user "system"). In order to fetch the current user id, you can to use: CurrentUser.getActingUser().

  • Is the availability filter configured on the workflow also evaluated when the workflow is started using the operation "StartWorkflow"? No, this filter is actually an Action Filter used to control the visibility of workflow models in the list of workflows displayed by the widget type "Workflow Process".

  • Can I have a workflow variable and a node variable with the same name? No, the workflow engine doesn't handle this case. They could have the same name, but as long as they are not both used on the same node. But we recommend you to choose different names and to avoid this situation.