gpt4 book ai didi

workflow - 如何在 alfresco 中将候选用户列表传递给 activiti 工作流任务?

转载 作者:行者123 更新时间:2023-12-04 03:20:20 25 4
gpt4 key购买 nike

我希望能够传递用户列表作为任务的候选人。用户是从数据列表中检索的,不能作为一个组使用。 Activiti:candidateUsers 似乎是正确的方法。

假设已获取用户并在变量 ipw_revivers 中设置。

<serviceTask id="alfrescoScripttask1" name="Alfresco Script Task" activiti:class="org.alfresco.repo.workflow.activiti.script.AlfrescoScriptDelegate">
<extensionElements>
<activiti:field name="script">
<activiti:string>logger.log("IPW - setup task");
execution.setVariable('ipw_reviwers', "tom, dick, harry");</activiti:string>
</activiti:field>
</extensionElements>
</serviceTask>

下面来使用变量 ipw_reviewers

<userTask id="adhocTask" name="Adhoc Task" activiti:candidateUsers="${ipw_reviewers}" activiti:formKey="wf:activitiReviewTask">
<extensionElements>
<activiti:taskListener event="create" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener">
<activiti:field name="script">
<activiti:string>logger.log("IPW - create task");
if (typeof bpm_workflowDueDate != 'undefined') task.setVariableLocal('bpm_dueDate', bpm_workflowDueDate);
if (typeof bpm_workflowPriority != 'undefined') task.priority = bpm_workflowPriority;</activiti:string>
</activiti:field>
</activiti:taskListener>
</extensionElements>
</userTask>

没有人能够看到或声明任务。如果列表中只有一个用户,则该用户可以声明任务。

如果 activiti:candidateUsers 被声明为
activiti:candidateUsers="tom, dick, harry"

然后所有三个用户都可以声明任务。

可以将用户列表以变量形式传递给 activiti:candidateUsers 还是应该使用不同的方法?

最佳答案

http://activiti.org 确认问题存在于 activiti 5.10然后从 git repo 中搜索 activiti 的来源,我搜索了 activiti 论坛。我遇到了当您想要拥有多个候选用户时,您必须使用 Collection 变量 在本论坛http://forums.activiti.org/en/viewtopic.php?f=6&t=3635&p=14187&hilit=candidateuser#p14187 .

我不知道如何从 javascript 执行 Collection (任何答案?)但使用 groovy

List<String> users = [ 'tom', 'dick', 'harry'] as String[];
execution.setVariable('ipw_reviewers', users);

允许这个任务

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

根据需要工作。

暂时在 Alfresco 中,我使用 javascript 从数据列表中查找用户列表,并将它们放在一个任务中的逗号分隔字符串中,然后在 groovy 中使用脚本任务将字符串转换为 List< String> 准备用于以下任务。

关于workflow - 如何在 alfresco 中将候选用户列表传递给 activiti 工作流任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13554245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com