我希望能够将用户列表作为任务的候选者传递.用户从数据列表中检索,不作为组提供.Activiti:candidateUsers似乎是正确的方法.
假设已经在变量ipw_reviwers中获取并设置了用户.
<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>
Run Code Online (Sandbox Code Playgroud)
以下使用变量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>
Run Code Online (Sandbox Code Playgroud)
没有人能够看到或宣称这项任务.如果列表中只有一个用户,则该用户可以声明该任务.
如果activiti:candidateUsers被声明为
activiti:candidateUsers="tom, dick, harry"
Run Code Online (Sandbox Code Playgroud)
然后所有三个用户都能够声明任务.
可以在用户的列表被传递到Activiti的:candidateUsers在一个变量或应采用不同的方法来使用?