Vorrei poter passare un elenco di utenti come candidati per un'attività. Gli utenti vengono recuperati da un elenco di dati e non disponibili come gruppo. Activiti: candidati Gli utenti sembrerebbero essere l'approccio giusto.Come posso passare un elenco di utenti candidati a un'attività di flusso di lavoro activiti in alfresco?
Supponendo che gli utenti siano stati ottenuti e impostati nella variabile, 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>
il seguente testo utilizza le variabili 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>
nessuno è in grado di vedere o rivendicare il compito. Se nell'elenco è presente un solo utente, tale utente è in grado di rivendicare l'attività.
Se Activiti: candidateUsers è dichiarato come
activiti:candidateUsers="tom, dick, harry"
poi tutti e tre gli utenti sono in grado di rivendicare il compito.
Un elenco di utenti può essere passato a activiti: candidatoUser in una variabile o è necessario utilizzare un approccio diverso?
è la mia risposta che lavorano per voi? –
Simile alla risposta più recente di user68910801 è anche possibile creare un elenco in JavaScript basato su Rhino (utilizzato in Alfresco). È un po 'più fastidioso da gestire poiché a) non si ha l'operazione 'Java.type()' (si usa invece 'Packages.java.util.ArrayList'), b) il tipo di stringa JavaScript in Rhino fa non è mappato a Java String, e c) un elenco viene gestito in modo implicito come un oggetto simile ad un array e alcuni dei suoi metodi (come add) potrebbero essere nascosti –