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é?
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
Vous devez vous connecter pour publier un commentaire.
Avoir confirmé l'existence de ce problème en or 5.10 de http://activiti.org et puis chaluté par le biais de la source de l'or à partir du repo git, j'ai cherché l'or des forums. Je suis tombé sur Lorsque vous voulez avoir de multiples candidat utilisateurs que vous aurez à utiliser une Collection<String> variable sur ce forum http://forums.activiti.org/en/viewtopic.php?f=6&t=3635&p=14187&hilit=candidateuser#p14187.
Je ne sais pas comment faire pour l'exécution.setVariable une Collection<String> à partir de javascript (toutes les réponses?) mais l'utilisation de groovy
permet à cette tâche
à travailler comme souhaité.
Pour le moment en plein air, j'ai utilisé du javascript pour trouver la liste des utilisateurs à partir de la liste des données et les a placés dans une chaîne délimitée par des virgules dans une tâche et suivi avec une tâche de script groovy qui convertit la chaîne en une Liste<String> prêt pour une utilisation dans les tâches suivantes.
OriginalL'auteur Ian Williams
Si vous regardez le flux de travail par défaut dans Alfresco, comme review-pooled.bpmn20.xml, alors vous verrez que c'est à l'aide de la
potentialOwner
élément.Un extrait du flux de travail:
C'est donc à l'aide de la bpm_groupAssignee aspect d'initier ce.
Dans votre cas vous pouvez facilement modifier le
<formalExpression>
la balise à vos besoins.Heureux que vous avez trouvé la vraie réponse à votre problème.
OriginalL'auteur Tahir Malik
Dans Nashorn (JDK8) java script moteur, pour la définition de la liste et la valeur de la variable de script suivant de la tâche de script fonctionne:
org.alfresco.repo.workflow.activiti.script.AlfrescoScriptDelegate
vous utilisez le Rhino moteur de script qui est livré avec Alfresco. D'habitude vous n'utilisez jamais le Nashorn moteur dans la Alfresco cas d'utilisation, aussi longtemps que vous utilisez la Alfresco fournis par les cours de l'Or de l'intégration. Uniquement lorsque vous utilisez la valeur par défaut<scriptTask>
ouorg.activiti.engine.impl.bpmn.listener.ScriptTaskListener
lors de l'exécution sur JDK 8 allez-vous utiliser Nashorn.OriginalL'auteur user68910801