Módulos - Packages validación y DoliStore reglas

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search


Art.png Introducion

Estas son las reglas que imperan en la validación de un módulo objeto de validación en https://www.dolistore.com

Art.png Reglas

Denominación del paquete

Todos los módulos para Dolibarr deben llamarse 'module_mymodulename-VERSION.zip' (donde VERSION puede ser xo x.y o x.y.z). Si el módulo es para otro software, el nombre zip debe ser 'moduleotheroftware_mymodulename-VERSION.zip' (por ejemplo, moduleprestashop_mymodulename-1.0.zip).

Los paquetes del tipo de aplicación de Android, documento PDF, son libres de usar el nombre de su elección.

El resto del documento solo se aplica a los módulos Dolibarr.

Reglas sobre el código

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


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.

Publicación en dolistore

MetaPaquetes

Si su módulo es un "metapaquete", por lo tanto, un módulo que incluye varios módulos, debe incluir un archivo llamado 'metapackage.conf' en el directorio principal con el nombre de la lista de todos los demás módulos proporcionados por su paquete. Por ejemplo, la imagen de su módulo se llama "mymetapack". Al instalar este módulo, también instala los módulos "abc" y "def". Por lo tanto, debe incluir en el zip de su paquete un archivo * mymetapack / metapackage.conf * con el siguiente contenido:

# Este archivo describe todos los módulos incluidos en el zip module_metapackage-x.y.zip
mymetapack
abd
def

Warning.png La implementación de un metapaquete desde el asistente de implementación de Dolibarr solo es posible con Dolibarr v11 +

Idioma

La descripción del producto se requiere en inglés.

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)