Développement module: Difference between revisions

m
no edit summary
mNo edit summary
Line 14: Line 14:




= Créer un descripteur de Module (obligatoire) =
= [[File:Art.png]] Créer un descripteur de Module (obligatoire) =
'''Quand''': Obligatoire dès qu'une extension est développée, quelque soit sa vocation.
'''Quand''': Obligatoire dès qu'une extension est développée, quelque soit sa vocation.


Line 36: Line 36:
C'est la valeur de $this->special qui détermine dans quel onglet se trouve votre module.
C'est la valeur de $this->special qui détermine dans quel onglet se trouve votre module.


= Créer vos tables SQL et la classe PHP des accesseurs (optionnel) =
= [[File:Art.png]] Créer vos tables SQL et la classe PHP des accesseurs (optionnel) =
'''Quand''': Si votre module a besoin de gérer des données qui lui sont propres
'''Quand''': Si votre module a besoin de gérer des données qui lui sont propres


Line 76: Line 76:
Un fichier '''out.nomtable_script.php''' a également été généré et contient un exemple de code pour utiliser la classe pour chacune des 4 méthodes CRUD.
Un fichier '''out.nomtable_script.php''' a également été généré et contient un exemple de code pour utiliser la classe pour chacune des 4 méthodes CRUD.


= Ajouter vos onglets sur les fiches entités (optionnel) =
= [[File:Art.png]] Ajouter vos onglets sur les fiches entités (optionnel) =
'''Quand''': Pour ajouter un onglet sur une fiche entité (facture, commande, proposition commercial, adhérent...)
'''Quand''': Pour ajouter un onglet sur une fiche entité (facture, commande, proposition commercial, adhérent...)


Line 113: Line 113:
Pour alimenter le contenu de l'onglet avec des données issues de la base, voir le chapitre suivant.
Pour alimenter le contenu de l'onglet avec des données issues de la base, voir le chapitre suivant.


= Créer vos pages écran PHP (optionnel) =
= [[File:Art.png]] Créer vos pages écran PHP (optionnel) =
'''Quand''': Si l'objet de votre module est d'ajouter des fonctionnalités qui nécessitent de nouveaux écrans.
'''Quand''': Si l'objet de votre module est d'ajouter des fonctionnalités qui nécessitent de nouveaux écrans.


Line 203: Line 203:
</pre>
</pre>


= Définir votre page de configuration (optionnel)  =
= [[File:Art.png]] Définir votre page de configuration (optionnel)  =
'''Quand''': Si votre module offre plusieurs options paramétrables.
'''Quand''': Si votre module offre plusieurs options paramétrables.


Line 219: Line 219:
Aller sur la page '''Configuration->module''', vous devez voir apparaitre un icone qui permet d'accéder à la page de configuratione tvous devez etre capable de modifier ces options et les voir conservé en base.
Aller sur la page '''Configuration->module''', vous devez voir apparaitre un icone qui permet d'accéder à la page de configuratione tvous devez etre capable de modifier ces options et les voir conservé en base.


= Définir vos entrées de menu (optionnel) =
= [[File:Art.png]] Définir vos entrées de menu (optionnel) =
'''Quand''': Si vous avez créé des pages PHP, il est nécessaire que ces écrans soient accessibles depuis le menu Dolibarr.
'''Quand''': Si vous avez créé des pages PHP, il est nécessaire que ces écrans soient accessibles depuis le menu Dolibarr.


Line 269: Line 269:
Désactiver et réactiver votre module sous Dolibarr, les entrées menus doivent alors apparaitre (si la condition dans 'enabled' est vraie).
Désactiver et réactiver votre module sous Dolibarr, les entrées menus doivent alors apparaitre (si la condition dans 'enabled' est vraie).


= Définir vos propres permissions (optionnel) =
= [[File:Art.png]] Définir vos propres permissions (optionnel) =
'''Quand''': Si vous voulez ajouter de nouvelles permissions.
'''Quand''': Si vous voulez ajouter de nouvelles permissions.


Line 298: Line 298:
</pre>
</pre>


= Définir vos propres box (optionnel) =
= [[File:Art.png]] Définir vos propres box (optionnel) =
'''Quand''': Si votre module amène avec lui une ou plusieurs Boxes.
'''Quand''': Si votre module amène avec lui une ou plusieurs Boxes.


Line 320: Line 320:
Vos boxs doivent apparaitre dans la liste des box activables. Avticer les, aller sur la page d'accueil et vérifier qu'elles s'affichent correctement.
Vos boxs doivent apparaitre dans la liste des box activables. Avticer les, aller sur la page d'accueil et vérifier qu'elles s'affichent correctement.


= Définir vos propres exports (optionnel) =
= [[File:Art.png]] Définir vos propres exports (optionnel) =
'''Quand''': Si votre module amène avec lui des exports prédéfini de données (pour ces propres tables ou des tables déjà existante d'un autre module de Dolibarr).
'''Quand''': Si votre module amène avec lui des exports prédéfini de données (pour ces propres tables ou des tables déjà existante d'un autre module de Dolibarr).


Line 331: Line 331:
Choisir quelques champs et tenter une génération du fichier export.
Choisir quelques champs et tenter une génération du fichier export.


= Définir vos styles CSS (optionnel) =
= [[File:Art.png]] Définir vos styles CSS (optionnel) =
'''Quand''': Si dans vos écrans PHP, vous utiliser des classes de styles qui ne sont pas celle des thèmes de Dolibarr (non recommandé).
'''Quand''': Si dans vos écrans PHP, vous utiliser des classes de styles qui ne sont pas celle des thèmes de Dolibarr (non recommandé).


Line 348: Line 348:
Vous devriez voir dans l'entête HTML, une ligne déclarant votre feuille de style.
Vous devriez voir dans l'entête HTML, une ligne déclarant votre feuille de style.


= Définir vos fonctions Javascript (optionnel) =
= [[File:Art.png]] Définir vos fonctions Javascript (optionnel) =
'''Quand''': Si dans vos écrans PHP, vous utiliser des fonctions javascript non dispo en standard (fichier lib_head.js)
'''Quand''': Si dans vos écrans PHP, vous utiliser des fonctions javascript non dispo en standard (fichier lib_head.js)


Line 356: Line 356:
Cette fonctionnalité n'est pas encore possible.
Cette fonctionnalité n'est pas encore possible.


= Déclencher du code sur un évènement Dolibarr (optionnel) =
= [[File:Art.png]] Déclencher du code sur un évènement Dolibarr (optionnel) =
'''Quand''': Si vous voulez que des actions particulières s'exécutent suite au déclenchement d'action s standards de Dolibarr (exemple: je veux mettre à jour une table de mon module quand une facture se crée dans Dolibarr), il vous faut créer un fichier de '''triggers'''.
'''Quand''': Si vous voulez que des actions particulières s'exécutent suite au déclenchement d'action s standards de Dolibarr (exemple: je veux mettre à jour une table de mon module quand une facture se crée dans Dolibarr), il vous faut créer un fichier de '''triggers'''.


Line 362: Line 362:
et [http://wiki.dolibarr.org/index.php/Interfaces_Exterieur_vers_Dolibarr Interfaces_Exterieur_vers_Dolibarr]
et [http://wiki.dolibarr.org/index.php/Interfaces_Exterieur_vers_Dolibarr Interfaces_Exterieur_vers_Dolibarr]


= Créer un package pour livrer et installer votre module =
= [[File:Art.png]] Créer un package pour livrer et installer votre module =


* Aller dans le répertoire '''/build''' et recopier le fichier '''makepack-dolibarrmodules.conf''' en '''makepack-monmodule.conf'''. Attention, ce répertoire peut ne pas être fourni dans les packages de versions stables. Si c'est le cas, il peut être récupéré dans le snapshot CVS disponible en téléchargement sur le site web Dolibarr dans la rubrique Version de développement (prendre dans ce cas tout le répertoire build qui est un répertoire autonome et indépendant de la version).
* Aller dans le répertoire '''/build''' et recopier le fichier '''makepack-dolibarrmodules.conf''' en '''makepack-monmodule.conf'''. Attention, ce répertoire peut ne pas être fourni dans les packages de versions stables. Si c'est le cas, il peut être récupéré dans le snapshot CVS disponible en téléchargement sur le site web Dolibarr dans la rubrique Version de développement (prendre dans ce cas tout le répertoire build qui est un répertoire autonome et indépendant de la version).
Line 383: Line 383:
** Si la qualité est suffisante, que la licence le permet et que la fonctionnalité du module s'avère être d'un intérêt général, le code pourra être ajouté au code source de Dolibarr (sauf si vous ne le désirez pas).
** Si la qualité est suffisante, que la licence le permet et que la fonctionnalité du module s'avère être d'un intérêt général, le code pourra être ajouté au code source de Dolibarr (sauf si vous ne le désirez pas).


= Quelques règles de codage =
= [[File:Art.png]] Quelques règles de codage =
Les règles de codage à suivre sont définis dans la [[Documentation développeur]], rubrique "Informations Générales - Langage et normes de développement".
Les règles de codage à suivre sont définis dans la [[Documentation développeur]], rubrique "Informations Générales - Langage et normes de développement".


= Utilisation du MDA =
= [[File:Art.png]] Utilisation du MDA =
Une méthode pour générer un module fonctionnel depuis l'UML est en cours de mise au point. Plus d'informations sur la page [[Générer un module par MDA]].
Une méthode pour générer un module fonctionnel depuis l'UML est en cours de mise au point. Plus d'informations sur la page [[Générer un module par MDA]].