Cycle de vie

Introduction

Pour créer votre cycle de vie :

  • Ecrire le fichier du cycle de vie
  • Définir les boutons du cycle de vie dans le plugin.xml
  • Les définir dans le ribbon ensuite

Voir la documentation

Paramétrage

Dans la configuration du service UGC, il faut définir un cycle de vie associé au contenu proposé.

Le service énumère seulement les cycles de vie dont le nom commence par "ugc-"

Par exemple, le cycle de vie ici

De plus, l'action de création et de modification est la même. C'est l'action 1111. Il faut donc la rajouter dans ce fichier de workflow :

<!-- Création -->   
 <action id="1111" name="plugin.classified-ads:PLUGINS_CLASSIFIED_ADS_WORKFLOW_ACTION_CREATE">   
  <pre-functions>   
   <function type="avalon">   
    <arg name="role">org.ametys.web.workflow.CreateContentFunction</arg>   
   </function>   
   <function type="avalon">   
    <arg name="role">org.ametys.cms.workflow.EditContentFunction</arg>   
   </function>   
  </pre-functions>   
  <results>   
   <unconditional-result old-status=" " status=" " step="1" />   
  </results>   
  <post-functions>   
   <function type="avalon">   
    <arg name="role">org.ametys.plugins.forms.workflow.FormEditionFunction</arg>   
   </function>   
   <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>   
 </action>   

 Fonction du cycle de vie

Le plugin UGC fournit aussi une fonction : org.ametys.plugins.ugc.workflow.SendMailToCreatorFunction

Elle envoie un mail au créateur du contenu.
L'objet et le message du mail est configurable.

<function type="avalon">  
   <arg name="role">org.ametys.plugins.ugc.workflow.SendMailToCreatorFunction</arg>  
   <arg name="subjectKey">plugin.classified-ads:PLUGINS_CLASSIFIED_ADS_WORKFLOW_MAIL_SUBJECT_ACTION_VALIDATE</arg>  
   <arg name="bodyKey">plugin.classified-ads:PLUGINS_CLASSIFIED_ADS_WORKFLOW_MAIL_BODY_ACTION_VALIDATE</arg>  
</function>  

Pour l'objet du mail, on a en attribut :

  • {0} Le nom du contenu
  • {1} Le nom du site

Pour le message du mail, on a en attribut :

  • {0} L'utilsateur qui agit sur le contenu (valide, modifie, etc ...)
  • {1} Le nom du contenu
  • {2} Le nom du site
  • {3} Le titre de la page (si elle existe)
  • {4} Le lien vers la page du contenu (si elle existe)

Un exemple :

<message key="PLUGINS_CLASSIFIED_ADS_WORKFLOW_MAIL_BODY_ACTION_VALIDATE">L'utilisateur {0} a validé la petite annonce "{1}" du site "{2}". &#13;&#13;Pour vous rendre sur la page cliquez sur le lien ci-après {4}.</message> 
 <message key="PLUGINS_CLASSIFIED_ADS_WORKFLOW_MAIL_BODY_ACTION_VALIDATE_ORPHAN">L'utilisateur {0} a validé la petite annonce "{1}" du site "{2}".</message> 

La clé Key_ORPHAN est utilisée quand il n'y a pas de page associée au contenu