From Dolibarr Wiki
Development organization and tools
This chapter contains global informations that must be read before to start any development on Dolibarr.
- Organization of project
- To known before to start to develop
- Environment and development tools
- Dependencies and external libraries
- Get or update sources of a development version
Coding rules and best practices
List of existing modules
Technical documentations on standard business modules are available on developer documentation of each modules. Choose page you are interested in to go on it:
- List of standard modules is defined on page List of Modules
- List of other modules is defined on page Complementary modules
To develop a new module/addon for GUI
This section describe how to develop a new module on Dolibarr that change how Dolibarr works. Such modules can have its own screens, its own data, its own CSS stylesheet, its own business code or all of this. Script development is not included in this section (this is described in next chapter).
To develop your own module, go on tutorial: Module development
To develop a batch or command line script
This chapter describe the way to develop its own command line script to realize Dolibarr treatments (read, update data...). Making modifications on user gui interface (GUI) is not included in this chapter. See previous chapter for this.
To develop a script, like a cron script or an command line import tool to import data from an external source, you can have a look at the page: Script development
Technical components of Dolibarr
Path hierarchy of current version are defined into doxygen generated documentation (generated "javadoc" like documentation).
However, paths to use to add new files by a new module is defined in the documentation to develop a new module (see Module development).
There are 3 places for Dolibarr setup parameters.
- Dolibarr technical setup (authentication mode, database logins and storage area for files) are defined in only one setup file conf/conf.php. See Configuration file for more information.
- Global features parameters are stored in Table llx_const. See page Constants for more information.
- Feature parameters for particular users are stored in Table llx_user_param. See page Constants for more information.
See page Business Objects
See page Menus system
See page Tabs system
See page Skins
See page Box system
See page Authentication
See page Permissions
See page Translation system
See page Error reporting
Canvas is a developer feature to replace sreens to create, update or view a card (products, thirdparties, contacts, ...). For example, you can replace the input form to create a new third party, or to edit it, or replace the card used to view it.
See page Canvas development
Triggers is a develop feature to execute personalized code during a Dolibarr "Business event" (creation of invoice, delete of user, update of thirdparty, etc...), and only for a business event. To personalize code for other contexts, see instead chapter Hooks system.
For triggers usage, see this page.
See page Hooks system.
Variable substitution system
See page Variable substitution system.
Dolibarr can be setup to provide some services. See Module Web Services
Files/Documents storage management
See page Generated documents
For each entity created in the application, Dolibarr assigns a reference. In order to adapt the reference to any use, Dolibarr use modules to define the rule of generation of this reference. Several modules are supplied with application. Some are generic and are used to define the mask numbering (number on x characters, with or without prefix, including the date or not, etc.), which can meet most needs. However, there are still cases where the modules provided does not meet the need. In this case it is necessary to develop its own numbering module.
For more information, see on page Create numeration module
Numbering modules and generating documents
See page Extrafields
- Interfaces Dolibarr toward foreign systems or toward Dolibarr (Dolibarr Triggers)
- Interfaces from foreign systems toward Dolibarr
- Web Services
All FAQ are available through index page FAQ EN