Créer un module se fait avec la commande php framework/bin/change.php add-module :
php framework/bin/change.php add-module add-module -h Add-module: add an empty module to your project. Usage: change.php add-module <moduleName> [icon]
Nous allons ici créer le module recipes :
php framework/bin/change.php add-module recipes == Add module == Execute: clear-webapp-cache ... Execute: compile-config ... Execute: compile-documents ... Execute: compile-editors-config ... Execute: compile-roles ... => Module recipes ready
Cette commande crée le dossier modules/recipes/ avec des contenus par défaut et enregistre le module auprès du système.
⇒ A ce stade, le backoffice du module est fonctionnel mais ne permet que la manipulation de dossiers.
L'arborescence générée n'est pas exhaustive, si vous voulez plus d'information reportez vous à la page de l'arborescence complète du module
config
: ensemble de fichiers XML décrivant le module, son interface BO et les éléments qu'il apporte (blocs, tags, etc)actions.xml
: description (et implémentation JavaScript) des différentes actions que l'utilisateur peut effectuer en BOmodule.xml
: informations sur le module (catégorie, icône, visibilité, etc) et valeurs par défaut de configuration surchargeables dans la section modules
du project.xmlperspective.xml
: déclaration des documents affichés dans le backoffice du module et des actions réalisables dessusrights.xml
: déclaration des rôles et des permissions associéesforms/editor
: description des éditeurs BO des documents du module (un sous-dossier par modèle de document)i18n
: fichier d'internationalisation de l'interfacelib
: classes PHP exploitées par le module en général la plupart des classes sont placées dans des sous-dossier par type de classesservice
: services de documents et autres servicespersistentdocument
: modèles XML des documents de ce module et leur implémentation PHPimport
: classes utilisées dans les imports XML de documents du dossier setup
import/<moduleName>.binding.xml
: liaison entre les classes PHP définies dans persistentdocument/import
et les éléments XML des fichiers d'importsetup
: script d'installation du module et scripts XML d'import de donnéesinitData.php
: script PHP exécuté à l'installation du module et pouvant faire appel de des scripts XMLstyles
: fichiers CSStemplates
: templates des blocs et actions du moduleperspectives
: description du squelette global de l'interface BO du modulechange.xml
: description du module (version, dépendances, …)