Comment puis-je passer d'une liste de candidats pour les utilisateurs d'un or tâche de flux de travail dans alfresco?

Je voudrais être en mesure de passer d'une liste des utilisateurs en tant que candidats pour une tâche. Les utilisateurs sont récupérées à partir d'une liste de données et ne sont pas disponibles en tant que groupe. Or:candidateUsers semble être la bonne approche.

En supposant que les utilisateurs ont été obtenus et mis dans la variable, 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>

La suite de utilise la variable 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>

Personne n'est en mesure de voir ou de demander la tâche. Si il y a un seul utilisateur dans la liste, l'utilisateur est en mesure de demander la tâche.

Si or:candidateUsers est déclarée comme

activiti:candidateUsers="tom, dick, harry"

alors, tous les trois les utilisateurs sont en mesure de réclamer la tâche.

Une liste d'utilisateurs à être transmis à l'or:candidateUsers dans une variable ou si une approche différente de l'être utilisé?

Je vous réponds en travaillant pour vous?
Semblable à la dernière réponse de user68910801 vous pouvez également créer une liste de Rhinocéros à base de JavaScript (utilisé dans Alfresco). Il est juste un peu plus chiant à gérer car d'une part, vous n'avez pas le Java.type() opération (à la place, vous utilisez Packages.java.util.ArrayList), b) le JavaScript de type Chaîne de caractères dans Rhino n'a pas la carte de Java String, et c) une liste est implicitement traitée comme un tableau d'objet de type et de certaines de ses méthodes (comme ajouter) peut être caché

OriginalL'auteur Ian Williams | 2012-11-25