J'aimerais pouvoir transmettre une liste d'utilisateurs en tant que candidats à une tâche. Les utilisateurs sont extraits d'une liste de données et non disponibles en tant que groupe. Activiti: les candidatures sembleraient être la bonne approche.
En supposant que les utilisateurs ont été obtenus et définis dans la variable, IPW_Reviwers. P>
activiti:candidateUsers="tom, dick, harry"
3 Réponses :
Si vous examinez les flux de travail par défaut dans Alfresco, comme REVISION-FOOKED.BPMN20.XML, vous verrez qu'il utilise l'élément Un extrait de la Flux de travail: p> donc il utilise l'aspect bpm_groupassignere pour initier ceci. p> Dans votre cas, vous pouvez facilement modifier le potentiel code>.
Cela m'a pris beaucoup de temps pour comprendre peu les flux de travail. Je crois que l'exécution de l'activiti: les candidatures que l'activitati concepteur créé pour moi est une extension Activiti qui simplifie la méthode potentielle. Passer la chaîne $ {ipw_reviwers} Comme l'expression formelle ne fonctionnait pas pour moi, mais votre réponse a fait au moins déverrouillé les vieilles cellules grises et me déplace vers l'avant.
Heureux que vous ayez trouvé la vraie réponse à votre problème.
Ayant confirmé que le problème existait Activiti 5.10 à partir de http://activiti.org puis à chair à travers la source d'Activiti Depuis le Repo Git, j'ai cherché les forums Activiti. Je suis tombé sur i ne sais pas comment exécuter.setvariable une collection <userTask id="mytask" name="My Task" activiti:candidateUsers="${ipw_reviewers}">
</userTask>
in Nashorn (JDK8) Java Script Engine, pour la définition de la liste et la définition en tant que variable, après la suite du script de tâche de script fonctionne:
var ArrayList = Java.type('java.util.ArrayList'); var list = new ArrayList(); list.add('a'); list.add('b'); list.add('c'); execution.setVariable('list', list);
Notez qu'avec Alfresco + Activiti incorporé, chaque fois que vous utilisez la classe org.alfresco.repo.workflow.activiti.repo.workflow.activiti.script.alfrescoscriptdel eGate code> Vous utilisez le moteur de script Rhino expédié avec Alfresco. Vous n'utilisez généralement jamais le moteur Nashorn dans le boîtier d'utilisation en Alfresco tant que vous utilisez les classes d'Alfresco à condition que l'intégration Activiti. Ce n'est que lorsque vous utilisez le
org.activiti.engine.impl.bpmn.listener.impl.bpmn.listener.scripttasklistener code> en cours d'exécution sur JDK 8 Utiliserez-vous Nashorn.
Ma réponse est-elle en train de travailler pour vous?
Semblable à la dernière réponse de User68910801 Vous pouvez également créer une liste dans JavaScript basé sur Rhino (utilisé en Alfresco). Il est juste un peu plus gênant de gérer depuis un) vous n'avez pas le fonctionnement
java.type () code> (plutôt que vous utilisez
packages.java.util.arraylist code>) , b) le type de chaîne JavaScript dans Rhino ne correspond pas à la chaîne Java, et c) une liste est implicitement traitée comme un objet de type tableau et certaines de ses méthodes (comme l'ajout) peuvent être cachées.