Modules - Packaging rules and Dolistore validation rules
Here are the rules that will be apply by Dolibarr team on validation/activation of external module on https://www.dolistore.com
All modules that are dolibarr modules must be called module_mymodulename-VERSION.zip (where VERSION is version can be x or x.y or x.y.z) If the module is for another software, the name of zip must be moduleothersoftware_mymodulename-VERSION.zip (for example moduleprestashop_mymodulename-1.0.zip)
The rest of the document applies for Dolibarr modules only.
All modules must follow a structure similar to the one provided into htdocs/modulebuilder/template
- To include a core file, use
- To include a file of module into a file of same module, use
- To include a file of another external module into a module file, use
Link to Dolibarr core object
All link to a page of a standard dolibarr object (an invoice, an order, a bank account, ...) should be included into the code using the getNomUrl method of the class of the object.
Custom directory management
An external module called mymodule can be installed into htdocs/custom/mymodule (the default) as well as in htdocs/mymodule. It must works in both cases.
Core file modifications
Your module MUST NOT change or overwrite any files provided by standard Dolibarr distribution. If some Dolibarr core files need to me modified to have your module working, you must submit this change to core team. They will be accepted :
- If they are pushed to dolibarr develop branch on GitHub
- If what you push is adding hooks or triggers, or optionnal parameter to existing functions, it should be accepted with no condition. For other change, it may depends if change keeps old code compatible and is interesting for everybody.
Mandatory data on record
Product description is mandatory in English
If your module is not free you have to give a email adress for support (or a website that allow customers to contact you)