Skip to main content

Dear All,

We have a Business Requirement in which a user can recall the workflow. Please see the below scenario:-



User A initiates the process and workflow gets assigned it to user B. User B acts on the process and the worflow gets assigned to User C. Now according to the business requirement, User B can recall the workflow from User C. We could not find anything Out-of-the-box to implement this requirement.

Can you please suggest us how we can achieve this?

Moreover once User B is finished his task, the task gets disappeared from his worklist.

Any suggestions will be highly appreciated.

Thanks & Regards

Ajay Gangwar

Don’t think there is out of the box functionality for this.You can achieve something like this if user A delegates to user B, this way if the item needs to be recalled user A can remove the delegate and it should disappear in user B’s list. Aslo if user B has admin rights on the process he will be able to redirect the item back to himself.


Long shot but maybe it helps.


vernon


 


This seems to require a custom web page that would need to run under the identity of a workflow admin user (so you can use the API to access workitem not allocated to user 😎

If it's within the same activity, use Redirect, if different activity, use GotoActivity method.

What if user C redirects to user D, and user B or user C wants to recall, who gets it?    This becomes a bit messy.  

We rolled our custom Recall function in K2 .NET 2003 limiting the originator (user A) for the recall, then he can pass it to user B again.


After user B actions the task the first time, how about adding parallel paths with activities for user C and again to user N?  The activity for User B would be a client event and if the user B actions it a server code event would follow that either expires the task for user C or uses the GotoActivity to move the process to another activity.  The method you would use would depend on the business rules. 


If user B never actions the task, it continues happily along the other path  from user C.  If at some point you no longer want user B to be able take this action, simply use the ExpireActivity API to expire the activity for user B.  Once you reach the end of the workflow if you still have an active client event for user B you will need to use the ExpireActivity to cancel user B's client event so the workflow can end.


Dear David,


 


Can you please provide me the code to expire the activity programatically?


Thanks & Regards


Ajay Gangwar


Reply