- Create chains of operations to model your business logic
- Design workflows to implement your processes, with fork/merge points, escalation support, due date management, dynamic sub-workflows, etc.
- Configure user actions (actionable buttons) and event reactors triggering chains of operations
- Configure email notifications
3. Example of business Logic
- My documents should have a topic field
- Documents should be moved to another
department when they are validated
- They should become obsolete after one year
- Only the group “validators” can see it while the
document is not published ....
....
3
4. Technical translation
It is usually means the system (Nuxeo) will do things for you,
like:
- Updating one or more metadata of a document
- Creating a document automatically
- Changing the lifecycle of a document (done this morning)
- Doing a conversion of a document
- Setting an ACL automatically on the document
- Assigning tasks to users on the resources
4
6. Automation - an operation
Category
Parameters
Description
o
Input
/outpout
o
6
7. Automation - a chain
Document on
which we will
work
Update of a
metadata
Log in Nuxeo
Audit
7
8. How to use an chain?
•
Bind it to a button
•
Bind it to an event handler
•
To Workflow
•
Call it as a webservice
8
9. Let’s try !
1. Create a button that updates the
description property with “Hello world”
value
2. Use the latter chain so that each time
you create a document, the description
is equal to “Hello World”.
3. Create a button that moves the current
document just under /default-domain/
workspaces
9
12. Let’s try !
1. On the previous button that adds “Hello
world”, make sure it logs in the audit an
entry with a comment that prints the
value of the dc:title, dc:description,
dc:creator
12
14. A context for the whole chain
•
Context is useful to “store” objects/
information during the time of the
execution of the chain
•
Store a value at 2nd step of your chain,
use it at the 5th step
•
Store document, list of documents,
metadata value, any value !
14
15. Tools to play with the context
•
A “map of objects” called “Context” for
accessing the context from MVEL:
@{Context[“my_variable”}
•
Some operations in the category
“Execution context”
15
18. Let’s try !
1. When creating a File document, make
sure you get automatically the same
“coverage” than the one that is on the
workspace.
2. Add a button that creates beside a
given file a note called “Review of
document XXX” where XXX is the title of
the first document
18
20. Why Using Workflows
•
Bring you time based automation
•
Offers interaction with users, asking
them their input (forms, buttons)
•
Produces a very maintainable business
logic implementation!
20
21. What Is a Workflow in Nuxeo
•
A set of nodes linked on a graph
•
References to automation chains to
define what is automated at each nodes
•
Definition of forms and buttons to
defined what a user should contribute at
a given node
21
27. Play with the security
•
Make sure John can read the document
when he is assigned the task.
27
28. Plug an automation chain on
your workflow
•
Write a new automation chain
•
Plut it to the workflow, for example for
updating the title of the document, right
at the end of the workflow.
28