Multi-level review workflow algorithm
-
martes, 27 de julio de 2010 15:52
Hello fellow coders,
We all know of a lot of nice examples on how to implement a multi-level approval workflow but as far as i have seen until now they only 2 actions: approve or reject.
Has anyone ever coded a workflow with a multilevel review?, that is 3 actions on each level: approve, review or reject.
I am trying to figure out the algorithm needed to make the workflow loop back more than one level and i am going crazy on this.
Not sure if i am explaining the case, my problem is that using while's and so on i can't make the workflow return to the first level for review...
Example
1 - Originator approves.
2 - 1st level approver approves.
3 - [conditions for infopath data begin, based on these data the workflow tree is rooted]
4 - 2nd level approver marks the task for review
5 - the task returns to 1st level approver.
6 - 1st level approver is so lazy that marks for review the task in order to pass it to originator.
7 - Originator makes the required changes and submits again the item.
8 - 1st level approver is happy with it and approves.
9 - [As the item data has changed conditions should be at this time reevaluated because based on these data the workflow tree is rooted]
10 - and so on until 2nd level approver is kind enough to approve and complete the workflow.
If any of you guys knows how to solve this situation i will declare him/her publicly master of the workflow algorithms and my MVLF hero (most valuable life saver).
Cheers!
Jaume
Todas las respuestas
-
viernes, 22 de octubre de 2010 21:03
hi Jaume,
On scenarios where you need a multilevel workflow, generally you set the different approval levels in dynamic way, you can use an activity that store the info of each level and use a Repeater activity for each one, you can use a basic State Machine workflow on Net 3.5, or if you wants play with WF 4.0 just use a for conditional activity binding to the same activity described above.
Regards,
Juan Mestas
Microsoft Regional Director
MCPD/MCTS/SCJP/ITIL

