Difference between revisions of "Entwickler Dokumentation"
Fabian.heinz (talk | contribs) |
|||
(45 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
− | < | + | <!-- 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. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | = Codierungsregeln und Praxisbeispiele = | + | #[[Dolibarr Project|Organisation des Projekts (en)]] |
− | # [[ | + | #[[To known before to start|Basiswissen, bevor man mit der Entwicklung beginnt.(en)]] |
− | # [[Language and development rules| | + | #[[Environment and development tools|Umgebung- und Entwicklerwerkzeuge (en)]] |
− | # [[:Category:Table SQL| | + | #[[Dependencies and external libraries|Abhängigkeiten und externe Bibliotheken (en)]] |
− | # | + | #[[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)]] | ||
− | = | + | =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]] | 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. [http://doxygen.dolibarr.org/ 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. | |
− | See page [[ | + | *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) | |
− | == 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== |
− | + | Siehe [[Hooks system]] (EN) | |
− | == Variable substitution system == | + | ==Variable substitution system== |
− | + | siehe [[Variable substitution system]] (englisch) | |
− | == Internetdienste == | + | ==Internetdienste== |
− | Dolibarr | + | Dolibarr kann so eingerichtet werden, dass es bestimmte Dienste anbietet. Siehe [[Module Web Services| Modul Webdienste]] |
− | |||
− | == 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== |
− | + | 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: | ||
<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= | ||
− | + | #[[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= |
− | + | 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.
- Organisation des Projekts (en)
- Basiswissen, bevor man mit der Entwicklung beginnt.(en)
- Umgebung- und Entwicklerwerkzeuge (en)
- Abhängigkeiten und externe Bibliotheken (en)
- Update/Download Quellen von Entwicklungsversionen (en)
Codierungsregeln und Praxisbeispiele
- Voraussetzungen (de)
- Programmiersprach- und Entwicklungsregeln(PHP, SQL, HTML) (eng.)
- Liste der Datenbanktabellen (en)
- 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:
- Die Liste der Standardmodule: List of Modules (en)
- Die Liste der anderen Module: Complementary modules (en)
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
Schnittstellen und Links mit anderen Anwendungen
- Interfaces Dolibarr toward foreign systems or toward Dolibarr (Dolibarr Triggers)
- Interfaces from foreign systems toward Dolibarr
- Web Services
FAQ
Alle FAQs sind über die FAQ-Indexseite verfügbar.FAQ DE