cancel
Showing results for 
Search instead for 
Did you mean: 

Existe-t-il un manuel ou un tutoriel pour savoir...

ldd
Champ in-the-making
Champ in-the-making
Bonjour,

Existe-t-il un manuel ou un tutoriel pour savoir comment intégrer des workflows créés via jBPM?

Si non, comment dois-je faire?
Où dois-je placer le fichier xml dans alfresco?

D'avance merci.
9 REPLIES 9

dewi
Champ in-the-making
Champ in-the-making
Regarde le pdf "Creating and customizing Workflow", pages 11 à 13 tout est expliqué.
1- tu récupères le plugin jbpm pour modéliser des workflows sous eclipse
2- dans l'onglet "deployment" de ton process definition, tu rentres /alfresco/jbpm/deployprocess dans le champ "server deployer"
3 - clique sur "deploy process archive"

Smiley Wink

ldd
Champ in-the-making
Champ in-the-making
Merci beaucoup de ton aide je n'avais pas bien lu toute la doc :$

egr
Champ in-the-making
Champ in-the-making
Bonjour,

Il est aussi à noter que le déploiement d'un processus de définition dans Alfresco ne suffit pas, il faut aussi créer un modèle de tâche et enrichir le fichier web-client-config-custom.xml situé dans la partie "shared" afin d'afficher les intitulés, formulairesetc de chaque étape.

Pour plus d'informations :
http://wiki.alfresco.com/wiki/WorkflowAdministration

ldd
Champ in-the-making
Champ in-the-making
Il est aussi à noter que le déploiement d'un processus de définition dans Alfresco ne suffit pas, il faut aussi créer un modèle de tâche et enrichir le fichier web-client-config-custom.xml situé dans la partie "shared" afin d'afficher les intitulés, formulairesetc de chaque étape.

Pour plus d'informations :
http://wiki.alfresco.com/wiki/WorkflowAdministration
Toujours bon à savoir tout ça Smiley Very Happy

Merci

ldd
Champ in-the-making
Champ in-the-making
Pourquoi n'existe-t-il pas une possibilité de configurer celà via éclipse directement? car si je ne me trompes pas il faut générer le document de config à part et les intégrer dans le répertoire où se trouve mon workflow dans l'arborescence d'alfresco…

Si j'ai mal compris, quelqu'un peut-il m'expliquer plus clairement? J'ai bien saisi l'utilité d'une telle configuration mais après avoir lu la doc "Workflow Administration" j'avoues ne pas avoir bien tout compris 😕
Que dois-je faire avec ces fichiers de config? Où dois-je les mettre? Quel nom type doivent-ils avoir?

Merci d'avance.

abigot
Champ in-the-making
Champ in-the-making
Voici un exemple qui fonctionne et qui pourra vous permettre de tester et ensuite de le faire évoluer

Le source du process dans eclipse avec le designer (certaines parties ont été ajoutées à la main :

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

<process-definition
  xmlns="urn:jbpm.org:jpdl-3.2"  name="ValidationContratClient">
   <swimlane name="assignee">
      <assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
         <pooledactors>GROUP_GRP_CONTRAT_ASSUREUR_ATC</pooledactors>
      </assignment>
   </swimlane>
   <swimlane name="initiator"></swimlane>
   <swimlane name="assigneeUG">
      <assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
         <pooledactors>GROUP_GRP_CONTRAT_ASSUREUR_UG</pooledactors>
      </assignment>
   </swimlane>
<!–  ********************************************************************** –>
<!–           tache start                                                   –>
<!– *********************************************************************** –>  
   <start-state name="start">
      <task name="wf:EmissionvalidationCC" swimlane="initiator"></task>
      <transition name="" to="Validation par ATC CC">
      </transition>
   </start-state>
  
  
<!–  ********************************************************************** –>
<!–           tache validation par ATC                                      –>
<!– *********************************************************************** –>  
   <task-node name="Validation par ATC CC">
      <task name="wf:ValidationATC" swimlane="assignee">
        <event type="task-end">
         <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
            <script>
         <expression>
         if (taskInstance.actorId == null)
            taskInstance.actorId = person.properties.userName;
         </expression>
            </script>
         </action>
         </event>
      </task>
      <transition name="" to="Validation par UG CC"></transition>
   </task-node>
  
<!–  ********************************************************************** –>
<!–           tache validation par UG                                       –>
<!– *********************************************************************** –>  
  
  
   <task-node name="Validation par UG CC">
      <task name="wf:ValidationUG" swimlane="assigneeUG">
         <event type="task-end">
         <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
            <script>
         <expression>
         if (taskInstance.actorId == null)
            taskInstance.actorId = person.properties.userName;
         var test = bpm_package;
            var child = test.children[0];
            child.properties["hn:Asp-Prop-isActive"] = true;
            child.properties["hn:Asp-Prop-validate"] = new Date();
           
            child.save();
         </expression>
            </script>
         </action>
         </event>
      </task>
      <transition name="" to="CC valide"></transition>
   </task-node>
  
<!–  ********************************************************************** –>
<!–           tache end                                                   –>
<!– *********************************************************************** –>  
  
   <end-state name="CC valide">
         <event type="task-end">
         <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
         <script>
         <expression>
         if (taskInstance.actorId == null)
            taskInstance.actorId = person.properties.userName;
         </expression>
         </script>
         </action>
      </event>
   </end-state>
</process-definition>
Dans le répertoire :


alfrescotomcatwebappsalfrescoWEB-INFclassesalfrescoworkflow

Le fichier workflowmodel.xml

  
  <!–                               –>
      <!–  Contrat client Tasks –>              
      <!–                               –>
     
      <type name="wf:EmissionvalidationCC">
         <parent>bpm:startTask</parent>
         <mandatory-aspects>
            <aspect>wf:ValidationContratStats</aspect>
         </mandatory-aspects>
      </type>

      <type name="wf:ValidationATC">
         <parent>bpm:workflowTask</parent>
         <mandatory-aspects>
            <aspect>wf:ValidationContratStats</aspect>
         </mandatory-aspects>
      </type>

      <type name="wf:ValidationUG">
         <parent>bpm:workflowTask</parent>
         <mandatory-aspects>
            <aspect>wf:ValidationContratStats</aspect>
         </mandatory-aspects>
      </type>
   </types>
  
   <aspects>
  
      <aspect name="wf:ValidationContratStats">
         <properties>
            <property name="wf:DecisionATC">
               <type>d:boolean</type>
            </property>
            <property name="wf:DecisionUG">
               <type>d:boolean</type>
            </property>
         </properties>
      </aspect>
Gestion de la partie visuelle du workflow
————————————————
Dans le répertoire :

alfrescotomcatwebappsalfrescoWEB-INFclassesalfresco

Le fichier web-client-config-properties.xml

   <!– Validation contrat client workflow tasks –>

   <config evaluator="node-type" condition="wf:EmissionvalidationCC" replace="true">
      <property-sheet>
         <separator name="sep1" display-label-id="general" component-generator="HeaderSeparatorGenerator" />
         <show-property name="bpm:workflowDescription" component-generator="TextAreaGenerator" />
         <show-property name="bpm:workflowDueDate" display-label-id="wf_adhoc_due_date" />
         <show-property name="bpm:workflowPriority" display-label-id="wf_adhoc_priority" />
         <show-property name="wf:DecisionATC" read-only="true" />
         <show-property name="wf:DecisionUG" read-only="true"/>
      </property-sheet>
   </config>
  
   <config evaluator="node-type" condition="wf:ValidationATC" replace="true">
      <property-sheet>
         <separator name="sep1" display-label-id="general" component-generator="HeaderSeparatorGenerator" />
         <show-property name="bpm:taskId" />
         <show-property name="bpm:description" component-generator="TextAreaGenerator" read-only="true" />
         <show-property name="bpm:dueDate" read-only="true" />
         <show-property name="bpm:priority" read-only="true" />
         <show-property name="wf:DecisionATC"/>
      </property-sheet>
   </config>
   <config evaluator="node-type" condition="wf:ValidationUG" replace="true">
      <property-sheet>
         <separator name="sep1" display-label-id="general" component-generator="HeaderSeparatorGenerator" />
         <show-property name="bpm:taskId" />
         <show-property name="bpm:description" component-generator="TextAreaGenerator" read-only="true" />
         <show-property name="bpm:dueDate" read-only="true" />
         <show-property name="bpm:priority" read-only="true" />
         <show-property name="wf:DecisionATC" read-only="true" />
         <show-property name="wf:DecisionUG"/>
      </property-sheet>
   </config>
J'espère ne rien avoir oublie

ldd
Champ in-the-making
Champ in-the-making
Je te remercie, je vais tester de ce pas Smiley Very Happy

michaelh
Champ on-the-rise
Champ on-the-rise
A noter : En renommant "workflow-context.xml.sample" en "workflow-context.xml" dans tomcatsharedclassesalfrescoextension, on active 3 modèles supplémentaires de workflow.

Utile pour s'inspirer d'exemples réels.

Note pour moi : penser à faire la liste de tous les exemples de ce genre Smiley Happy

ldd
Champ in-the-making
Champ in-the-making
A noter : En renommant "workflow-context.xml.sample" en "workflow-context.xml" dans tomcatsharedclassesalfrescoextension, on active 3 modèles supplémentaires de workflow.

Utile pour s'inspirer d'exemples réels.
Je m'étais lancé sur cette piste Vendredi Smiley Wink