torsdag den 26. juni 2014

Managing activities and restarting a workflow - Hold and resume

I recently discovered a bug in the workflow engine by unintended use of an activity workflow. You can read more on Technet: Help reproducing a bug - Activity status stuck in pending mode, Service Request still "in progress"

There is however a simple way of kickstarting a Service Request or other work item with an activity flow - behold the "Put on Hold" task (pun intended).

This SR will be stuck with a MA in pending mode forever - or until we do something to fix it!
Now let's fix this bugger. Click the "Put on Hold" task to the right and click Ok. Wait abit and the activity flow should look like this.
Click the "Resume" task and click Ok. The workflow engine will recalculate the flow and will put the activity that was stuck in progress.
This can fix a large number of workflows gone haywire. Tried adding activities to a Parallel Activity that is already in progress? Forget about it! They will never get out of pending mode. Atleast not before you put the request on hold and resumes it.

You can also edit the flow (within reason) in ways you cannot do while it is running. Suppose you have a sequential flow where you need to put in an activity before another activity alread in progress. Just put it on hold, add the activity and place it where needed and resume. The completed activities will be unchanged, but the first "not-completed" in line will be in progress and the rest following it will be pending.
Activities are also subject to being deleted (if skip is not a valid option - skip is available for admins only. Rob Ford has a workaround for that though) - you cannot delete already completed activities - but really you can if you want to - read on...

Make sure the request is "In progress" - use "Return to activity" on the completed activity that you wish to delete. Note that all completed activities following this will also be "un-completed". Click Ok to commit the change and reopen when the activity is "In Progress". Put the request on hold. The former completed activity is now subject to deletion. You really wanted to get rid of that activity did you?
If you "return to activity" in a request that is on hold it will resume again.

Søg i denne blog