Outils pour utilisateurs

Outils du site


Panneau latéral

devguide:createmodule:tree

Création du module et arborescence

Création du module

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.

Arborescence du module

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 BO
    • module.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.xml
    • perspective.xml : déclaration des documents affichés dans le backoffice du module et des actions réalisables dessus
    • rights.xml : déclaration des rôles et des permissions associées
  • forms/editor : description des éditeurs BO des documents du module (un sous-dossier par modèle de document)
  • lib : 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 classes
    • service : services de documents et autres services
  • persistentdocument : modèles XML des documents de ce module et leur implémentation PHP
    • import : 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'import
  • setup : script d'installation du module et scripts XML d'import de données
    • initData.php : script PHP exécuté à l'installation du module et pouvant faire appel de des scripts XML
  • styles : fichiers CSS
  • templates : templates des blocs et actions du module
    • perspectives : description du squelette global de l'interface BO du module
  • change.xml : description du module (version, dépendances, …)
devguide/createmodule/tree.txt · Dernière modification: 2017/01/19 14:54 (modification externe)