Dependencies and external libraries: Difference between revisions

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
(Add Chinese)
Tag: 2017 source edit
 
(17 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<!-- BEGIN origin interlang links -->
<!-- You can edit this section but do NOT remove these comments
    Links below will be automatically replicated on translated pages by PolyglotBot -->
[[fr:Librairies_externes_et_dépendances]]
[[es:Librerías_externas_y_dependencias]]
[[zh:依赖项与外部库]]
<!-- END interlang links -->
{{TemplateDocDevEn}}
{{TemplateDocDevEn}}


= Libraries embedded inside source code =
= Libraries embedded inside source code =


All libraries embedded into Dolibarr distribution are located inside directory '''htdocs/includes''':
All libraries (PHP and Javascript) embedded into Dolibarr distribution are located inside directory '''htdocs/includes''':
* Libraries AdoDb-Date
* Libraries Artichow for charts
* Libraries PHP-barcode
* Libraries Fckeditor (http://www.fckeditor.net)
* Libraries to build pdf FPDF (http://www.fpdf.org)
* Libraries to build pdf FPDI
* Libraries to load RSS Magpierss
* Libraries Nusoap modified to solve conflict problems with PHP5
* Libraries PHP_WriteExcel
* Libraries Prototype
* Libraries PWC
* Libraries Scriptaculous
* Libraries Smarty (not used)
* Libraries VCard


{{TemplateListOfLibraries}}


All those external embedded libraries must respect the following rules:
All those external embedded libraries must respect the following rules:
* They must be compatible with Dolibarr license. The file '''COPYRIGHT''' inside Dolibarr root directory list all embedded libraries and their license.
* They must be compatible with Dolibarr license. The file '''COPYRIGHT''' inside Dolibarr root directory list all embedded libraries and their license.
* If a change is made inside original external library code, this change must be notified inside file '''htdocs/includes/dolibarr_changes.txt'''. In most cases, you should not have to edit external libraries and should use them as they are provided. This is to make upgrade of libraries possible with no need to report code changes after an upgrade.
* If a change is made inside original external library code, this change must be notified inside file '''devs/dolibarr_changes.txt'''. In most cases, you should not have to edit external libraries and should use them as they are provided. This is to make upgrade of libraries possible with no need to report code changes after an upgrade.
 
= Apache Modules =
mod_php
 
= PHP Extensions =
Database drivers (only one required, depending on your database):
{{ListOfPHPDatabaseExtensions}}
 
Image manipulation:
{{ListOfPHPImageExtensions}}
 
Encoding/Encryption:
{{ListOfPHPEncryptionExtensions}}


= Apache Libraries =
For module Webservices:
No particular libraries required.
{{ListOfPHPWSExtensions}}


= PHP Libraries =
Other:
No particular libraries required.
{{ListOfOtherPHPExtensions}}

Latest revision as of 01:21, 14 September 2023


Libraries embedded inside source code

All libraries (PHP and Javascript) embedded into Dolibarr distribution are located inside directory htdocs/includes:

A complete and up to date list of Dolibarr dependencies is available on this file: https://github.com/Dolibarr/dolibarr/blob/develop/COPYRIGHT

You can change the tag or branch of version to get the good file for a given Dolibarr version

All those external embedded libraries must respect the following rules:

  • They must be compatible with Dolibarr license. The file COPYRIGHT inside Dolibarr root directory list all embedded libraries and their license.
  • If a change is made inside original external library code, this change must be notified inside file devs/dolibarr_changes.txt. In most cases, you should not have to edit external libraries and should use them as they are provided. This is to make upgrade of libraries possible with no need to report code changes after an upgrade.

Apache Modules

mod_php

PHP Extensions

Database drivers (only one required, depending on your database):

  • MySQL : mysqli
  • PostgreSQL: pgsql
  • MSSQL: mssql (not tested)
  • SqLite: pdo_sqlite (not working yet)

Image manipulation:

  • imagick (option)
  • gd

Encoding/Encryption:

  • mcrypt (option)
  • openssl (option)
  • mbstring (if database is not UTF-8)

For module Webservices:

  • soap (option)

Other:

  • curl
  • intl
  • calendar (for date manipulation)
  • zip (handling of .xlsx, .ods and .gnumeric files)
  • xml
  • for PHPExcel:
    • gd2 (optional, but required for exact column width autocalculation)