BookmarkSubscribeRSS Feed
Maayan_Oscar
Obsidian | Level 7

Hi,

In Visual Investigator, when we assign a task to a user group, the default behavior is that once one member completes the task, it is marked as completed for the entire group.

Is there any way to configure the workflow so that the task remains open for all members who have not yet completed it? Each member should be required to complete the task individually.

Creating separate tasks manually is not an option because the user group is dynamically taken from a field within the entity during the workflow, so the number of users is unknown in advance.

If this cannot be achieved using the standard functionality, what is the best practice or recommended approach? Is there any built-in feature or configuration that supports individual completion for group-assigned tasks?

Thanks

3 REPLIES 3
susantrueman
SAS Employee

Hi Maayan, 

 

I don't think it is possible to do this today with a single workflow user task. I wondered if you could perhaps use parallel tasks for this - perhaps preceded by a decision point and script task to work out the user to be assigned the tasks but I'll check with my engineering colleagues to see if they can think of any other options. 

Thanks

Susan

 

RickMatthews
SAS Employee

Hi Maayan,

A few thoughts for you to consider. 

 

1) Is this scenario tied to possible 'departments' of users, where you know the number of departments and need 1 user from each to perform the same task? If this is the case, then a parallel gateway for each 'department' could work. It would be dynamic based upon the User Groups (anyone from each department could complete), but the number of departments would be static, in that you would need a User Task for each department. 

2) If option 1 won't work, then you will need to write code to track the users that have completed and compare agains the User group in iterations.

a) pre-User Task, create a Script Task that contains the list of users in the group, this WF variable is used in the User Task for assignment. 

b) when users perform the User Task, you have a post-Script Task that removes them from the group AND you have to review the current Group to ensure that new users were not added/removed(so compare). You'll check the list with an Exclusive Gateway. If the list of users is empty, then continue... if the list is not empty, then reroute back to the User Task with the updated WF variable that contains the list of users. 

Rick Matthews
Senior Software Manager • Fraud and Security Intelligence
Tel: + 1 919 531 6945 • Mobile: + 1 919 995 3599 • Rick.Matthews@sas.com
Cary World Headquarters • 100 SAS Campus Drive • Cary, NC, 27513
www.sas.com/
SAS® … THE POWER TO KNOW®
Maayan_Oscar
Obsidian | Level 7

Thank you for the suggestions.

 

Regarding option 1 - unfortunately, I can’t predetermine the number of users because the group is dynamically derived from an entity field during the workflow. The number of users is unknown at design time, so static paths aren’t feasible.

 

Regarding option 2b - to remove a user from the list after task completion, I need to identify who completed the task. Is there a property or API I can use to capture the completing user’s identity so I can re-assign the task only to those who haven’t finished it yet?


Thanks
Maayan