Workflow avancé avec gestion de la visibilité

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

Re: Workflow avancé avec gestion de la visibilité

J'ai pas trop regardé le workflow wfl:lifecycleapproval mais j'imagine que quand tu le lances manuellement, un formulaire apparaît te demandant la saisie du valideur.

Le problème de lancer un workflow automatiquement, c'est que ce formulaire n'apparaît plus ; ce qui entraîne je pense ton erreur, bpm_assignee étant une variable définit par l'un des "composants" (aspect) alfresco permettant de sélectionner un utilisateur.

Pour essayer de contourner le problème, je passe par les groupes alfresco. J'ai créé un groupe "valideurs", et quand mon workflow s'exécute automatiquement, il assigne une tâche partagée aux utilisateurs de ce groupe.
Une autre solution je pense consisterait à créer une première tâche à l'initiateur du workflow (celui qui upload les documents), et à lui faire saisir dans cette première tâche le ou les noms des valideurs (via par exemple l'aspect alfresco bpm_assignee). Il passerait ensuite le workflow dans une tâche "lancer la validation", ce qui créerait la tache "validation" pour le valideur. Je n'ai pas testé cette solution, mais je pense que ça devrait fonctionner.

Pour le déplacement des documents, j'avais mis le bout de code pour le faire dans le post que je t'ai donné. Je te le recolle ici :

<task-node name="Validation directeur">
      <task name="alwf:wf2_directeurValidation" swimlane="directeur1"/>
      <transition name="Publication" to="end1">
         <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
            <runas>admin</runas>
              <script>
               <variable name="bpm_package" access="read" />
               <variable name="companyhome" access="read" />
               <expression>
                  for (var i=0; i &lt; bpm_package.children.length; i++) {
                     logger.log("  > deplacement document : " + bpm_package.children[i].name);
                     var dest = companyhome.childByNamePath("documents validés");
                     bpm_package.children[i].move(dest);
                     logger.log("    deplacement OK");
                  }
               </expression>
              </script>
           </action>
      </transition>
   </task-node>

Bon courage.
john90
Member II

Re: Workflow avancé avec gestion de la visibilité

Merci pour cette réponse Cytrix, c'est vraiement très aimable à toi.

J'ai décidé de faire mon propre Workflow qui sera plus simple que le lifecylce puis de tester ce que tu me propose pour déclencher le WF et déplacer dans un repertoire.
J'ai donc fait placé mes fichiers
      * WFModel.xml
      * WF_processdefinition.xml
      * WF-context.xml
dans mon répertoire "C:\Alfresco\tomcat\shared\classes\alfresco\extension"

Après avoir corrigé quelques étourderies de mon cru Alfresco à démarré.
Par contre je ne retrove pas mon WF dans la liste des WF avancé.
Il doit etre mal déployé mais je n'ai pas encore trouvé ce qui manque!
cytrix
Member II

Re: Workflow avancé avec gestion de la visibilité

Tu es sûr d'avoir bien renseigné le fichier workflow-context.xml ?


<bean id="extension.workflows.workflowBootstrap" parent="workflowDeployer">
      <property name="workflowDefinitions">
         <list>
            <props>
               <prop key="engineId">jbpm</prop>
               <prop key="location">alfresco/extension/mywf_validation_fic1_processdefinition.xml</prop>
               <prop key="mimetype">text/xml</prop>
               <prop key="redeploy">true</prop>
            </props>
         </list>
      </property>
   </bean>

   <!– Deploiement du modele –>
   <bean id="extension.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
      <property name="models">
         <list>
            <value>alfresco/extension/mywf_validation_fic1Model.xml</value>
         </list>
      </property>
   </bean>
john90
Member II

Re: Workflow avancé avec gestion de la visibilité

Oui j'ai renseigné ce fchier de cette manière.
J'ai tout de même fait l'expèrience de renommer mon fichier WF-context.xml en workflow-context.xml et de modifier son contenu pour qu'il ressemble d'avantage a ce que tu me propose.
workflow-context.xml

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>

<beans>
<bean id="extension.workflows.workflowBootstrap" parent="workflowDeployer">
      <property name="workflowDefinitions">
         <list>
            <props>
               <prop key="engineId">jbpm</prop>
               <prop key="location">alfresco/extension/WF_processdefinition.xml</prop>
               <prop key="mimetype">text/xml</prop>
               <prop key="redeploy">true</prop>
            </props>
         </list>
      </property>
   </bean>

   <!– Deploiement du modele –>
   <bean id="extension.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
      <property name="models">
         <list>
            <value>alfresco/extension/WFModel.xml</value>
         </list>
      </property>
   </bean>
</beans>

Mais après avoir relancé le serveur je n'ai toujours pas mon workflow dans la liste des Workflows disponibles.