Difference between revisions of "Entwickler Dokumentation"

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
Line 35: Line 35:
 
To develop a script, like a cron script or an command line import tool to import data from an external source, you can have a look at the page: [[Script development]]
 
To develop a script, like a cron script or an command line import tool to import data from an external source, you can have a look at the page: [[Script development]]
  
= Technical components of Dolibarr =
+
= Technische Elemente von Dolibarr =
== Tree structure ==
+
== Dateistruktur ==
 
Path hierarchy of current version are defined into [http://doxygen.dolibarr.org/ doxygen generated documentation] (generated "javadoc" like documentation).
 
Path hierarchy of current version are defined into [http://doxygen.dolibarr.org/ doxygen generated documentation] (generated "javadoc" like documentation).
  
 
However, paths to use to add new files by a new module is defined in the documentation to develop a new module (see [[Module development]]).
 
However, paths to use to add new files by a new module is defined in the documentation to develop a new module (see [[Module development]]).
  
== Setup storage ==
+
== Speicherplatz einrichten ==
 
There are 3 places for Dolibarr setup parameters.
 
There are 3 places for Dolibarr setup parameters.
 
* Dolibarr technical setup (authentication mode, database logins and storage area for files) are defined in only one setup file conf/conf.php. See [[Configuration file]] for more information.
 
* Dolibarr technical setup (authentication mode, database logins and storage area for files) are defined in only one setup file conf/conf.php. See [[Configuration file]] for more information.
Line 47: Line 47:
 
* Feature parameters for particular users are stored in [[Table llx_user_param]]. See page [[Constants]] for more information.
 
* Feature parameters for particular users are stored in [[Table llx_user_param]]. See page [[Constants]] for more information.
  
== Business objects ==
+
== Geschäftsobjekte ==
 
See page [[Business Objects]]
 
See page [[Business Objects]]
  
== Menus system ==
+
== Menü-System ==
 
See page [[Menus system]]
 
See page [[Menus system]]
  
== Tabs system ==
+
== Tab-System ==
 
See page [[Tabs system]]
 
See page [[Tabs system]]
  
== Skins system ==
+
== Skin-System ==
 
See page [[Skins]]
 
See page [[Skins]]
  
== Box system ==
+
== Box-ystem ==
 
See page [[Box system]]
 
See page [[Box system]]
  
== Authentication system ==
+
== Authentifizierungssystem ==
 
See page [[Authentication]]
 
See page [[Authentication]]
  
== Permission system ==
+
== Berechtigungssystem ==
 
See page [[Permissions En|Permissions]]
 
See page [[Permissions En|Permissions]]
  
== Translation system ==
+
== Übersetzungs-System ==
 
See page [[Translation system]]
 
See page [[Translation system]]
  
== Error management ==
+
== Fehler-Behandlung ==
 
See page [[Error reporting|Error reporting]]
 
See page [[Error reporting|Error reporting]]
  
== Canvas system ==
+
== Canvas-System ==
 
Canvas is a developer feature to replace sreens to create, update or view a card (products, thirdparties, contacts, ...). For example, you can replace the input form to create a new third party, or to edit it, or replace the card used to view it.
 
Canvas is a developer feature to replace sreens to create, update or view a card (products, thirdparties, contacts, ...). For example, you can replace the input form to create a new third party, or to edit it, or replace the card used to view it.
 
   
 
   
 
See page [[Canvas development]]
 
See page [[Canvas development]]
  
== Triggers system ==
+
== Trigger-System ==
 
Triggers is a develop feature to execute personalized code during a Dolibarr "Business event" (creation of invoice, delete of user, update of thirdparty, etc...), and only for a business event. To personalize code for other contexts, see instead chapter '''Hooks system'''.
 
Triggers is a develop feature to execute personalized code during a Dolibarr "Business event" (creation of invoice, delete of user, update of thirdparty, etc...), and only for a business event. To personalize code for other contexts, see instead chapter '''Hooks system'''.
  
 
For triggers usage, see [[Interfaces Dolibarr toward foreign systems|this page]].
 
For triggers usage, see [[Interfaces Dolibarr toward foreign systems|this page]].
  
== Hooks system ==
+
== Hook-System ==
 
See page [[Hooks system]].
 
See page [[Hooks system]].
  
Line 90: Line 90:
 
See page [[Variable substitution system]].
 
See page [[Variable substitution system]].
  
== Web services ==
+
== Internetdienste ==
 
Dolibarr can be setup to provide some services.
 
Dolibarr can be setup to provide some services.
 
See [[Module Web Services]]
 
See [[Module Web Services]]
  
== Files/Documents storage management ==
+
== Datei-/Dokumentspeicher verwalten ==
 
See page [[Generated documents]]
 
See page [[Generated documents]]
  
== Numbering modules ==
+
== Module nummerieren ==
 
For each entity created in the application, Dolibarr assigns a reference. In order to adapt the reference to any use, Dolibarr use modules to define the rule of generation of this reference. Several modules are supplied with application. Some are generic and are used to define the mask numbering (number on x characters, with or without prefix, including the date or not, etc.), which can meet most needs. However, there are still cases where the modules provided does not meet the need. In this case it is necessary to develop its own numbering module.
 
For each entity created in the application, Dolibarr assigns a reference. In order to adapt the reference to any use, Dolibarr use modules to define the rule of generation of this reference. Several modules are supplied with application. Some are generic and are used to define the mask numbering (number on x characters, with or without prefix, including the date or not, etc.), which can meet most needs. However, there are still cases where the modules provided does not meet the need. In this case it is necessary to develop its own numbering module.
  
 
For more information, see on page [[Create numeration module]]
 
For more information, see on page [[Create numeration module]]
  
== Document templates and generating documents ==
+
== Dokumenttemplates und Dokumente erstellen ==
 
More documentation about document generation from models is available on page [[Create a PDF document template]] or [[Create an ODT document template]]
 
More documentation about document generation from models is available on page [[Create a PDF document template]] or [[Create an ODT document template]]
  
== Extrafields ==
+
== Zusatzfelder==
 
See page [[Extrafields]]
 
See page [[Extrafields]]
  
== Other internal function ==
+
== Andere interne Funktionen ==
 
There is a lot of internal libraries your code can use.
 
There is a lot of internal libraries your code can use.
 
You may find a lot of generic functions into files functions.lib.php or functions2.lib.php or admin.lib.php. But any function found into htdocs/core/lib/*.lib files can be used.
 
You may find a lot of generic functions into files functions.lib.php or functions2.lib.php or admin.lib.php. But any function found into htdocs/core/lib/*.lib files can be used.

Revision as of 05:05, 23 August 2018

<keywords content="Entwickler, Entwicklung, Dokumentation, Handbuch, Tutorial, usage, Hilfe, api, coding, standard, rules" /> Diese Seite ist ein Index bezogen für die Artikel zu der Entwicklerdokumentation. Die Benutzerdokumentation, finden Sie hier.


Entwicklungsorganisation und Tools

Dieses Kapitel enthält grundlegende Informationen, die genau vor dem Start jeder Entwicklungsarbeit mit Dolibarr gelesen werden müssen.

  1. Organisation des Projekts (en)
  2. To known before to start to develop
  3. Environment and development tools
  4. Dependencies and external libraries
  5. Get or update sources of a development version

Codierungsregeln und Praxisbeispiele

  1. Voraussetzungen (en)
  2. Language and development rules (PHP, SQL, HTML)
  3. List of tables
  4. Tree structure of files and classes are available onto doxygen generated documentation

Liste der Module

Technical documentations on standard business modules are available on developer documentation of each modules. Choose page you are interested in to go on it:

Entwickeln eines Moduls/Addons für die GUI

This section describe how to develop a new module on Dolibarr that change how Dolibarr works. Such modules can have its own screens, its own data, its own CSS stylesheet, its own business code or all of this. Script development is not included in this section (this is described in next chapter).

To develop your own module, go on tutorial: Module development

Ein command line script oder Batch erstellen

This chapter describe the way to develop its own command line script to realize Dolibarr treatments (read, update data...). Making modifications on user Gui interface (GUI) is not included in this chapter. See previous chapter for this.

To develop a script, like a cron script or an command line import tool to import data from an external source, you can have a look at the page: Script development

Technische Elemente von Dolibarr

Dateistruktur

Path hierarchy of current version are defined into doxygen generated documentation (generated "javadoc" like documentation).

However, paths to use to add new files by a new module is defined in the documentation to develop a new module (see Module development).

Speicherplatz einrichten

There are 3 places for Dolibarr setup parameters.

  • Dolibarr technical setup (authentication mode, database logins and storage area for files) are defined in only one setup file conf/conf.php. See Configuration file for more information.
  • Global features parameters are stored in Table llx_const. See page Constants for more information.
  • Feature parameters for particular users are stored in Table llx_user_param. See page Constants for more information.

Geschäftsobjekte

See page Business Objects

Menü-System

See page Menus system

Tab-System

See page Tabs system

Skin-System

See page Skins

Box-ystem

See page Box system

Authentifizierungssystem

See page Authentication

Berechtigungssystem

See page Permissions

Übersetzungs-System

See page Translation system

Fehler-Behandlung

See page Error reporting

Canvas-System

Canvas is a developer feature to replace sreens to create, update or view a card (products, thirdparties, contacts, ...). For example, you can replace the input form to create a new third party, or to edit it, or replace the card used to view it.

See page Canvas development

Trigger-System

Triggers is a develop feature to execute personalized code during a Dolibarr "Business event" (creation of invoice, delete of user, update of thirdparty, etc...), and only for a business event. To personalize code for other contexts, see instead chapter Hooks system.

For triggers usage, see this page.

Hook-System

See page Hooks system.

Variable substitution system

See page Variable substitution system.

Internetdienste

Dolibarr can be setup to provide some services. See Module Web Services

Datei-/Dokumentspeicher verwalten

See page Generated documents

Module nummerieren

For each entity created in the application, Dolibarr assigns a reference. In order to adapt the reference to any use, Dolibarr use modules to define the rule of generation of this reference. Several modules are supplied with application. Some are generic and are used to define the mask numbering (number on x characters, with or without prefix, including the date or not, etc.), which can meet most needs. However, there are still cases where the modules provided does not meet the need. In this case it is necessary to develop its own numbering module.

For more information, see on page Create numeration module

Dokumenttemplates und Dokumente erstellen

More documentation about document generation from models is available on page Create a PDF document template or Create an ODT document template

Zusatzfelder

See page Extrafields

Andere interne Funktionen

There is a lot of internal libraries your code can use. You may find a lot of generic functions into files functions.lib.php or functions2.lib.php or admin.lib.php. But any function found into htdocs/core/lib/*.lib files can be used.

To make a condition on Dolibarr version

For example, to make a condition on Dolibarr > 3.5, you can use versioncompare and versiondolibarrarray found into admin.lib.php

if (versioncompare(versiondolibarrarray(), array(3,5,0)) > 0)
{
 ...
}

Mass exports/imports

  1. Mass imports
  2. Mass exports

Interfaces and links with other applications

  1. Interfaces Dolibarr toward foreign systems or toward Dolibarr (Dolibarr Triggers)
  2. Interfaces from foreign systems toward Dolibarr
  3. Web Services

FAQ

All FAQ are available through index page FAQ EN