Módulos - Packages validación y DoliStore reglas
Introducion
Estas son las reglas que imperan en la validación de un módulo objeto de validación en https://www.dolistore.com
Reglas
Estructura
Todos los archivos del módulo deben estar el el directorio del módulo, ejemplo en htdocs/modulebuilder/template
- mymodule/* contains php pages (note that you can also add any other subdir of your choice). Note: If your module is a metapackage (a module that will embed other modules in same zip, you must put here a file metapackage.conf)
- mymodule/build/ can contains any file you develop for compiling or building package
- mymodule/core/modules/ contains module descriptor file modMyModule.class.php
- mymodule/core/triggers contains triggers provided by module
- mymodule/admin/ contains pages to setup module
- mymodule/class/ contains PHP class files provided by module
- mymodule/css contains CSS files provided by module
- mymodule/js contains javascript files provided by module to add new functions
- mymodule/docs to provide doc and licence files
- mymodule/img contains images files provided by module
- mymodule/langs/xx_XX contains language files for language xx_XX (try to put at least en_US)
- mymodule/lib contains libraries provided and used by module
- mymodule/scripts to provide command line tools or scripts. Note: Command lines script must start with line #!/usr/bin/env php
- mymodule/sql contains SQL file provided by module to add new tables or indexes
- mymodule/theme/mytheme if module provide its own theme/skin
Inclusión
- Todas las inclusiones de archivos del core deben realizarse mediante include_once/require_once/include/require DOL_DOCUMENT_ROOT.'/Path_to_Core_Files';
- Todas las inclusiones de archivos de archivos específicos al módulo deben realizarse mediante include_once/require_once/include/require './My_Module_directory/...';
- Todas las inclusiones de archivos realizadas por los hook/triger/casos espaciales deben realizarse mediante dol_include_once('/My_Module_directory/...'):
Enlaces
Todos los enlaces gestionador por HTML hacia páginas específicas (href, src,...) del módulo deberían usar getNomURL de la clase de un objeto o alernativamente usando dol_buildpath
Directorio Custom
Un módulo externo de dolibarr debe poder funcionar tanto desde el directorio htdcos/custom como desde htdocs/, debiendo funcionar en los dos casos.
Modificaciones de archivos del core Dolibarr
Si son necesarias modificaciones de archivos del core de Dolibarr para el funcionamiento del módulo. Serán aceptadas:
- Si son subidas a la rama dev del GitHub de Dolibarr (agregar función a las clases estándar sin riesgo de regresión, html.form.class.php / function.lib.php, etc.)
- Si se añade hook, trigger o función, o se añaden parámetros opcionales a funciones existentes.
Soporte
Si el módulo es de pago, es obligatorio indicar en la descripción del producto un e-mail o canal de soporte a los usuarios. Es obligatoria la descripción del producto en Inglés, Francés y Español (así como el enlace de soporte)