如何将 alfresco activiti 工作流任务分配给两个或多个组的交集?

How to assign alfresco activiti workflow task to intersection of two or more groups?

我正在开发 alfresco activiti 工作流程,我想将任务分配给同时属于两个特定组的用户。在 activiti:candidateGroups 中用逗号分隔组给出组的并集。甚至可以解决这个问题吗?

首先,您需要设置一些服务任务/或一些执行侦听器,然后才能将您的用户任务分配给您的用户组,您应该在那里使用 this and this 来获取您的组及其基础用户。

var group1 = people.getGroup("GROUP_DUMMY");
var g1Users = [];
if(group1){
   g1Users = g1Users.concat(people.getMembers(group1));         
}

var group2 = people.getGroup("GROUP_SAMPLE");
var g2Users = [];
if(group2){
   g2Users = g2Users.concat(people.getMembers(group2));         
}

这样做后,您应该设置一个新数组以仅包含属于两个组的用户,但您应该放置 user.properties.userName 而不是放置用户节点。

您必须有一个字符串数组,每个值代表一个用户名!

最后像这样将该数组导出到您的执行中execution.setVariable('scwf_candidates', users);像这样设置您的用户任务:

<userTask id="..." name="My Task" activiti:candidateUsers="${scwf_candidates}">
</userTask>