mercredi, 21 décembre 2011 11:33

Manifest d'installation de AllEvents

Écrit par 
Évaluer cet élément
(0 Votes)

L'installation de AllEvents, comme l'installation de n'importe quel composant/module/plugin/... Joomla se fait au travers d'un fichier xml que l'on appelle un manifeste.  Ces manifestes sont généralement totalement standard : ils suivent scrupuleusement le modèle mis à disposition par Joomla (voir http://docs.joomla.org/Manifest_files).  

Dans le cadre de AllEvents, je me suis quelque peu écarté de ce standard car l'installation du fichier ZIP est de type package : le composant est installé mais aussi les modules et quelques plugins.  J'ai également repris, dans le manifest, un certain nombre de paramètres qui seront utilisés par AllEvents lors de l'installation ou de la désinstallation du composant.

Le manifeste se trouve dans le dossier /administrator/components/com_allevents et se nomme allevents.xml.

manifest modules plugins
(cliquez pour agrandir)

Le manifest de AllEvents reprend deux noeuds supplémentaires : /install/modules et /install/plugins.   Ces entrées permettent à l'installateur (install.allevents.php) de déterminer quels sont les modules et les plugins qui accompagnent le package et qui doivent être installé pendant l'installation du composant.

Chaque entrée (tag <item>) contient un certain nombre d'attributs, la plupart sont optionnels :

  • name indique le nom du module/plugins.  Ce nom est le nom du dossier qui se trouve dans le package d'installation (dans le dossier /modules ou /plugins).
  • client indique s'il s'agit d'un module pour le backend (c'est le cas de QuickIcons) ou pour le frontend.   Les seules valeurs possibles sont "administrator" ou "client". Uniquement pour les modules.
  • position, pour un module, permet de définir la position de template dans lequel le module doit être publié.   Cette position doit bien sûr exister dans votre template. Uniquement pour les modules.
  • ordering permet de définir la valeur par défaut du champs ordering tel que vous le définiriez dans le backend de Joomla.  Cela doit être une valeur numérique.  Uniquement pour les modules.
  • published définit si le module/plugin doit être immédiatement publié.   Seules valeurs possibles : 1 (oui) ou 0 (non)
  • optional définit comment doit se comporter l'installateur : si optional est sur 0, le module/plugin doit impérativement être dans le package.  Si ce n'est pas le cas, l'installateur échouera.  Si optional est sur 1, si le module/plugin est manquant, aucune erreur ne sera soulevée et l'installateur continuera.   Seules valeurs possibles : 1 (oui) ou 0 (non).
  • install permet de définir si le module/plugin doit être installé.   Cela permet de désactiver temporairement l'installation (exactement comme si l'on met la ligne en commentaire).   Seules valeurs possibles : 1 (oui) ou 0 (non).
  • group définit le type de plugin (p.e. "search", "system", "allevents", ...).  Uniquement pour les plugins.

 

AllEvents.  Manifest d'installation de AllEvents
(cliquez pour agrandir)

Vous trouverez aussi le noeud /install/allevents qui reprend différents paramètres d'installation propre à AllEvents :

  • Les settings (/install/allevents/settings) qui est un tag unique reprenant des attributs :
    • debug permet d'activer le mode error_reporting(E_ALL) lors de l'installation.   Seules valeurs possibles : true / false
    • remove_media indique si, lors de la désinstallation, il faut que le dossier /media/com_allevents soit supprimé.   Ce paramètre surcharge l'éventuel paramètre global du composant que l'administrateur peut définir dans le backend de AllEvents.   Seules valeurs possibles : true / false.    Si false, le paramètre global sera pris en compte.
    • remove_menus détermine si les entrées de menus pointant vers AllEvents doivent être supprimées.  Seules valeurs possibles : true / false.
    • drop_tables permet d'indiquer que les tables de AllEvents doivent être supprimées lors de la désinstallation.  Ce paramètre surcharge l'éventuel paramètre global du composant que l'administrateur peut définir dans le backend de AllEvents.   Seules valeurs possibles : true / false.    Si false, le paramètre global sera pris en compte.
    • introduction contient l'url vers la page de description des fonctionnalités de AllEvents.
  • L'entrée tables (/install/allevents/tables) reprend la liste de toutes les tables du composant.   Chaque table fait l'objet d'un tag <table> avec un certain nombre d'attributs
    • name est le nom de la table.   Syntaxe : #__ suivi du nom de la table.
    • class est utilisé en interne par le composant. 
    • required si initialisé à 1 indique que la table est une table indispensable de AllEvents.  Dans ce cas, l'installateur vérifiera que la table existe bel et bien lors de l'installation.  Si la table devrait manquer, un message d'erreur sera renvoyé lors de l'installation.   Seuls valeurs possibles : 1 (oui) ou 0 (non)
    • refresh_css indique si, lors de la finalisation de l'installation, cette table doit faire l'objet d'une création d'un fichier CSS.    En effet, les tables agenda, activités, ... sont liées à une feuille de style qui se trouve dans le dossier /media/com_allevents/css/dynamic de votre site.   Cette feuille de style est générée dynamiquement par AllEvents lorsque vous, p.e., éditez un agenda.    Si, refresh_css est sur 1 lors de l'installation, le fichier css associé à la table sera regénéré.   Seules valeurs possibles : 1 (oui) ou 0 (non).

Informations supplémentaires

  • Package Free: Ce billet concerne le package Free et est donc immédiatement disponible dans la version gratuitement téléchargeable de AllEvents.
Lu 1228 fois Dernière modification le dimanche, 04 mars 2012 23:33
Christophe

Christophe -Développeur de :

  • aeSecure; logiciel de protection de sites web Apache (Joomla, WP, Drupal, ...) http://aesecure.com
  • AllEvents; gestionnaire d'évènements pour Joomla

 

Site internet : allevents.avonture.be
Connectez-vous pour commenter. Attention, merci de ne pas poster des questions : veuillez utiliser le forum pour cela svp.