如何将 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>
我正在开发 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>