Manuel de migration 4.0 vers 4.1


Modification des champs de mutualisation

Une nouvelle action du cycle de vie est à rajouter dans le fichier de cycle de vie "utilisateurs". Cette action est appelée lors de la modification des champs de mutualisation.

Il faut donc ajouter l'action commune 222 ci-dessous dans le fichier de cycle de vie :

  • WEB-INF/param/workflows/course.xml (exemple)

Ajouter l'action suivante dans la section <common-actions>

<action id="222" name="plugin.default-odf-workflow:WORKFLOW_ACTION_EDIT_SHAREABLE_COURSE">   
    <restrict-to>   
        <conditions type="AND">   
            <condition type="avalon">   
                <arg name="role">org.ametys.cms.workflow.ContentCheckRightsCondition</arg>   
                <arg name="right">ODF_Rights_Edit_Shareable_Fields</arg>   
            </condition>   
            <condition type="avalon">   
                <arg name="role">org.ametys.cms.workflow.LockCondition</arg>   
            </condition>   
            <condition type="avalon">   
                <arg name="role">org.ametys.plugins.contentio.synchronize.workflow.ValidateMetadataSynchronizeCondition</arg>   
                <arg name="validation-step">3</arg>   
            </condition>   
        </conditions>   
    </restrict-to>   
    <pre-functions>   
        <function type="avalon">   
            <arg name="role">org.ametys.cms.workflow.EditContentFunction</arg>   
        </function>   
    </pre-functions>   
    <results>   
        <result old-status=" " status=" " step="1">   
            <conditions type="AND">   
                <condition type="avalon">   
                    <arg name="role">org.ametys.cms.workflow.ContentCurrentStepCondition</arg>   
                    <arg name="step">1</arg>   
                </condition>   
            </conditions>   
            <post-functions>   
                <function type="avalon">   
                    <arg name="role">org.ametys.cms.workflow.SetCurrentStepIdAndNotifyFunction</arg>   
                </function>   
               <function type="avalon">   
                    <arg name="role">org.ametys.cms.workflow.CreateVersionFunction</arg>   
                </function>   
            </post-functions>   
        </result>   
        <result old-status=" " status=" " step="2">   
            <conditions type="AND">   
                <condition type="avalon">   
                    <arg name="role">org.ametys.cms.workflow.ContentCurrentStepCondition</arg>   
                    <arg name="step">2</arg>   
                </condition>   
            </conditions>   
            <post-functions>   
                <function type="avalon">   
                    <arg name="role">org.ametys.cms.workflow.SetCurrentStepIdAndNotifyFunction</arg>   
                </function>   
                <function type="avalon">   
                    <arg name="role">org.ametys.cms.workflow.CreateVersionFunction</arg>   
                </function>   
            </post-functions>   
        </result>   
        <result old-status=" " status=" " step="3">   
            <conditions type="AND">   
                <condition type="avalon">   
                    <arg name="role">org.ametys.cms.workflow.ContentCurrentStepCondition</arg>   
                    <arg name="step">3</arg>   
                </condition>   
            </conditions>   
            <post-functions>   
                <function type="avalon">   
                    <arg name="role">org.ametys.cms.workflow.SetCurrentStepIdAndNotifyFunction</arg>   
                </function>   
                <function type="avalon">   
                    <arg name="role">org.ametys.cms.workflow.CreateVersionFunction</arg>   
                </function>   
                <function type="avalon">   
                    <arg name="role">org.ametys.odf.workflow.ValidateODFContentFunction</arg>   
                </function>   
                <function type="avalon">   
                    <arg name="role">org.ametys.odf.workflow.MoveLiveTagOnCoursePartFunction</arg>   
                </function>   
                <function type="avalon">   
                    <arg name="role">org.ametys.cms.workflow.ValidationStepFunction</arg>   
                </function>   
            </post-functions>   
        </result>   
        <unconditional-result old-status=" " status=" " step="1"/>   
    </results>   
</action>      

puis ajoutez sa référence pour chaque état  (step) du workflow :

<step id="X" name="....">    
    <actions>    
        <!-- Edit Action -->    
        <common-action id="2" />    
        <common-action id="22" />    
        <common-action id="222" />    
        // ...      
    <actions>    
</step>    

Ensuite, il faut rajouter les clés i18n suivantes dans le plugin "default-odf-workflow" de l'application :

<message key="WORKFLOW_ACTION_EDIT_SHAREABLE_COURSE">Modifier les champs de mutualisation</message>  
<message key="WORKFLOW_ACTION_EDIT_SHAREABLE_COURSE_DESCRIPTION">Cliquez ici pour modifier les champs de mutualisation.</message>  
<message key="WORKFLOW_ACTION_EDIT_SHAREABLE_COURSE_ACTION_DESCRIPTION">&lt;strong&gt;{user}&lt;/strong&gt; a modifié les champs de mutualisation.</message>  

Et enfin exclure l'action de la vue des boutons du cycle de vie général des éléments pédagogiques. Pour cela, aller sur l'extension ayant pour identifiant : "org.ametys.odf.course.workflow.WorkflowSteps" dans le fichier plugin.xml du plugin "default-odf-workflow" et exclure l'action 222 :

<workflow-actions mode="exclude">  
    <action>2</action>  
    ...  
    <action>222</action>  
    ...  
</workflow-actions>  

 

Retour en haut