This page contains some frequently asked questions related to Dolibarr development. For frequently asked questions on other topics, read page User FAQ.
How to be an official developer
In the galaxy of the Dolibarr project, there are several actors with different levels / grades. The number of developers is important so contributions and changes must be controlled and validated (both for functional needs and for coding). For this reason, the write access on the source (GIT) is limited and governed by an organization that is described in the following. Each developer has a grade depending on seniority and the past. The level of authorization of a person on the project increases with the stages of promotion in grade.
The course of a Dolibarr developer passes through these steps, which are classified by a title familiar to fans of science fiction. Here are the steps. It is important to understand that this organization has the sole purpose of improving the quality of Dolibarr and it is necessary that it is rigorously used.
The ranks of contributors to the Dolibarr project, and what to do to reach this rank, are defined into page Dolibarr Project in chapter Developers roles.
See page Dolibarr Project to know list of current people that work on Dolibarr, with their current grade.
Start a development
Read first completely the Developer documentation to know all rules a developer must respect. You can also read the following FAQs.
Get/update project sources
See page FAQ Get,update project sources.
How to create a new skin
For this, see page Skins
How to develop my own module
To develop your own numbering module, see Create numeration module.
To develop your own business module (screens, tables), see page Module development.
How to add/complete a translation
For this, see page Translator documentation
Change my numbering system after start
If the new numbering system does not conflict with the old one, to change the numbering rule, just go to menu Setup - Modules - Invoice setup and choose the new numbering rule in the list.
If the new rule can create conflicts with old one, it will be necessary to rename old existing references. This can be done by a SQL request. For example, to go from numbering module Jupiter (FYYYYMM99) to Terre (FAYYMM-999), you can run the following request:
update llx_facture set facnumber=concat('FA',substr(facnumber,4,4),'-',substr(facnumber,8)) where facnumber like 'F%' and facnumber not like 'FA%';
For example, to rename references from model FAYYMM999 to Terre (FAYYMM-999), you can run the following request:
update llx_facture set facnumber=concat('FA',substr(facnumber,3,4),'-',substr(CONCAT('0000',substr(facnumber,7)),-4)) where facnumber like 'FA%' and facnumber not like '%-%';
Submit a patch, work and help on Dolibarr development
If you want to know what you can do to start or help Dolibarr development, read instead chapter Developer_FAQ#How_to_be_an_official_developer. If you already read it and want to distribute a patch, this chapter is for you.
- If you have Yoda grade (See Developer FAQ#How to be an official developer for information on different grade), you have a direct GIT write access. So just use it to commit your changes.
- Because you probably don't have this role (your grade is Jedi or Admiral or Soldier), it is necessary to use the "Fork" feature of GitHub. Then you can make a "Pull Request" from GitHub to ask to have your patch merged into develop branch. More information on FAQ_Get,update_GIT_project_sources and https://github.com/Dolibarr/dolibarr/blob/develop/.github/CONTRIBUTING.md
How to package and deploy a module
See page Module development.
This process works also to generate a package to submit it on the https://www.dolistore.com market place.
How to be informed on news and what happens on Dolibarr project ?
Migrate my Mysql database to PostgreSQL
What and how is the release process
See page FAQ Release process