Logo

Workflow improvements

Last modified: 05/20/2006 07:46 AM
Revision: workflow-improvements.txt 30342 2005-12-06 13:31:56Z fguillaume

[ This is an incomplete draft.]

The CPS workflows need to be improved to take into account common usage patterns regarding work delegation.

1   Use cases

  1. Delegation of responsibility for an action.

    I have to review a document before doing 'accept' but for some reason I want to delegate this to someone else. The workflow should allow me to say "delegate to someone", in which case:

    • I get to chose one or several people or groups to which work is delegated. These people are called the delegatees.
    • A choice must be made (by the system or by the user) to decide if I keep the possibility to do the action myself.
    • If the delegatees consist of several people, I must be able to specify that any person among them has to do the work, or all of them.
    • It must be possible for CPSSubscriptions to send a notification to the delegatees to tell them that they have a possible action.
    • Any delegatee now has the ability to 'accept' an action on the document.
    • It must be possible for CPSSubscriptions to inform all other delegatees and me that the action was performed.
  2. Delegation with return back up the hierarchy after actions are done.

    I review and validate a document, and pass it to the next people in the workflow, but I want to check it back when all their work has been done.

    XXX

  3. XXX

2   Technical details

A transition where an action delegation is allowed must have an additional flag and parameters specifying what kind of delegation is possible.

If a delegation is possible:

  • A new transition "delegate to someone" is available with a guard for the role Delegatee,
  • Creating a delegation is only allowed if the original action could have been followed (XXX does this work for time-dependent guards?).

If a delegation is in effect:

  • There is a list of active delegatees, with a flag AND/OR (simple model), it must be stored in the object itself (XXX problems with multilingual documents),
  • A delegatee must have the permission to view the document, given through the local role Delegatee that has the View permission.
  • The guard for "delegate to someone" is changed to allow the delegatees to execute the transition, through the local role Delegatee,
  • An automatic transition for the original action exists.

When a delegated action is done by a delegatee:

  • The actor may have to be added to a list of people that acted on the document.
  • If the actor is not the last, the actor is removed from the list of active delegatees and his local role Delegatee is removed.
  • If the actor is the last (or if flag was OR), the original action must be followed. This is done by following the delegated (XXX) transition, and then an automatic transition equivalent to the original action will be followed.

XXX

  • Return up the hierarchy.
  • Affect local role allowing document editing?
  • Notify people who "did something" on the object.
  • Notify people who had the possibility to do something (local role?).
This site is powered by CPS, which includes CPSSkins. CPS and its design are Copyright © 2002-2006 Nuxeo SAS.
CPSSkins is Copyright © 2003-2006 Jean-Marc Orliaguet.
powered_by_nuxeo.png