Dependencies and external libraries: Difference between revisions

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
(Add Chinese)
Tag: 2017 source edit
 
(19 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}}
{{ToTranslate}}


= Librairies embarquées dans le code source (valable pour la version 2.6) =
= Libraries embedded inside source code =
 
All libraries (PHP and Javascript) embedded into Dolibarr distribution are located inside directory '''htdocs/includes''':
 
{{TemplateListOfLibraries}}
 
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.


Toutes les librairies embarqués Dolibarr sont situées, soit dans le répertoire '''htdocs/includes''':
= Apache Modules =
* Librairies AdoDb-Date
mod_php
* Librairies PHP-barcode
* Librairies Fckeditor (http://www.fckeditor.net)
* Librairies de génération de pdf FPDF (http://www.fpdf.org)
* Librairies de génération de pdf FPDI
* Librairies chargement RSS Magpierss
* Librairies Nusoap modifié pour ne pas avoir de conflit avec PHP5
* Librairies PHP_WriteExcel
* Librairies Prototype
* Librairies PWC
* Librairies Scriptaculous
* Librairies VCard


Soit dans le répertoire '''external-libs''':
= PHP Extensions =
* Librairies Artichow pour les graphismes
Database drivers (only one required, depending on your database):
* Librairies Smarty (non utilisé)
{{ListOfPHPDatabaseExtensions}}


Image manipulation:
{{ListOfPHPImageExtensions}}


Toutes ces librairies embarquées doivent respecter les règles suivantes:
Encoding/Encryption:
* Elles doivent être compatibles avec la licence de Dolibarr. Le fichier '''COPYRIGHT''' dans la racine de Dolibarr liste toutes les librairies embarquée avec leur licence en vigueur.
{{ListOfPHPEncryptionExtensions}}
* Si une modification est faite sur le livrable d'une librairie externe, la modification doit être notifiée dans le fichier '''htdocs/includes/dolibarr_changes.txt'''. Normalement, on ne devrait jamais toucher aux librairies externes et les utiliser tel que disponibles. Ceci afin de permettre une mise à jour sans avoir à gérer des reports de modifications.


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


= PHP Librairies =
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)