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

[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



Total Views
Views on SlideShare
Embed Views



1 Embed 13

http://www.nuxeo.com 13



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

[Nuxeo World 2013] Workshop - Implement your Business Logic [Nuxeo World 2013] Workshop - Implement your Business Logic Presentation Transcript

  • Implement your business logic Oct 10th, 2013 Benjamin Jalon & Frédéric Vadon
  • Implement Business Logic ? = Make sure your system enforce your business constraints 2
  • 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
  • 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
  • How can this be done ? Automation 5
  • Automation - an operation Category Parameters Description o Input /outpout o 6
  • Automation - a chain Document on which we will work Update of a metadata Log in Nuxeo Audit 7
  • How to use an chain? • Bind it to a button • Bind it to an event handler • To Workflow • Call it as a webservice 8
  • 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
  • I want more ! Use MVEL @{ } 10
  • Referencing a metadata @{ Document[“dc:title] } 11
  • 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
  • I want more ! Use Automation Context 13
  • 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
  • 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
  • Tools to play with the context Very useful ! 16
  • Tools to play with the context Very useful ! 17
  • 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
  • Next Automation is so cool, eh, why do I need workflow ? 19
  • 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
  • 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
  • Starting with workflows Let’s go iterative 22
  • Create users on your instance 23
  • Create Users on Your Instance • john/john , group: members • jack/jack , group: members • group: nxworld 24
  • Assign a task to john • Drop a task node • Make sure there is one or two buttons • Link the transitions • Deploy and test 25
  • More assignments cases • assign to a group (group:nxworld) • assign to the workflow initiator (“workflowInitiator”) 26
  • Play with the security • Make sure John can read the document when he is assigned the task. 27
  • 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
  • 13 ld or xW #N Thank you !