Difference between revisions of "Entwickler Dokumentation"

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
 
(44 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<keywords content="Entwickler, Entwicklung, Dokumentation, Handbuch, Tutorial, usage, Hilfe, api, coding, standard, rules" />
+
<!-- BEGIN interlang links -->
 +
<!-- Do NOT edit this section
 +
    Links below are automatically managed by PolyglotBot
 +
    You can edit links on the English source page : Developer_documentation -->
 +
[[en:Developer_documentation]]
 +
[[de:Entwickler_Dokumentation]]
 +
[[fr:Documentation_Développeur]]
 +
[[es:Documentación_Desarrolladores]]
 +
[[zh:开发文档]]
 +
<!-- END interlang links -->
 +
 
 +
 
 +
<seo metak="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, [[Benutzerdokumentation|finden Sie hier]].
 
Diese Seite ist ein Index bezogen für die Artikel zu der Entwicklerdokumentation. Die Benutzerdokumentation, [[Benutzerdokumentation|finden Sie hier]].
  
  
= Entwicklungsorganisation und Tools =
+
=Entwicklungsorganisation und Tools=
 
Dieses Kapitel enthält grundlegende Informationen, die genau vor dem Start jeder Entwicklungsarbeit mit Dolibarr gelesen werden müssen.
 
Dieses Kapitel enthält grundlegende Informationen, die genau vor dem Start jeder Entwicklungsarbeit mit Dolibarr gelesen werden müssen.
# [[Dolibarr Project|Organisation des Projekts (en)]]
 
# [[To known before to start|To known before to start to develop]]
 
# [[Environment and development tools]]
 
# [[Dependencies and external libraries]]
 
# [[FAQ_Get,update_project_sources|Get or update sources of a development version]]
 
  
= Codierungsregeln und Praxisbeispiele =
+
#[[Dolibarr Project|Organisation des Projekts (en)]]
# [[Prerequisite|Voraussetzungen (en)]]
+
#[[To known before to start|Basiswissen, bevor man mit der Entwicklung beginnt.(en)]]
# [[Language and development rules|Language and development rules (PHP, SQL, HTML)]]
+
#[[Environment and development tools|Umgebung- und Entwicklerwerkzeuge (en)]]
# [[:Category:Table SQL|List of tables]]
+
#[[Dependencies and external libraries|Abhängigkeiten und externe Bibliotheken (en)]]
# Tree structure of files and classes are available onto [http://doxygen.dolibarr.org/ doxygen generated documentation]
+
#[[FAQ_Get,update_project_sources|Update/Download Quellen von Entwicklungsversionen (en)]]
 +
 
 +
=Codierungsregeln und Praxisbeispiele=
 +
 
 +
#[[Voraussetzungen|Voraussetzungen (de)]]
 +
#[[Language and development rules|Programmiersprach- und Entwicklungsregeln(PHP, SQL, HTML) (eng.)]]
 +
#[[:Category:Table SQL|Liste der Datenbanktabellen]] (en)
 +
#Baumstruktur von Dateien und Klassen sind verfügbar auf [http://doxygen.dolibarr.org/ doxygen generated documentation]
 +
 
 +
=Liste der Module=
 +
Die technische Dokumentation zu den Standardmodulen ist auf den Entwicklerdokumentationsseiten der einzelnen Module verfügbar. 
 +
 
 +
Wählen Sie die entsprechende Seite aus, die Sie interessiert:
 +
 
 +
*Die Liste der Standardmodule: [[:Category:List of Modules (developer)‎|List of Modules (en)]]
 +
*Die Liste der anderen Module: [[:Category:Complementary modules|Complementary modules (en)]]
  
= Liste der Module =
+
=Entwickeln eines Moduls/Addons für die GUI=
Technical documentations on standard business modules are available on developer documentation of each modules. Choose page you are interested in to go on it:
+
Dieser Abschnitt beschreibt, wie Sie ein neues Modul in/für Dolibarr entwickeln, das die Funktionsweise von Dolibarr ändert.  
  
* List of standard modules is defined on page [[:Category:List of Modules (developer)‎|List of Modules]]
+
Solche Module können eigene Bildschirme, eigene Daten, ein eigenes CSS-Stylesheet, einen eigenen Geschäftscode oder all dies haben.
* List of other modules is defined on page [[:Category:Complementary modules|Complementary modules]]
 
  
= Entwickeln eines Moduls/Addons für die GUI =
+
Die Skriptentwicklung ist in diesem Abschnitt nicht enthalten (dies wird im nächsten Kapitel beschrieben).  
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]]
 
To develop your own module, go on tutorial: [[Module development]]
  
= Ein command line script oder Batch erstellen =
+
=Erstellen eines Skripts (Kommandozeile oder Batch)=
This chapter describe the way to develop its own command line script to realize Dolibarr treatments (read, update data...).
+
In diesem Kapitel wird beschrieben, wie Sie ein eigenes Befehlszeilenskript entwickeln, um Dolibarr-Behandlungen durchzuführen (Daten lesen, aktualisieren ...).  
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]]
+
Änderungen an der Benutzeroberfläche (GUI) werden in diesem Kapitel nicht behandelt.  Siehe hierzu vorheriges Kapitel.
  
= Technische Elemente von Dolibarr =
+
Um ein Skript wie ein Cron-Skript oder ein Befehlszeilen-Import-Tool zum Importieren von Daten aus einer externen Quelle zu entwickeln, können Sie sich die folgende Seite ansehen:: [[Script development]]
== Dateistruktur ==
 
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]]).
+
=Technische Elemente von Dolibarr=
 +
==Dateistruktur==
 +
Die Pfadhierarchie der aktuellen Version wird in der von Doxygen generierten Dokumentation abgebildet. [http://doxygen.dolibarr.org/ doxygen generated documentation] (generated "javadoc" like documentation)
  
== Speicherplatz einrichten ==
+
Die Pfade zum Hinzufügen neuer Dateien durch ein neues Modul sind jedoch in der Dokumentation zum Entwickeln eines neuen Moduls definiert  (see [[Module development]]).
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 ==
+
==Speicherplatz einrichten==
See page [[Business Objects]]
+
Es gibt 3 Stellen für Setup-Parameter in Dolibarr:
  
== Menü-System ==
+
*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.
See page [[Menus system]]
+
*Globale Funktionseinstellungen sind in der Tabelle llx_const gespeichert: [[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.
  
== Tab-System ==
+
==Geschäftsobjekte==
See page [[Tabs system]]
+
siehe  [[Business Objects]] (englisch)
  
== Skin-System ==
+
==Menü-System==
See page [[Skins]]
+
siehe  [[Menus system]] (englisch)
  
== Box-ystem ==
+
==Tab-System==
See page [[Box system]]
+
siehe  [[Tabs system]] (englisch)
  
== Authentifizierungssystem ==
+
==Skins/Themes==
See page [[Authentication]]
+
Skins/Themes sind die Benutzeroberflächen (GUIs)
  
== Berechtigungssystem ==
+
siehe [[Skins]] (englisch)
See page [[Permissions En|Permissions]]
 
  
== Übersetzungs-System ==
+
==Box-System==
See page [[Translation system]]
+
siehe [[Box system]] (englisch)
  
== Fehler-Behandlung ==
+
==Authentifizierungssystem==
See page [[Error reporting|Error reporting]]
+
siehe  [[Authentication]] (englisch)
  
== Canvas-System ==
+
==Berechtigungssystem==
 +
siehe  [[Permissions En|Permissions]]  (englisch)
 +
 
 +
==Übersetzungs-System==
 +
siehe  [[Translation system]]  (englisch)
 +
 
 +
==Fehler-Behandlung==
 +
siehe  [[Error reporting|Error reporting]]  (englisch)
 +
 
 +
==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]]
  
== Trigger-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]].
  
== Hook-System ==
+
==Hook-System==
See page [[Hooks system]].
+
Siehe [[Hooks system]] (EN)
  
== Variable substitution system ==
+
==Variable substitution system==
See page [[Variable substitution system]].
+
siehe  [[Variable substitution system]] (englisch)
  
== Internetdienste ==
+
==Internetdienste==
Dolibarr can be setup to provide some services.
+
Dolibarr kann so eingerichtet werden, dass es bestimmte Dienste anbietet. Siehe [[Module Web Services| Modul Webdienste]]
See [[Module Web Services]]
 
  
== Datei-/Dokumentspeicher verwalten ==
+
==Datei-/Dokumentspeicher verwalten==
 
See page [[Generated documents]]
 
See page [[Generated documents]]
  
== Module nummerieren ==
+
==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.
+
Für jede in der Anwendung erstellte Entität weist Dolibarr eine Referenz zu. Um die Referenz an jede Verwendung anzupassen, verwenden Dolibarr Module, um die Generierungsregel für diese Referenz zu definieren. Mehrere Module werden mit der Anwendung geliefert. Einige sind generisch und werden verwendet, um die Maskennummerierung (Nummer auf x Zeichen, mit oder ohne Präfix, einschließlich Datum oder nicht usw.) zu definieren, die die meisten Anforderungen erfüllen kann. Es gibt jedoch immer noch Fälle, in denen die bereitgestellten Module nicht den Anforderungen entsprechen. In diesem Fall muss ein eigenes Nummerierungsmodul entwickelt werden.
 +
 
 +
''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]]
  
== Dokumenttemplates und Dokumente erstellen ==
+
==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]]
+
Dokumentationen zur Erstellung von Dokumentenvorlagen finden Sie auf diesen Seiten:
  
== Zusatzfelder==
+
[[Create a PDF document template]]
See page [[Extrafields]]
 
  
== Andere interne Funktionen ==
+
[[Create an ODT document template]]
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'''
+
==Zusatzfelder==
 +
siehe  [[Extrafields]]  (englisch)
  
For example, to make a condition on Dolibarr > 3.5, you can use versioncompare and versiondolibarrarray found into admin.lib.php
+
==Andere interne Funktionen==
 +
Es gibt viele interne Bibliotheken, die Ihr Code verwenden kann.
 +
Sie können viele allgemeine Funktionen in den  '''functions.lib.php, functions2.lib.php or admin.lib.php''' finden. Jede Funktion, die in htdocs/core/lib/*.lib files kann verwendet werden.
 +
 
 +
'''So spezifizieren Sie eine Anforderung basierend auf der Dolibarr-Versionsnummer'''
 +
 
 +
zum Beispiel, um eine Bedingung zu stellen, die darauf basiert, dass die Dolibarr-Version > 3.5 benötigt wird, können Sie versioncompare und versiondolibarrarray in admin.lib.php verwenden:
 
<source lang="php">
 
<source lang="php">
 
if (versioncompare(versiondolibarrarray(), array(3,5,0)) > 0)
 
if (versioncompare(versiondolibarrarray(), array(3,5,0)) > 0)
Line 122: Line 150:
 
</source>
 
</source>
  
= Massenimport /-export =
+
=Massenimport /-export=
# [[Mass imports]]
+
 
# [[Module Exports En|Mass exports]]
+
#[[Mass imports]]
 +
#[[Module Exports En|Mass exports]]
 +
 
 +
=Schnittstellen und Links mit anderen Anwendungen=
  
= Schnittstellen und Links mit anderen Anwendungen =
+
#[[Interfaces Dolibarr toward foreign systems]] or toward Dolibarr (Dolibarr Triggers)
# [[Interfaces Dolibarr toward foreign systems]] or toward Dolibarr (Dolibarr Triggers)
+
#[[Interfaces from foreign systems toward Dolibarr]]
# [[Interfaces from foreign systems toward Dolibarr]]
+
#[[Module Web Services|Web Services]]
# [[Module Web Services|Web Services]]
 
  
= FAQ =
+
=FAQ=
All FAQ are available through index page [[:Category:FAQ EN|FAQ EN]]
+
Alle FAQs sind über die FAQ-Indexseite verfügbar.[[:Category:FAQ DE|FAQ DE]]

Latest revision as of 18:40, 14 January 2023


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. Basiswissen, bevor man mit der Entwicklung beginnt.(en)
  3. Umgebung- und Entwicklerwerkzeuge (en)
  4. Abhängigkeiten und externe Bibliotheken (en)
  5. Update/Download Quellen von Entwicklungsversionen (en)

Codierungsregeln und Praxisbeispiele

  1. Voraussetzungen (de)
  2. Programmiersprach- und Entwicklungsregeln(PHP, SQL, HTML) (eng.)
  3. Liste der Datenbanktabellen (en)
  4. Baumstruktur von Dateien und Klassen sind verfügbar auf doxygen generated documentation

Liste der Module

Die technische Dokumentation zu den Standardmodulen ist auf den Entwicklerdokumentationsseiten der einzelnen Module verfügbar.

Wählen Sie die entsprechende Seite aus, die Sie interessiert:

Entwickeln eines Moduls/Addons für die GUI

Dieser Abschnitt beschreibt, wie Sie ein neues Modul in/für Dolibarr entwickeln, das die Funktionsweise von Dolibarr ändert.

Solche Module können eigene Bildschirme, eigene Daten, ein eigenes CSS-Stylesheet, einen eigenen Geschäftscode oder all dies haben.

Die Skriptentwicklung ist in diesem Abschnitt nicht enthalten (dies wird im nächsten Kapitel beschrieben).

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

Erstellen eines Skripts (Kommandozeile oder Batch)

In diesem Kapitel wird beschrieben, wie Sie ein eigenes Befehlszeilenskript entwickeln, um Dolibarr-Behandlungen durchzuführen (Daten lesen, aktualisieren ...).

Änderungen an der Benutzeroberfläche (GUI) werden in diesem Kapitel nicht behandelt. Siehe hierzu vorheriges Kapitel.

Um ein Skript wie ein Cron-Skript oder ein Befehlszeilen-Import-Tool zum Importieren von Daten aus einer externen Quelle zu entwickeln, können Sie sich die folgende Seite ansehen:: Script development

Technische Elemente von Dolibarr

Dateistruktur

Die Pfadhierarchie der aktuellen Version wird in der von Doxygen generierten Dokumentation abgebildet. doxygen generated documentation (generated "javadoc" like documentation)

Die Pfade zum Hinzufügen neuer Dateien durch ein neues Modul sind jedoch in der Dokumentation zum Entwickeln eines neuen Moduls definiert (see Module development).

Speicherplatz einrichten

Es gibt 3 Stellen für Setup-Parameter in Dolibarr:

  • 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.
  • Globale Funktionseinstellungen sind in der Tabelle llx_const gespeichert: 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

siehe Business Objects (englisch)

Menü-System

siehe Menus system (englisch)

Tab-System

siehe Tabs system (englisch)

Skins/Themes

Skins/Themes sind die Benutzeroberflächen (GUIs)

siehe Skins (englisch)

Box-System

siehe Box system (englisch)

Authentifizierungssystem

siehe Authentication (englisch)

Berechtigungssystem

siehe Permissions (englisch)

Übersetzungs-System

siehe Translation system (englisch)

Fehler-Behandlung

siehe Error reporting (englisch)

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

Siehe Hooks system (EN)

Variable substitution system

siehe Variable substitution system (englisch)

Internetdienste

Dolibarr kann so eingerichtet werden, dass es bestimmte Dienste anbietet. Siehe Modul Webdienste

Datei-/Dokumentspeicher verwalten

See page Generated documents

Module nummerieren

Für jede in der Anwendung erstellte Entität weist Dolibarr eine Referenz zu. Um die Referenz an jede Verwendung anzupassen, verwenden Dolibarr Module, um die Generierungsregel für diese Referenz zu definieren. Mehrere Module werden mit der Anwendung geliefert. Einige sind generisch und werden verwendet, um die Maskennummerierung (Nummer auf x Zeichen, mit oder ohne Präfix, einschließlich Datum oder nicht usw.) zu definieren, die die meisten Anforderungen erfüllen kann. Es gibt jedoch immer noch Fälle, in denen die bereitgestellten Module nicht den Anforderungen entsprechen. In diesem Fall muss ein eigenes Nummerierungsmodul entwickelt werden.

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

Dokumentationen zur Erstellung von Dokumentenvorlagen finden Sie auf diesen Seiten:

Create a PDF document template

Create an ODT document template

Zusatzfelder

siehe Extrafields (englisch)

Andere interne Funktionen

Es gibt viele interne Bibliotheken, die Ihr Code verwenden kann. Sie können viele allgemeine Funktionen in den functions.lib.php, functions2.lib.php or admin.lib.php finden. Jede Funktion, die in htdocs/core/lib/*.lib files kann verwendet werden.

So spezifizieren Sie eine Anforderung basierend auf der Dolibarr-Versionsnummer

zum Beispiel, um eine Bedingung zu stellen, die darauf basiert, dass die Dolibarr-Version > 3.5 benötigt wird, können Sie versioncompare und versiondolibarrarray in admin.lib.php verwenden:

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

Massenimport /-export

  1. Mass imports
  2. Mass exports

Schnittstellen und Links mit anderen Anwendungen

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

FAQ

Alle FAQs sind über die FAQ-Indexseite verfügbar.FAQ DE