Affectation d'une usertask à un utilisateur

cancel
Showing results for 
Search instead for 
Did you mean: 
didiere
Customer

Affectation d'une usertask à un utilisateur

Bonjour, 

Sur alfresco 6.1 avec le sdk 4, j'essaye désespérément de créer un workflow avec une userTask à affecter à un user pour le cas simple ou à un groupe dans le cas à peine plus poussé.

Mon souci est qu'au lancement du workflow, peu importe la méthode que j'utilise, la userTask, sur laquelle j'attends une réponse, est automatiquement terminée avec une réponse nulle, et le workflow se termine. De plus, la tâche n'apparaît pas dans les tâches actives ou terminées de user cible.

La définition de mon workflow est la suivante :

<?xml version="1.0" encoding="UTF-8"?>

<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"

   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn"

   xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlnsSmiley Surprisedmgdc="http://www.omg.org/spec/DD/20100524/DC"

   xmlnsSmiley Surprisedmgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema"

   expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">

 

   <process id="demande-recrutement" name="Lancer le processus de validation d'une demande de recrutement" >

 

      <startEvent id="start"/>

 

       <userTask id="validationPoleRH"

                 name="Affectation de la demande de recrutement au pôle RH"

                 activiti:formKey="rhdr:validationPoleRecrutement"

                 activiti:assignee="monuser" [ou activiti:candidateGroups="GROUP_DIDIER"]

       >

           <extensionElements>

               <activiti:taskListener event="create" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener">

                   <activiti:field name="script">

                       <activiti:string>

                           logger.log("Creation tâche validation pôle recrutement");

                           logger.log("Affectation au pôle recrutement - " + task.assignee);

                           // ici task.assignee a bien la valeur "monuser"

                       </activiti:string>

                   </activiti:field>

               </activiti:taskListener>

               <activiti:taskListener event="complete" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener">

                   <activiti:field name="script">

                       <activiti:string>

                           logger.log("Tâche terminée avec la réponse : " + task.getVariable('rhdr_resultatValidation'));

                           // ici la réponse est "null"

                       </activiti:string>

                   </activiti:field>

               </activiti:taskListener>

           </extensionElements>

 

           <!-- Ces méthodes non plus ne fonctionnet pas -->

           <!--<humanPerformer>-->

               <!--<resourceAssignmentExpression>-->

                   <!--<formalExpression>monuser</formalExpression>-->

               <!--</resourceAssignmentExpression>-->

           <!--</humanPerformer>-->

           <!--<potentialOwner>-->

               <!--<resourceAssignmentExpression>-->

                   <!--<formalExpression>group(GROUP_DIDIER)</formalExpression>-->

               <!--</resourceAssignmentExpression>-->

           <!--</potentialOwner>-->

 

       </userTask>

 

      <sequenceFlow id="flow2" sourceRef="validationPoleRH" targetRef="end">

           <extensionElements>

               <activiti:executionListener event="end" class="org.alfresco.repo.workflow.activiti.listener.ScriptExecutionListener">

                   <activiti:field name="script">

                       <activiti:string>

                           logger.log("Fin du workflow");

                       </activiti:string>

                   </activiti:field>

               </activiti:executionListener>

           </extensionElements>

      </sequenceFlow>

 

 

      <endEvent id="end" />

 

   </process>

 

</definitions>

Voici le model associé :

<?xml version="1.0" encoding="UTF-8"?>

<model name="rhdr:workflowModel" xmlns="http://www.alfresco.org/model/dictionary/1.0">

    <!-- Optional meta-data about the model -->

    <description>Sample Workflow Model</description>

    <author>My Name</author>

    <version>1.0</version>

 

    <imports>

        <!-- Import Alfresco Dictionary Definitions -->

        <import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>

        <!-- Import Alfresco Content Domain Model Definitions -->

        <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>

        <!-- Import Alfresco Workflow Model Definitions -->

        <import uri="http://www.alfresco.org/model/bpm/1.0" prefix="bpm"/>

    </imports>

 

    <!-- Custom namespace for your domain -->

    <namespaces>

        <namespace uri="http://www.alptis.com/model/alptis/rh/demande-recrutement/1.0" prefix="rhdr"/>

    </namespaces>

 

    <types>

        <type name="rhdr:validationPoleRecrutement">

            <parent>bpm:workflowTask</parent>

            <properties>

                <property name="rhdr:resultatValidation">

                    <type>d:text</type>

                    <constraints>

                        <constraint type="LIST">

                            <parameter name="allowedValues">

                                <list>

                                    <value>Validation</value>

                                    <value>Rejet</value>

                                    <value>Incomplet</value>

                                </list>

                            </parameter>

                        </constraint>

                    </constraints>

                </property>

            </properties>

        </type>

    </types>

 

</model>

 

L'extrait du share-config-custom pour le formulaire associé à ma userTask

    <config evaluator="string-compare" condition="activiti$validationPoleRecrutement">

        <forms>

            <form>

                <field-visibility>

                    <show id="bpm:workflowDescription" />

                    <show id="packageItems" />

                    <show id="rhdr:resultatValidation" />

                    <show id="transitions" />

                    <show id="bpm:status" />

                </field-visibility>

                <appearance>

                    <set id="" appearance="title" label-id="workflow.set.general" />

                    <set id="items" appearance="title" label-id="workflow.set.items" />

                    <set id="progress" appearance="title" label-id="workflow.set.task.progress" />

                    <set id="other" appearance="title" label-id="workflow.set.other" />

                    <field id="bpm:workflowDescription" label-id="workflow.field.message">

                        <control template="/org/alfresco/components/form/controls/textarea.ftl">

                            <control-param name="style">width: 95%</control-param>

                        </control>

                    </field>

                    <field id="packageItems" set="items" />

                    <field id="rhdr:resultatValidation" set="other" />

                    <field id="bpm:status" set="progress" />

                </appearance>

            </form>

        </forms>

    </config>

Quelqu'un aurait une idée de la solution à mon problème ?

Merci

1 Reply
didiere
Customer

Re: Affectation d'une usertask à un utilisateur

Dans mon workflow, j'ai oublié de copier cette séquence :

<sequenceFlow id="flow1" sourceRef="start" targetRef="validationPoleRH" >
</sequenceFlow>