• Like
[Nuxeo World 2013] Workshop - Implement your Business Logic
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

[Nuxeo World 2013] Workshop - Implement your Business Logic


- Create chains of operations to model your business logic …

- 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

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads


Total Views
On SlideShare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. Implement your business logic Oct 10th, 2013 Benjamin Jalon & Frédéric Vadon
  • 2. Implement Business Logic ? = Make sure your system enforce your business constraints 2
  • 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
  • 5. How can this be done ? Automation 5
  • 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
  • 10. I want more ! Use MVEL @{ } 10
  • 11. Referencing a metadata @{ Document[“dc:title] } 11
  • 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
  • 13. I want more ! Use Automation Context 13
  • 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
  • 16. Tools to play with the context Very useful ! 16
  • 17. Tools to play with the context Very useful ! 17
  • 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
  • 19. Next Automation is so cool, eh, why do I need workflow ? 19
  • 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
  • 22. Starting with workflows Let’s go iterative 22
  • 23. Create users on your instance 23
  • 24. Create Users on Your Instance • john/john , group: members • jack/jack , group: members • group: nxworld 24
  • 25. Assign a task to john • Drop a task node • Make sure there is one or two buttons • Link the transitions • Deploy and test 25
  • 26. More assignments cases • assign to a group (group:nxworld) • assign to the workflow initiator (“workflowInitiator”) 26
  • 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
  • 29. 13 ld or xW #N Thank you !