Personnalisation des étape du workflow

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

Personnalisation des étape du workflow

Bonjour à tous,

Je travaille avec alfresco 3.4.d.

J'ai créé un workflow avancé (pour une utilisation dans share) en respectant toutes les étapes :
- création du process jPDL
- création du modèle associé
- fichier properties d'internationalisation pour tous les libellés de mon workflow
- déclaration du process, du modèle et des properties dans un fichier -context.xml

J'ai besoin de personnaliser chaque formulaire de chaque étape de mon workflow. Je précise que j'utilise Share et non pas Explorer.
Pour cela, je respecte ce qui est préconisé sur le wiki : http://wiki.alfresco.com/wiki/Custom_Share_Workflow_UI en paramétrant share-workflow-form-config.xml.

Le problème, c'est que lorsque je configure share-workflow-form-config.xml, cela n'a absolument aucun impact sur mes formulaires, alfresco continue invariablement à me générer des formulaires "par défaut" quoi que je fasse.

Il n'y a absolument aucune erreur dans les logs.

J'exécute correctement le workflow du début à la fin.

Voici des extraits de mon code :

jPDL :

<process-definition  xmlns="urn:jbpm.org:jpdl-3.2"  name="siiw:EntreeProjet">



   <swimlane name="initiator"/>



   <start-state name="WEntreePrj_deposerBrouillon">
      <task name="siiw:WEntreePrj_deposerBrouillon" swimlane="initiator" />
      <transition name="" to="WEntreePrj_T1_controle_verif_sii"></transition>
   </start-state>
   
   <task-node name="WEntreePrj_T1_controle_verif_sii">
      <task name="siiw:WEntreePrj_T1_controle_verif_sii" swimlane="verificateursSii" />
      <transition to="WEntreePrj_BrouillonVerifie?" name="brouillon_verifie">
         <script>
                <variable name="brouillon_verifie" access="read,write"/>
                <expression>
                    brouillon_verifie = true;
                </expression>
            </script>
      </transition>
      <transition to="WEntreePrj_BrouillonVerifie?" name="brouillon_rejete"></transition>
   </task-node>




Model :


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



    <imports>
        <import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
        <import uri="http://www.alfresco.org/model/bpm/1.0" prefix="bpm"/>
    </imports>
   
    <namespaces>
           <namespace uri="http://www.sii.fr/model/workflow/1.0" prefix="siiw"/>
    </namespaces>



          <type name="siiw:WEntreePrj_deposerBrouillon">
        <parent>bpm:startTask</parent> 
     </type>

     <type name="siiw:WEntreePrj_T1_controle_verif_sii">
           <parent>bpm:workflowTask</parent>
     </type>

share-workflow-form-config.xml :



<alfresco-config>



   <config evaluator="task-type" condition="siiw:WEntreePrj_deposerBrouillon">
      <forms>
         <form>
            <field-visibility>
               <show id="bpm:description" />
               <show id="bpm:workflowPriority" />
               <show id="packageItems" />
               <hide id="bpm:workflowDescription" />
               <hide id="bpm:workflowDueDate" />
               <hide id="bpm:dueDate" />
               <hide id="bpm:status" />
               <hide id="bpm:percentComplete" />
               <hide id="bpm:comment" />
            </field-visibility>
            <appearance>
               <set id="" appearance="title" label-id="workflow.set.task.info" />
               <set id="info" appearance="" template="/org/alfresco/components/form/3-column-set.ftl" />
               <set id="items" appearance="title" label-id="workflow.set.items" />
               <set id="descriptionEtape" appearance="" label-id="siiw_GedSiiWorkflowsModels.property.siiw_description_etape" />
              
               <field id="siiw:description_etape" read-only="true" set="descriptionEtape">
                     <control template="/org/alfresco/components/form/controls/info.ftl" />
               </field>
               <field id="bpm:workflowPriority" label-id="workflow.field.priority" set="info" read-only="true">
                  <control template="/org/alfresco/components/form/controls/workflow/priority.ftl" />
               </field>
               <field id="packageItems" set="items" mandatory="true" />
            </appearance>
         </form>
      </forms>
   </config>

   <config evaluator="task-type" condition="siiw:WEntreePrj_T1_controle_verif_sii">
      <forms>
         <form>
            <field-visibility>
               <show id="bpm:description" />
               <show id="bpm:workflowPriority" />
               <show id="packageItems" />
               <hide id="bpm:workflowDescription" />
               <hide id="bpm:workflowDueDate" />
               <hide id="bpm:dueDate" />
               <hide id="bpm:status" />
               <hide id="bpm:percentComplete" />
               <hide id="bpm:comment" />
            </field-visibility>
            <appearance>
               <set id="" appearance="title" label-id="workflow.set.task.info" />
               <set id="info" appearance="" template="/org/alfresco/components/form/3-column-set.ftl" />
               <set id="items" appearance="title" label-id="workflow.set.items" />
               <set id="descriptionEtape" appearance="" label-id="siiw_GedSiiWorkflowsModels.property.siiw_description_etape" />
              
               <field id="siiw:description_etape" read-only="true" set="descriptionEtape">
                     <control template="/org/alfresco/components/form/controls/info.ftl" />
               </field>
               <field id="bpm:workflowPriority" label-id="workflow.field.priority" set="info" read-only="true">
                  <control template="/org/alfresco/components/form/controls/workflow/priority.ftl" />
               </field>
               <field id="packageItems" set="items" mandatory="true" />
            </appearance>
         </form>
      </forms>
   </config>

Les bpm:workflowDescription et bpm:workflowDueDate qui sont "hide" apparaissent toujours sur le formulaire, une fois déployé et Alfresco redémarré.
J'essaye également de rendre obligatoire le fait d'associer un Item (un fichier) associé au workflow. Je me dis naîvement qu'il suffit de rajouter mandatory="true" sur le <field id="packageItems" mais cela ne fonctionne pas.

Si vous avez des explications et des suggestions à me faire, je suis preneur !

Merci beaucoup pour votre aide.
2 Replies
jayjayecl
Active Member II

Re: Personnalisation des étape du workflow

Bonjour,

Même si ceci ne devrait pas régler complètement le problème, pourriez-vous tester en ne touchant pas au fichier de base d'Alfresco share-workflow-form-config.xml, mais en modifiant le fichier "d'extension" share-config-custom.xml, comme indiqué ici :
http://wiki.alfresco.com/wiki/Forms#Configuration_Files

Précisez-nous alors si le comportement a changé
xavier101
Member II

Re: Personnalisation des étape du workflow

Bonjour Rodel et merci pour ta réponse,

Effectivement, déplacer la config des formulaires des workflows depuis share-workflow-form-config.xml vers share-config-custom.xml résoud tous mes problèmes.  Smiley Very Happy

Je me demande quand même pourquoi share-workflow-form-config.xml ne fonctionne pas. Est-ce un bug sur la 3.4.d, est-ce un fichier réservé pour la version "non-communautaire" ?


Merci beaucoup, ça faisait plusieurs jours que je cherchais !