Modules - Règles de packaging et validation DoliStore

From Dolibarr ERP CRM Wiki
Revision as of 08:52, 29 May 2013 by Fhenry (talk | contribs) (Created page with "= 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 ...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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))