> copix > CopixLog > tag_ulli > CopixURL > WSServer > tag_cycle > Thread > modulexml
fr

Présentation

Le fichier module.xml contient les informations principales de votre module, comme ses paramètres, ses dépendances, son nom, sa version, les événements auxquels il répond, ...

Ce fichier est nécessaire si vous voulez que Copix considère votre module (sans ce fichier, votre module n'apparaitra par exemple pas dans la liste des modules installables).

Exemples

Minimaliste


<?xml version="1.0"?>
<moduledefinition>
 <general>
  <default name="nom_repertoire" description="Description du module" />
 </general>
</moduledefinition>
 

Section general

La section générale (general) contient un seul attribut obligatoire qui est l'attribut nommé "default".

Cette section accepte ces attributs

Exemple sans utiliser I18N


 <general>
  <default name="nom_repertoire" description="Description du module" longdescription="Ce module permet de faire tout un tas de chose plutot pratique, c'est pour ça qu'on l'a fait." />
 </general>
 

Exemple Avec I18N


 <general>
  <default name="nom" descriptioni18n="nom.clefDescription" longdescriptioni18n="nom.clefLongDescription" />
 </general>
 

Section paramètres

La section parameters vous permet de déclarer des paramètres qui seront administrables via l'écran d'administration et manipulables via CopixConfig.


 <parameters>
  <parameter name="nom_parametre" caption="Un paramètre" default="1" />
  <parameter name="param_text" caption="Texte" type="text" default="Mon texte" maxLength="255" />
  <parameter name="param_int" caption="Entier" type="int" default="1" minValue="0" maxValue="100" />
  <parameter name="param_bool" caption="Oui / Non" type="bool" default="1" />
  <parameter name="param_email" caption="E-mail" type="email" default="monmail@mailer.ext" maxLength="255" />
  <parameter name="param_select" caption="Liste déroulante" type="select" default="1" listValues="0=>Ma valeur 0;1=>Ma valeur 1" />
  <parameter name="param_multiSelect" caption="Liste déroulante à choix multiple" type="multiSelect" default="1" listValues="0=>
Ma valeur 0;1=>Ma valeur 1" />
 </parameters>
 

La déclaration d'un paramètre accepte plusieurs attributs :

En savoir plus sur les paramètres.

ATTENTION default correspond à la valeur par défaut qu'aura le paramètre lors de l'installation du module. Une fois le module installé, modifier la valeur de "default" dans le fichier n'aura aucun impact sur l'application. Pour modifier la valeur d'un paramètre, vous devez utiliser le module d'administration, section paramètres.

Groupes de paramètres (Copix 3.0.2 minimum)

Vous pouvez afficher les paramètres sous forme de groupes, pour séparer plusieurs types de paramètres. Les groupes ne servent que lors de l'affichage.


<parameters>
  <group captioni18n="auth.group.createUser">
    <parameter name="createUser" captioni18n="auth.createUser" default="0" type="bool" />
  </group>
  <group captioni18n="auth.group.others">
    <parameter name="timetolive" captioni18n="auth.remember_time" default="2678400" type="int" />
    <parameter name="cryptPassword" captioni18n="auth.cryptPassword" type="select" default="md5" listValues="md5=>MD5;sha1=>SHA1;SHA256=>SHA256" />
  </group> 
</parameters>
 

La déclaration d'une node group doit avoir un attribut caption ou captioni18n.

Section dependencies

Cette section vous permet d'indiquer de quels modules dépend votre module courant.

Ceci permet à Copix de vérifier lors de l'installation de votre module que toutes les dépendances sont satisfaites. Si ce n'est pas le cas, Copix tentera d'installer les dépendances avant votre module.


 <dependencies>
  <dependency name="copixheadings" kind="module"/>
  <dependency name="parameters" kind="module"/>
  <dependency name="profile" kind="module"/>
  <dependency name="gd" kind="extension"/>
  <dependency name="mysql_connect" kind="function"/>
  <dependency name="PHPUnitClass" kind="class"/>
 </dependencies>
 

Section admin

Cette section vous permet de demander à Copix d'ajouter des liens pour votre module dans la page d'administration (module admin).

Exemple de fichier


 <admin>
  <link url="admin|install|manageModules" captioni18n="install.button.manageModules" credentials="basic:admin" />
  <link url="admin|session|" captioni18n="session.admin" credentials="basic:admin" />
 </admin>
 

Chaque élément link accepte 4 paramètres

(A partir de copix 3.0.1) Si vous avez plusieurs modules qui ont un thème commun (Outils de développement, Outils divers, Administration, etc), vous pouvez créer un "groupe". Tous les modules qui ont le même attribut "groupid" auront leurs liens dans la partie admin dans une section portant le nom de l'attribut "groupcaption" ou "groupcaptioni18n", et non pas dans une section portant le nom du module.


<admin groupid="myGroup" groupcaptioni18n="myGroup.groupName" groupicon="tools.gif">
 

Attributs possibles pour admin

Section events

La section events permet de déclarer l'ensemble des listeners que votre module déclare ainsi que les évènements auxquels ils réagissent.


<events>
 <listeners>
   <listener name="NomListener">
    <event name="NomEvenement" />
    <event name="AutreEvenement" />
   </listener>
 </listeners>
</events>

 

En savoir plus sur les évènements.

Section credentials

La section credentials permet de déclarer des droits disponible pour notre module


<credentials>
    <credential name="commentaires">
        <value name="lecture" level="1">
        <value name="ecriture" level="2">
        <value name="moderation" level="3">
    </credential>
    <credential name="connexion" />
</credentials>
 

Nous déclarons ici plusieurs droits, tout d'abord

  1. le droit commentaires qui possède 3 valeurs différentes :
    1. lecture ayant un level de 1
    2. ecriture ayant un level de 2
    3. moderation ayant un level de 3
  2. le droit connexion qui ne possède pas de sous-valeur

Pour plus d'infos sur la gestion des droits par module