Line 19: |
Line 19: |
| | | |
| Les chapitres suivant vous présentent comment réaliser tout cela en manuel de manière simple. Pour les développeurs très expérimentés, une méthode par génération MDA est en cours de mise au point. Voir le dernier chapitre pour cela. | | Les chapitres suivant vous présentent comment réaliser tout cela en manuel de manière simple. Pour les développeurs très expérimentés, une méthode par génération MDA est en cours de mise au point. Voir le dernier chapitre pour cela. |
| + | |
| + | |
| + | = [[File:Art.png]] Exemple de modéle de module externe= |
| + | |
| + | Un bon modéle de module externe Dolibarr est disponible ici : [https://github.com/rdoursenaud/dolibarr-module-template GitHub Dolibarr Module Modèle] |
| | | |
| = [[File:Art.png]] Créer un module = | | = [[File:Art.png]] Créer un module = |
Line 524: |
Line 529: |
| ** Si votre module a été fabriqué correctement, le fichier sera validé rapidement. | | ** Si votre module a été fabriqué correctement, le fichier sera validé rapidement. |
| ** 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). |
| + | |
| + | = [[File:Art.png]] Validation/activation du module externe sur Dolistore = |
| + | |
| + | Voici les régles qui prévale a la validation d'un module soumis a validation sur [www.dolistore.com www.dolistore.com] |
| + | |
| + | === Inclusion === |
| + | *Toutes les inclusions de fichier coeur doivent être réalisé par include_once/require_once/include/require DOL_DOCUMENT_ROOT.'/Path_to_Core_Files'; |
| + | *Toutes les inclusions de fichiers spécifiques au modules par les pages du modules doivent être faites avec include_once/require_once/include/require './My_Module_directory/...'; |
| + | *Toutes les inclusions de fichier rélasité par des hook/triger/cas spéciaux sont faites par dol_include_once('/My_Module_directory/...'): |
| + | |
| + | === Lien === |
| + | Tous les liens générées pour le HTML vers les pages spécifique (href, src,...) du module devrait utiliser getNomURL de la class d'un object ou à minima utiliser dol_buildpath |
| + | |
| + | === Réperoire Custom === |
| + | Un module externe de dolibarr doit pouvoir se mettre dans un répertoire htdocs/custom, tout comme dans htdocs/, et il doit fonctionner dans les deux cas. |
| + | |
| + | === Modifications de fichier core Dolibarr ==== |
| + | Si des modifications de fichiers coeur de Dolibarr necessaire au module : |
| + | *Elles seront acceptées si elles sont poussées dans la branche dev du GitHub de Dolibarr (cas d'enrichissement de fonctionnalité Dolibarr (html.form.class.php, function.lib.php) |
| + | *Si vous poussées des ajouts de hook/trigger dans Dolibarr afin que pour vos futures versions de votre module comptatible avec les futures version de Dolibarr, vous n'ayez plus modifier le coeur de Dolibarr |
| + | |
| + | Dans touts les cas: |
| + | *Si et seulement si elles sont conditionnées par des tests du type |
| + | if (!empty($conf->mymodule->enabled)) |