Table of Contents

  1. Introduction

  2. Understanding Dolibarr ERP/CRM

  3. Why VSCodium for Dolibarr Development?

  4. Setting Up Your Development Environment

  5. Installing VSCodium

  6. Cloning the Dolibarr Repository

  7. Configuring VSCodium for Efficient Development

  8. Extensions and Tools Recommended for Dolibarr

  9. Understanding Dolibarr’s Code Structure

  10. Best Practices for Contributing to Dolibarr

  11. Running and Testing Dolibarr Locally

  12. Common Development Tasks in Dolibarr

  13. Submitting Your Contribution to the Dolibarr Project

  14. Debugging Techniques with VSCodium

  15. Troubleshooting Common Issues

  16. Community Engagement and Support

  17. Future Perspectives

  18. Conclusion

1. Introduction

Open-source projects like Dolibarr thrive on the participation and contributions of developers around the world. Choosing the right tools can make your experience smoother and more productive. VSCodium, a community-driven, fully open-source version of Visual Studio Code, is an excellent choice for Dolibarr development. This article is a detailed guide on how to set up, develop, and contribute to Dolibarr using VSCodium.

2. Understanding Dolibarr ERP/CRM

Dolibarr is an all-in-one ERP and CRM system designed for small and medium-sized businesses, freelancers, and non-profits. It offers modular features allowing users to manage invoices, projects, inventory, sales, HR, accounting, and more.

Key Features:

  • Modular: Activate only the features you need.

  • Flexible Deployment: Install it on your local server, shared hosting, or cloud instance.

  • Open Source: Licensed under GNU GPL.

  • Large Ecosystem: Includes a marketplace with hundreds of add-ons.

Dolibarr’s source code is primarily written in PHP and is structured to be easy to understand and extend, making it accessible even to developers new to ERP systems.

3. Why VSCodium for Dolibarr Development?

While Visual Studio Code is a popular choice, VSCodium offers an open-source alternative without the telemetry and proprietary licensing concerns.

Benefits of Using VSCodium:

  • Privacy Respect: No built-in telemetry.

  • Lightweight: Minimal system resource usage.

  • Extensible: Huge library of extensions.

  • Cross-Platform: Runs on Linux, Windows, and macOS.

  • Customization: Highly customizable settings and keyboard shortcuts.

Given Dolibarr’s open-source nature, using VSCodium aligns philosophically and practically with the values of open collaboration.

4. Setting Up Your Development Environment

Before starting, you will need a few components ready:

  • Web Server: Apache or Nginx.

  • PHP: Version compatible with the latest Dolibarr.

  • Database Server: MySQL or MariaDB.

  • Composer: For PHP dependency management.

  • Git: For version control.

  • VSCodium: For your code editor.

On Linux systems, you can install Apache, PHP, and MySQL easily using package managers like apt, yum, or dnf.

5. Installing VSCodium

On Linux:

sudo apt install codium

Or download the latest .deb or .rpm packages from the VSCodium releases page.

On macOS:

brew install --cask vscodium

On Windows:

Download the installer directly and follow the installation steps.

Ensure codium is added to your PATH for easy terminal access.

6. Cloning the Dolibarr Repository

Dolibarr’s source code is hosted on GitHub.

git clone https://github.com/Dolibarr/dolibarr.git

Navigate into the project directory:

cd dolibarr

Always create a new branch before starting any changes to keep your work isolated:

git checkout -b feature/my-new-feature

7. Configuring VSCodium for Efficient Development

Project Setup:

Open the cloned Dolibarr project in VSCodium:

codium .

Settings Tweaks:

  • Enable Format on Save to maintain code consistency.

  • Set tab width to match Dolibarr’s coding standards.

  • Enable PHP linting to catch syntax errors early.

Editorconfig:

Dolibarr includes an .editorconfig file to maintain consistent coding styles. Install the EditorConfig extension to ensure your environment respects these settings.

8. Extensions and Tools Recommended for Dolibarr

Install these extensions to enhance your workflow:

  • PHP Intelephense: Advanced PHP intellisense.

  • PHP Debug: Xdebug integration.

  • EditorConfig: Auto-enforce coding styles.

  • GitLens: Git superpowers.

  • Prettier: Code formatter.

  • Docker: If you prefer containerized environments.

These tools collectively make PHP development smoother and faster.

9. Understanding Dolibarr’s Code Structure

Dolibarr’s codebase is organized logically to ease understanding.

  • /htdocs/: Main web-accessible code.

  • /build/: Scripts and tools for building and packaging.

  • /dev/: Developer utilities and tools.

  • /scripts/: Shell scripts for automation.

  • /includes/: Third-party libraries and components.

Important Concepts:

  • Modules: Dolibarr’s functionality is modular.

  • Hooks: Allow extensions without altering core files.

  • Classes: Most business logic is encapsulated in PHP classes.

Understanding this structure is critical for effective development.

10. Best Practices for Contributing to Dolibarr

Follow these principles to ensure your contributions are accepted:

  • Write clean, readable code.

  • Adhere to Dolibarr’s coding standards.

  • Document your code appropriately.

  • Write unit and integration tests.

  • Commit early and often.

  • Use descriptive commit messages.

  • Submit Pull Requests (PRs) against the "develop" branch.

Reading Dolibarr’s CONTRIBUTING.md file is mandatory before starting.

11. Running and Testing Dolibarr Locally

Setting Up Dolibarr:

  • Configure your Apache to point to the /htdocs folder.

  • Set up a virtual host.

  • Create a database in MySQL or MariaDB.

Run the Dolibarr installer by navigating to your local instance in a browser and follow the installation steps.

Running Tests:

Dolibarr uses PHPUnit for testing.

php vendor/bin/phpunit

Always run tests before submitting a PR.

12. Common Development Tasks in Dolibarr

Creating a New Module:

Use the module builder in Dolibarr to scaffold a new module quickly.

Fixing a Bug:

  • Identify the problematic code.

  • Write a failing test if possible.

  • Fix the bug.

  • Ensure the test passes.

Adding a Feature:

  • Discuss major features in the Dolibarr forums first.

  • Follow the modular and hook-based architecture.

13. Submitting Your Contribution to the Dolibarr Project

  • Push your branch to your fork.

  • Create a Pull Request against the develop branch.

  • Fill in the PR template completely.

  • Respond to feedback promptly.

Maintainers are helpful but expect you to maintain a high-quality standard.

14. Debugging Techniques with VSCodium

Using Xdebug:

Set breakpoints in your PHP code and run Dolibarr locally with Xdebug enabled.

Configure VSCodium’s launch.json for PHP debugging.

Logs:

Use Dolibarr’s logging system to output debug information without affecting production environments.

dol_syslog("Debug info", LOG_DEBUG);

15. Troubleshooting Common Issues

Dependency Issues:

Run Composer install to ensure all dependencies are present:

composer install

Database Errors:

Check your database configuration in htdocs/conf/conf.php.

Permissions Errors:

Ensure your web server user has the right permissions on Dolibarr folders.

16. Community Engagement and Support

Dolibarr’s community is active and welcoming.

Places to engage:

  • Dolibarr GitHub Repository (issues, PRs)

  • Dolibarr Forums

  • Dolibarr IRC/Matrix Channels

  • Annual Dolibarr DevCamps

Asking smart questions and helping others will enrich your learning.

17. Future Perspectives

Dolibarr continues to evolve, embracing new technologies like REST APIs, webhooks, and more modular architectures. Contributions related to UI modernization, better API support, automation, and performance improvements are especially welcome.

Using VSCodium, with its ever-expanding extension ecosystem, will keep developers ready for future challenges.

18. Conclusion

Developing and contributing to Dolibarr using VSCodium is not only possible but highly efficient. VSCodium's privacy-respecting, lightweight environment complements Dolibarr's open-source spirit perfectly. Setting up your development environment carefully, understanding Dolibarr’s structure, and following community best practices will set you up for success.

By contributing, you are not only improving your skills but also supporting a project that helps thousands of businesses and organizations worldwide.