Difference between revisions of "Modules - Règles de packaging et validation DoliStore"

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
Line 4: Line 4:
  
 
=== Structure ===
 
=== Structure ===
Tout les fichiers du module doivent être dans le répertoire du module, voir le modéle [https://github.com/rdoursenaud/dolibarr-module-template GitHub Dolibarr Module Modèle]
+
Tout les fichiers du module doivent être dans le répertoire du module, voir le modèle [https://github.com/rdoursenaud/dolibarr-module-template GitHub Dolibarr Module Modèle]
  
 
=== Inclusion ===  
 
=== 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 fichier coeur doivent être réalisé par include_once/require_once/include/require DOL_DOCUMENT_ROOT.'/pathtocorefile';
*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 fichiers spécifiques au module par les pages du modules doivent être faites avec include_once/require_once/include/require './monmoduledir/...';
*Toutes les inclusions de fichier rélasité par des hook/triger/cas spéciaux sont faites par dol_include_once('/My_Module_directory/...'):
+
* Toutes les inclusions de fichiers spécifiques à un autre module externe doit être fait par dol_include_once('/extmoduledir/...');
  
 
=== Lien ===  
 
=== Lien ===  
Line 18: Line 18:
 
      
 
      
 
=== Modifications de fichier core Dolibarr  ===
 
=== Modifications de fichier core Dolibarr  ===
Si des modifications de fichiers coeur de Dolibarr necessaire au module :
+
Si des modifications de fichiers coeur de Dolibarr nécessaire au module sont soumises, elles seront acceptées :
*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 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  
+
* Si vous poussez des ajouts de hook/trigger dans Dolibarr afin que pour vos futures versions de votre module soit compatible avec les futures version de Dolibarr sans que 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))
 

Revision as of 21:57, 7 August 2013

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]

Structure

Tout les fichiers du module doivent être dans le répertoire du module, voir le modèle GitHub Dolibarr Module Modèle

Inclusion

  • Toutes les inclusions de fichier coeur doivent être réalisé par include_once/require_once/include/require DOL_DOCUMENT_ROOT.'/pathtocorefile';
  • Toutes les inclusions de fichiers spécifiques au module par les pages du modules doivent être faites avec include_once/require_once/include/require './monmoduledir/...';
  • Toutes les inclusions de fichiers spécifiques à un autre module externe doit être fait par dol_include_once('/extmoduledir/...');

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 nécessaire au module sont soumises, 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 poussez des ajouts de hook/trigger dans Dolibarr afin que pour vos futures versions de votre module soit compatible avec les futures version de Dolibarr sans que vous n'ayez plus à modifier le coeur de Dolibarr.