Skip to main content

I am integrating InfoPath with a BP process, and was looking for some advice on destination planning. 


 


Scenario 1


A task should be sent to multiple users, consisting out of 3 possible groups. Only one person should be able to complete the task. The group that should be used for the destination should be selected in a previous activity.


- I thought of creating 3 active directory groups, each containing their respective users.


Use a custom SQL table and populate it with the names of the 3 AD groups, use the Dynamic SQL Service tot populate the names from the table into a drop  down control on the InfoPath form to select from.


- Then specify the destination of the activity to be the selected value in the dropdown, thus the xml field value, that relates to the AD Group. I actually do not think this would work as K2 might not resolve the value to be a group from AD and then not send each user in the group a task?


- Then choose advanced destinations, Plan per Destination, All at Once and specify only 1 slot to be available?


Maybe there is a better approach to the above scenario?


 


Scenario 2


A task should be sent to multiple people, consisting out of a single group, where only one person should be able to complete the task.


- Therefore, one AD group and its users would be created


- Create a role in K2BP, add the AD group to the role?


- Specify the destination of the activity as the role?


- Then choose advanced destinations, Plan per Destination, All at Once and specify only 1 slot to be available?


Any ideas on this scenario?


-      


The other thing I need to consider...


Is it possible to allow users to save info on a form, which was received as a task, but do not complete the task. In other words, userA and userB receives a task as they belong to the same group/role. userA opens the task first, makes some changes and saves it, but do not complete the task. When userB opens the task, this user might want to view changes to the task made by userA, then complete the task.


 I am aware that an action may be created to only update the task and not complete it. But the above scenario should not work as the task info is not merged, but the users receive their seperate instances of the task, correct? What would happen if Plan All At One was chosen instead, then a single instance of the task is created? Not sure if the merge scenario is possible...?


 


 Any feedback appreciated.

Hi,


First of all, if you are not aware, you can find here an excellent K2 whitepaper on advanced destination.


My remark about your scenaris:


S1.



  • you can create AD groups or K2 roles for your users.
  • to populate your form with this groups/role you can use a SmartObject using respectivly the "Active Diecrtory Service 2" or the "URM service" (URM for User Role Manager".
  • when you specify the destination, after the drag and drop of your field value in the textxbox, if you are using AD groups you must select "Group" on the right dropDownlist or "Role" if you are using K2 Roles.
  • in your case, you don't need to go to advanced destination: 1 slot for a destination is the default behaviour.

S2. Same remark here... you can use AD groups or K2 roles but it's not obliged to use both. After in your Destination configuration select the right value in the dropdownlist. 1 slot is the default behaviour.


for the other thing to consider... it's more complicated 🙂. When a user load a worklistitem (WLI), it is allocated to him. So when he do an update, the WLI is no more in the work list of the other users. If you create multiple slots, other users will always have the WLI but they will not have the updated informations (multiple slots its a kind of copy of the original WLI). So for your need, you will need to have only one slot and after the update, you need to execute a "release" on the WLI.


HTH


Hi Jan


 


Yes, I am aware of the whitepaper thanks, but it is still uncertain when to use all the options :-)


 


You mention I can use AD Groups or K2 Roles, not necessarily both. But then why would you want to use K2 Roles? I might think that


it would be used if users in an AD Group need to be used and maybe 2 users, not belonging to that specific group, thus giving you the flexabiliity


between users, groups and a combination of both. Is their any other advantage?


 


I will check out the Active Directory Service 2 and URM service of K2. But remember, the only reason I wanted to popualte a drop down control


containing the names of the 3 AD Groups, is because only one will be used for each process instance, but the choice should always be there


for all three. I do not wish for the users of these groups to be shown in the drop down, the task must be sent to all users in the group that was


selected by the originator when starting the process. I also do not want to display an entire list of AD Groups in the drop down to select from,


only these 3, that's why I thought it might be easier to create a custom table and populate the names in there, and display them in the drop


down control to select from. After some testing I realised that K2 will not be able to resolve a Group or Role from a text value in a destination rule,


thus I used Destination Sets and Rules to determine which Role to use, based on the text value in the drop down control, therefore Advanced Destinations


was necessary to use.


 


Concerning a task being sent to multiple users, where the destination is a Group or Role. When users make changes to their tasks and only update them,


they will off course be able to view only their changes that was made. But what do I need to change in the destination planning if I would like all users to open


the same task, but only permit one user to complete the task? Does this also mean the task merge is not possible? How can I execute the "release" of a WLI


when updated by one of the users in the Group/Role?


one of main advantages of going for a role is that you exclude certain role items


for example if you want configure group A as destination but does not want user x who is a part of group A to be a destination.You can easily do that including group A and excluding user x from the role


Thanks maxpirate, much appreciated!

Reply