Dealing with rejection made easier
By Kyle Hatlestad on Mar 03, 2010
With workflow in UCM comes the ability to insert logic at different points of the process. At each step you can define an entry, update, or exit event to handle the workflow in different ways. You may chose to route the workflow differently based on a metadata value. Or perhaps escalate the workflow if the document has been sitting to long.
But one of the quirks with the events that I think catches just about everyone is the handling of the 'Reject' action. Dealing with rejection is hard...but in UCM it doesn't have to be.
In default workflow behavior, a document that is rejected will go back to the last step in which a user could edit the document. So if a workflow has 3 steps and step 2 was a review/edit step, if someone in step 3 rejects the document, it will roll back to step 2. This satisfies some use cases, but in others it might make sense to send the document back to the original contributor. So what needs to be added is a jump that will send the workflow back to the contribution step.
What catches most folks is they try putting that jump evaluation in the exit event of the step. For items that are approved, they trigger the exit event. But for documents that are rejected, they immediately go back. That exit event isn't evaluated.
So what needs to be done instead is to put the jump evaluation at the entry event on each of the steps that are review/edit to catch that reject action. In the example above, it would be at step 2.
So in the Entry Event, add a new Jump. Then on the Event Script dialog, select the Field of 'Workflow Action', Operator of 'Matches', and Value of 'Reject'. Add the clause and for the Target Step, select the 'contribution' step of the workflow.
Now if something is rejected and comes back to this step, it will immediately route it back to the original contributor.