Installation and upgrades
The procedure is the same for all six modules. It is described here once, and each module page links to it rather than repeating it in its own way. Allow three minutes.
Requirements
- A Dolibarr installation, version 19.0 or later. The version is shown under HomeAbout, and at the bottom of every page.
- PHP 7.4 or later, the minimum version declared by all six descriptors.
- The external modules folder,
htdocs/custom/, present and writable if you use the interface. - The Dolibarr module that the installed module depends on — Commercial proposals or Third parties, depending on the case. Each module page states it.
- An administrator account, for the time it takes to activate the module.
Installing through the interface
This is the shortest route, and the one to try first.
- Download the module’s zip file from the DoliStore to your computer.
- In Dolibarr, open HomeSetupModules/Applications.
- Open the “Deploy/install external app/module” tab, choose the zip and upload it. Dolibarr unpacks it into
htdocs/custom/itself. - The module appears in the list. Enable it with the switch on its row.
If this tab is missing or the upload fails, module uploads have been disabled on this installation, or the custom folder is not writable. Use the file method instead.
Installing by file
For shared hosting where uploading through the interface is blocked, or for a server you access over SSH.
- Unzip the file on your computer.
- Upload the resulting folder to
htdocs/custom/, without renaming it. You should end up with, for example,htdocs/custom/dolixmasse/core/modules/…, and nothtdocs/custom/dolixmasse/dolixmasse/…. - Check that the files can be read by the web server’s account. After an FTP upload, this is the check that settles most cases.
- Reload HomeSetupModules/Applications: the module is in the list. Enable it.
Enabling the module and granting permissions
Activation creates what the module needs to create — its history table when it has one, its complementary attribute when it adds one. It deletes nothing.
Permissions are then granted under HomeUsers & Groups, on the Permissions tab of the user or group concerned.
| Module | Dedicated permission | Where the module appears |
|---|---|---|
| Margin per day | None | No menu entry. The module shows up on the quote card and in the quote list. |
| Email domain changer | Yes | Third parties menu“Change an email domain”. |
| Bulk field update | Yes | Third parties menu“Bulk update”. |
| Move tasks between projects | Yes | Projects menu“Move tasks”. |
| Duplicate finder | Yes | Third parties menu“Duplicates”. |
| Refresh prices on draft quotes | Yes | No menu entry. The button appears on the quote card, when the quote is a draft and contains at least one line linked to a product. |
Upgrading a module
- Get the new version from the DoliStore.
- Disable the module in the module list. Disabling deletes no data: not the tables, not the settings, not the values entered.
- Replace the module’s folder in
htdocs/custom/with the new one, or upload the zip again through the deployment tab. - Enable the module again. The settings and the history are found exactly as they were.
The version history on each module page is taken from the ChangeLog.md file shipped with the module: there cannot be two different stories.Uninstalling, and what stays in the database
Disabling a module removes its screens and its columns. What it wrote to the database stays — that is deliberate, so that disabling by mistake destroys nothing. Here is what that covers, module by module.
| Module | What it writes to your database |
|---|---|
| Margin per day | No table. The module folder does not contain a sql/ directory. On activation, the module creates a “Planned days” complementary attribute (code mpj_journees) on commercial proposals: the value is stored in the quotes' complementary attributes table, already present in Dolibarr. |
| Email domain changer | One table: llx_dolixdomaine_log. It records the history of operations (date, user, old domain, new domain, number of third parties, contacts and members changed, entity). No business data is stored in it. |
| Bulk field update | One table: llx_dolixmasse_log. It records the history of operations (date, user, object, field, filter applied, new value, number of records changed, entity). No business data is stored in it. |
| Move tasks between projects | One table: llx_dolixtaches_log. It records the move history (date, user, task identifier, its reference and label at the time of the move, source project, target project, flag for whether the documents were moved, entity). No business data is stored in it. |
| Duplicate finder | One table: llx_dolixdoublons_log. It records the merge history (date, user, object type, kept record, merged record, names of both records, entity). |
| Refresh prices on draft quotes | No table, no complementary attribute. The module folder does not contain a sql/ directory. The module only stores two settings in the Dolibarr constants. |
If the module does not appear
Five checks, in this order. They cover most cases.
- Is the folder in the right place? The module folder must sit directly in htdocs/custom/ and bear exactly its technical name — the one given on its page. A folder nested twice (custom/dolixmasse/dolixmasse) is the most common cause.
- Can the web server read the files? After unpacking over FTP or SSH, the files sometimes belong to an account other than the web server’s. The module then stays invisible in the list.
- Is the Dolibarr version recent enough? All six modules require Dolibarr 19.0 or later and PHP 7.4 or later. The Dolibarr version is shown under HomeAbout.
- Is the module it depends on enabled? Each module page states the Dolibarr module to enable first — Commercial proposals or Third parties, depending on the case. Without it, the expected screen does not appear.
- Have the permissions been granted? A module that is enabled but has no permission granted stays invisible to the user. Permissions are granted under HomeUsers & Groups, on the Permissions tab.
None of the above?
Write to support@dolix.fr with your Dolibarr version, the module concerned and its version, and the error message copied exactly.