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.
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.
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
XXX
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?).
|