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

cancel
Showing results for 
Search instead for 
Did you mean: 
ldd
Member II

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

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
dewi
Member II

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

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
Member II

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

Merci beaucoup de ton aide je n'avais pas bien lu toute la doc :$
egr
Member II

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

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
Member II

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

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
Member II

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

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
Member II

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

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
Member II

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

Je te remercie, je vais tester de ce pas Smiley Very Happy
michaelh
Active Member

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

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
Member II

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

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