Entwickler FAQ: Difference between revisions

mNo edit summary
Tag: 2017 source edit
 
(11 intermediate revisions by 2 users not shown)
Line 6: Line 6:
[[fr:FAQ_Développeur]]
[[fr:FAQ_Développeur]]
[[es:FAQ_Desarrolladores]]
[[es:FAQ_Desarrolladores]]
[[zh:开发者常见问题解答]]
<!-- END interlang links -->
<!-- END interlang links -->


{{TemplateDocDevEn}}
{{TemplateDocDevEn}}
Diese Seite enthält einige häufig gestellte Fragen (FAQs) zur Dolibarr-Entwicklung.
Diese Seite enthält einige Fragen und Antworten(FAQs) im Zusammenhang mit der Entwicklung von Dolibarr. Für Fragen und Antworten zur Nutzung besuchen Sie bitte die Seite [[User FAQ| FAQ Benutzer]] .  


Informationen zu FAQs zu anderen Themen finden Sie hier: [[User FAQ]].


=Wie man offizieller Entwickler wird=
=Wie man offizieller Entwickler wird=
Line 43: Line 43:
Siehe dazu die Seite [[Translator documentation|Übersetzer-Dokumentation]].
Siehe dazu die Seite [[Translator documentation|Übersetzer-Dokumentation]].


=Change my numbering system after start=
=Mein Rechnungsnummerierungssystem im laufenden Betrieb ändern=
If the new numbering system does not conflict with the old one, to change the numbering rule, just go to menu Setup - Modules - Invoice setup and choose the new numbering rule in the list.
Wenn das neue Nummerierungssystem nicht mit dem alten kollidiert, können Sie die Nummerierungsregel ändern, indem Sie das Menü Einstellungen - Module/Anwendungen - Rechnungen aufrufen und und nehmen Sie eine neue Vorlage aus der Liste.
 
Wenn das neue System einen Konflikt verursacht, müssen Sie Ihre bestehenden Referenzen neu nummerieren. Dies kann mit einer SQL-Abfrage geschehen. Um beispielsweise von Jupiter (FYYYYMM99) to Terre (FAYYMM-999)


If the new rule can create conflicts with old one, it will be necessary to rename old existing references. This can be done by a SQL request.
If the new rule can create conflicts with old one, it will be necessary to rename old existing references. This can be done by a SQL request.
For example, to go from numbering module Jupiter (FYYYYMM99) to Terre (FAYYMM-999), you can run the following request:
For example, to go from numbering module Jupiter (FYYYYMM99) to Terre (FAYYMM-999), zu wechseln, können Sie die folgende Abfrage ausführen:  
<source lang="sql">
<source lang="sql">
update llx_facture set facnumber=concat('FA',substr(facnumber,4,4),'-',substr(facnumber,8))
update llx_facture set facnumber=concat('FA',substr(facnumber,4,4),'-',substr(facnumber,8))
Line 59: Line 61:
</source>
</source>


=Submit a patch, work and help on Dolibarr development=
=Einen Patch, eine Verbesserung einreichen oder an der Entwicklung teilnehmen=
If you want to know what you can do to start or help Dolibarr development, read instead chapter [[Developer_FAQ#How_to_be_an_official_developer]]. If you already read it and want to distribute a patch, this chapter is for you.
Wenn Sie herausfinden möchten, wie Sie mit der Entwicklung von Dolibarr beginnen oder dazu beitragen können, lesen Sie das Kapitel [[Developer FAQ#How to be an official developer|FAQ_Entwickler#Wie werde ich offizieller Entwickler]]. Wenn Ihr Patch bereits fertig ist und Sie ihn verbreiten wollen, ist dieses Kapitel für Sie.
 
==Mit einem GitHub-Konto==
Der Zugang zur Hinterlegung von Lesequellen ist öffentlich. Das Einreichen von Beiträgen hängt jedoch von Ihrer Stufe im Projekt ab.
 
*Wenn du einen (äußerst seltenen) Yoda-Rang und damit direkten Schreibzugriff auf das Referenzrepository hast, nutze ihn
 
[[FAQ_D%C3%A9veloppeur#Comment_devenir_d.C3.A9veloppeur_officiel|FAQ Développeur - Offizieller Entwickler werden]] für die verschiedenen Dienstgrade).
 
*Wenn du keinen direkten Schreibzugriff auf das Referenz-Repository hast (dein Rang ist also [[Developer FAQ#Soldier|Jedi]] oder [[Developer FAQ#Soldier|Admiral]] oder [[Developer FAQ#Soldier|Soldier]]), dann musst du GitHub benutzen, indem du das Repository auf deinem Konto "forkest" und dann einen « Pull Request » von deinem Zweig auf das Haupt-Repository stellst. Dies ist die sauberste und leistungsfähigste empfohlene Methode. Siehe für weitere Informationen die Seite https://wiki.dolibarr.org/index.php/FAQ_Get,update_GIT_project_sources
 
Anmerkung: Wenn Sie mit dem GIT-Tool nicht vertraut sind und Ihre Änderung klein ist (eine oder zwei Dateien), können Sie die Datei einfach online bearbeiten, indem Sie über das GitHub-Webinterface auf Ihr GitHub-Konto und Ihr "Forkiertes" Repository zugreifen. Sobald Sie die Änderung vorgenommen haben, können Sie die Funktion Submit Pull Request verwenden, um sie dem Projekt vorzuschlagen. Ein Validator wird sie dann mühelos integrieren, sofern sie zulässig ist.
 
*Das folgende Verfahren bleibt eine technisch mögliche Alternative, wird aber nur noch für sehr kleine Änderungen praktiziert...
 
==ohne GitHub-Konto==
Ohne GitHub-Konto ist es notwendig, Ihre Patch-Datei zu erstellen und per E-Mail an die Entwickler-Mailingliste '''dolibarr-dev'''<nowiki> zu schicken (siehe hier {TemplateURLMLDev}}). Hier ist das Verfahren zum Erzeugen einer Patch-Datei:</nowiki>
 
''Unter jedem OS:''  [[Image:Logo_windows.png|20px]] [[Image:Logo_ubuntu.png|20px]] [[Image:Logo_apple.png|20px]]
 
Hier ist die ''Pro-Methode'', nach der Sie arbeiten müssen, um eine solche Patch-Datei erzeugen zu können:
 
- Ein Verzeichnis haben, das die Referenzversion von Dolibarr enthält (Ergebnis des GIT-Updates oder einfach die Baumstruktur, die sich aus dem Entpacken eines tgz-Snapshots von Dolibarr ergibt). Wir werden dieses Verzeichnis '''alte_rep''' nennen. Sie können den Snapshot der aktuellen Dev-Version auf der [https://www.dolibarr.org/downloads/ offizielle Dolibarr-Website - Downloadbereich - Entwicklungsversion] abrufen.
 
- Ein weiteres Verzeichnis haben, das den Baum von Dolibarr enthält, in dem Sie aber Ihre Änderungen vornehmen oder vorgenommen haben. Wir werden dieses Verzeichnis '''new_rep''' nennen.
 
Um die Patch-Datei zu erzeugen, müssen Sie dann nur den Befehl
'''diff''' (unter Linux Standard, unter Windows in [https://www.cygwin.org/cygwin cygwin] bereitgestellt) wie folgt ausführen:
<source lang="bash">
diff -BNaur --exclude=CVS --exclude="*.patch" --exclude=".#*" --exclude="*~" --exclude="*.rej" \
    --exclude="*.orig" --exclude="*.bak" --exclude=conf.php --exclude=documents  \
    ancien_rep nouveau_rep  > mypatch.patch
</source>
Ein ksh Skript, das diesen Befehl ausführt, ist im Verzeichnis '''build/patch''' verfügbar.
Senden Sie Ihren Patch auf der ML an die Adresse '''dolibarr-dev@nongnu.org'''.
Die Integration Ihres Patches kann zwar nicht garantiert werden, ebenso wenig wie die Zeit, aber wenn der Patch genau nach diesem Verfahren erstellt wird, ist die Wahrscheinlichkeit groß, dass er zumindest getestet wird (andernfalls ist die Wahrscheinlichkeit nahe 0).
 
''Unter Windows:'' [[Image:Logo_windows.png|20px]]
 
Wenn Sie unter Windows arbeiten, ist eine ''weniger prominente Methode'', die aber zum gleichen Ergebnis führt, die folgende. Installieren Sie das ausgezeichnete Open-Source-Vergleichstool Winmerge, das Patches im Format ''diff -Naur'' erstellen kann. Vergleichen Sie dazu mit Winmerge die Referenzdatei und die geänderte Datei und wählen Sie im Menü ''"Tools - Generate patch"'' (''Retuschen erzeugen'' in der deutschen Version). Geben Sie einen Dateinamen wie ''"resultat.patch"'' ein, aktivieren Sie das Kästchen ''"Append"'' und wählen Sie die Option ''"Format Unified"'' (''Stil: vereinheitlicht'' in der deutschen Version). Klicken Sie auf ''"Ok"''.
Wiederholen Sie dies eventuell für jede geänderte Datei.
Am Ende erhalten Sie eine schöne Datei ''result.patch'', die alle Änderungen im richtigen Format enthält.
 
''Testen/Anwenden eines Patches''.
 
Um eine Patch-Datei auf eine unveränderte Version anzuwenden, damit die in der Patch-Datei beschriebenen Änderungen übernommen werden, können Sie das Dienstprogramm '''patch''' verwenden.
Angenommen, Sie haben ein Verzeichnis mit den Quellen einer unveränderten Version von Dolibarr auf einem Server. Um den Patch anzuwenden, legen Sie ihn in das Stammverzeichnis von Dolibarr und führen den Befehl aus:
<source lang="bash">
patch -u -p0 -d . < monfichier.patch
</source>
<nowiki>Zu Ihrer Information: -p0 verwendet den gesamten Pfad, wie er in der Patch-Datei angegeben ist, um die zu ändernden Dateien in Ihrem Quellbaum zu finden (-pn entfernt die ersten n Ebenen des Baums).
-d erlaubt es, den relativen Pfad zu dem zu patchenden Ordner anzugeben.
< ermöglicht es, den Pfad zu der zu verwendenden Quelldatei anzugeben (der Patch muss im einheitlichen Format vorliegen).
-u ermöglicht die Angabe, dass der Patch im vereinheitlichten Format vorliegt</nowiki>


*If you have Yoda grade (See [[Developer FAQ#How to be an official developer]] for information on different grade), you have a direct GIT write access. So just use it to commit your changes.
''Patch per E-Mail versenden''


*Because you probably don't have this role (your grade is [[Developer FAQ#Soldier|Jedi]] or [[Developer FAQ#Soldier|Admiral]] or [[Developer FAQ#Soldier|Soldier]]), it is necessary to use the "Fork" feature of GitHub. Then you can make a "Pull Request" from GitHub to ask to have your patch merged into develop branch. More information on [[FAQ_Get,update_GIT_project_sources]] and https://github.com/Dolibarr/dolibarr/blob/develop/.github/CONTRIBUTING.md
Sobald Ihre Patch-Datei erstellt und erfolgreich getestet wurde, können Sie sie an die Entwickler-Mailingliste '''dolibarr-dev''' von Dolibarr senden (Sehen Sie hier dafür {{TemplateURLMLDev}}).
Diese Mailingliste wird von allen Hauptentwicklern gelesen, aber wir können nicht garantieren, dass der Patch aufgenommen wird, das hängt von seiner Qualität und den anderen aktuellen Entwicklungsprioritäten ab.


=How to package and deploy a module=
=Wie man ein Modul verpackt und einsetzt=
See page [[Module development]].
Siehe Seite [[Module development|Modulentwicklung]].


This process works also to generate a package to submit it on the https://www.dolistore.com market place.
Dieser Prozess funktioniert auch, um ein Paket zu erstellen und es auf dem Marktplatz https://www.dolistore.com einzureichen.


=How to be informed on news and what happens on Dolibarr project ?=
=Wie kann man über Neuigkeiten und Entwicklungen im Dolibarr-Projekt informiert werden?=
See page [[FAQ How to be informed on news about Dolibarr project ?]]
Siehe [[FAQ How to be informed on news about Dolibarr project ?| FAQ-Seite Wie kann ich über Neuigkeiten zu Dolibarr informiert werden?]]


=Migration einer MySQL Datenbank zu PostgreSQL=
=Migration einer MySQL Datenbank zu PostgreSQL=
See page [[FAQ Migrate my Mysql database to PostgreSQL]]
See page [[FAQ Migrate my Mysql database to PostgreSQL]]


=What and how is the release process=
See page [[FAQ Release process]]
[[Category:FAQ DE]]
[[Category:FAQ DE]]

Latest revision as of 14:47, 19 January 2025


Diese Seite enthält einige Fragen und Antworten(FAQs) im Zusammenhang mit der Entwicklung von Dolibarr. Für Fragen und Antworten zur Nutzung besuchen Sie bitte die Seite FAQ Benutzer .


Wie man offizieller Entwickler wird

In der Galaxie des Dolibarr-Projekts gibt es mehrere Akteure mit unterschiedlichen Niveaus / Graden. Die Anzahl der Entwickler ist wichtig, so dass Beiträge und Änderungen kontrolliert und validiert werden müssen (sowohl für funktionale Bedürfnisse als auch für die Codierung). Aus diesem Grund ist der Schreibzugriff auf den Quellcode (GIT) begrenzt und wird durch eine Organisation geregelt, die im Folgenden beschrieben wird. Jeder Entwickler hat einen Rang, der sich nach dem Dienstalter und der Vergangenheit richtet. Der Grad der Autorisierung einer Person am Projekt steigt mit den Stufen der Beförderung im Grad.

Der Werdegang eines Dolibarr-Entwicklers durchläuft diese Stufen, die durch einen Titel klassifiziert werden, der Science-Fiction-Fans bekannt ist. Hier sind die Stufen. Es ist wichtig zu verstehen, dass diese Organisation den einzigen Zweck hat, die Qualität von Dolibarr zu verbessern, und es ist notwendig, dass sie rigoros angewendet wird.

Die Ränge der Mitwirkenden an der Dolibarr-Projekt, und was zu tun, um diesen Rang zu erreichen, sind in Seite Dolibarr-Projekt im Kapitel Entwickler Rollen definiert.

Das aktuelle Entwickler-Team

Auf der Seite Dolibarr-Projekt finden Sie eine Liste der Personen, die derzeit an Dolibarr arbeiten, mit ihrem aktuellen Dienstgrad.

Starte (d)eine Entwicklung

Lesen Sie die Entwicklerdokumentation vollständig durch, um alle Regeln und Grundsätze, die Entwicklern auferlegt werden, zu verinnerlichen. Sie können auch die folgenden FAQs lesen

Abrufen/Aktualisieren von Projektquellen

Siehe die Seite FAQ Projektquellen abrufen und aktualisieren.

Wie man eine neue Benutzeroberfläche erstellt (Skin/Theme)

Siehe hierzu die Seite Skins

Wie entwickle ich mein eigenes Modul

Um ein eigenes Nummerierungsmodul zu entwickeln, siehe Nummerierungsmodul erstellen.

Um eine eigene Dokumentvorlage, PDF oder eine sonstige Vorlage zu entwickeln, siehe PDF-Dokumentvorlage erstellen oder ODT-Dokumentvorlage erstellen.

Um ein ganzes Funktionsmodul (Bildschirme, Tabellen) zu entwickeln, siehe dazu die Seite Modulentwicklung.

Wie man eine Übersetzung hinzufügt oder verändert.

Siehe dazu die Seite Übersetzer-Dokumentation.

Mein Rechnungsnummerierungssystem im laufenden Betrieb ändern

Wenn das neue Nummerierungssystem nicht mit dem alten kollidiert, können Sie die Nummerierungsregel ändern, indem Sie das Menü Einstellungen - Module/Anwendungen - Rechnungen aufrufen und und nehmen Sie eine neue Vorlage aus der Liste.

Wenn das neue System einen Konflikt verursacht, müssen Sie Ihre bestehenden Referenzen neu nummerieren. Dies kann mit einer SQL-Abfrage geschehen. Um beispielsweise von Jupiter (FYYYYMM99) to Terre (FAYYMM-999)

If the new rule can create conflicts with old one, it will be necessary to rename old existing references. This can be done by a SQL request. For example, to go from numbering module Jupiter (FYYYYMM99) to Terre (FAYYMM-999), zu wechseln, können Sie die folgende Abfrage ausführen:

update llx_facture set facnumber=concat('FA',substr(facnumber,4,4),'-',substr(facnumber,8))
where facnumber like 'F%' and facnumber not like 'FA%';

For example, to rename references from model FAYYMM999 to Terre (FAYYMM-999), you can run the following request:

update llx_facture set facnumber=concat('FA',substr(facnumber,3,4),'-',substr(CONCAT('0000',substr(facnumber,7)),-4))
where facnumber like 'FA%' and facnumber not like '%-%';

Einen Patch, eine Verbesserung einreichen oder an der Entwicklung teilnehmen

Wenn Sie herausfinden möchten, wie Sie mit der Entwicklung von Dolibarr beginnen oder dazu beitragen können, lesen Sie das Kapitel FAQ_Entwickler#Wie werde ich offizieller Entwickler. Wenn Ihr Patch bereits fertig ist und Sie ihn verbreiten wollen, ist dieses Kapitel für Sie.

Mit einem GitHub-Konto

Der Zugang zur Hinterlegung von Lesequellen ist öffentlich. Das Einreichen von Beiträgen hängt jedoch von Ihrer Stufe im Projekt ab.

  • Wenn du einen (äußerst seltenen) Yoda-Rang und damit direkten Schreibzugriff auf das Referenzrepository hast, nutze ihn
FAQ Développeur - Offizieller Entwickler werden für die verschiedenen Dienstgrade).
  • Wenn du keinen direkten Schreibzugriff auf das Referenz-Repository hast (dein Rang ist also Jedi oder Admiral oder Soldier), dann musst du GitHub benutzen, indem du das Repository auf deinem Konto "forkest" und dann einen « Pull Request » von deinem Zweig auf das Haupt-Repository stellst. Dies ist die sauberste und leistungsfähigste empfohlene Methode. Siehe für weitere Informationen die Seite https://wiki.dolibarr.org/index.php/FAQ_Get,update_GIT_project_sources
Anmerkung: Wenn Sie mit dem GIT-Tool nicht vertraut sind und Ihre Änderung klein ist (eine oder zwei Dateien), können Sie die Datei einfach online bearbeiten, indem Sie über das GitHub-Webinterface auf Ihr GitHub-Konto und Ihr "Forkiertes" Repository zugreifen. Sobald Sie die Änderung vorgenommen haben, können Sie die Funktion Submit Pull Request verwenden, um sie dem Projekt vorzuschlagen. Ein Validator wird sie dann mühelos integrieren, sofern sie zulässig ist.
  • Das folgende Verfahren bleibt eine technisch mögliche Alternative, wird aber nur noch für sehr kleine Änderungen praktiziert...

ohne GitHub-Konto

Ohne GitHub-Konto ist es notwendig, Ihre Patch-Datei zu erstellen und per E-Mail an die Entwickler-Mailingliste dolibarr-dev zu schicken (siehe hier {TemplateURLMLDev}}). Hier ist das Verfahren zum Erzeugen einer Patch-Datei:

Unter jedem OS:      

Hier ist die Pro-Methode, nach der Sie arbeiten müssen, um eine solche Patch-Datei erzeugen zu können:

- Ein Verzeichnis haben, das die Referenzversion von Dolibarr enthält (Ergebnis des GIT-Updates oder einfach die Baumstruktur, die sich aus dem Entpacken eines tgz-Snapshots von Dolibarr ergibt). Wir werden dieses Verzeichnis alte_rep nennen. Sie können den Snapshot der aktuellen Dev-Version auf der offizielle Dolibarr-Website - Downloadbereich - Entwicklungsversion abrufen.

- Ein weiteres Verzeichnis haben, das den Baum von Dolibarr enthält, in dem Sie aber Ihre Änderungen vornehmen oder vorgenommen haben. Wir werden dieses Verzeichnis new_rep nennen.

Um die Patch-Datei zu erzeugen, müssen Sie dann nur den Befehl diff (unter Linux Standard, unter Windows in cygwin bereitgestellt) wie folgt ausführen:

diff -BNaur --exclude=CVS --exclude="*.patch" --exclude=".#*" --exclude="*~" --exclude="*.rej" \
     --exclude="*.orig" --exclude="*.bak" --exclude=conf.php --exclude=documents  \
     ancien_rep nouveau_rep  > mypatch.patch

Ein ksh Skript, das diesen Befehl ausführt, ist im Verzeichnis build/patch verfügbar. Senden Sie Ihren Patch auf der ML an die Adresse dolibarr-dev@nongnu.org. Die Integration Ihres Patches kann zwar nicht garantiert werden, ebenso wenig wie die Zeit, aber wenn der Patch genau nach diesem Verfahren erstellt wird, ist die Wahrscheinlichkeit groß, dass er zumindest getestet wird (andernfalls ist die Wahrscheinlichkeit nahe 0).

Unter Windows:  

Wenn Sie unter Windows arbeiten, ist eine weniger prominente Methode, die aber zum gleichen Ergebnis führt, die folgende. Installieren Sie das ausgezeichnete Open-Source-Vergleichstool Winmerge, das Patches im Format diff -Naur erstellen kann. Vergleichen Sie dazu mit Winmerge die Referenzdatei und die geänderte Datei und wählen Sie im Menü "Tools - Generate patch" (Retuschen erzeugen in der deutschen Version). Geben Sie einen Dateinamen wie "resultat.patch" ein, aktivieren Sie das Kästchen "Append" und wählen Sie die Option "Format Unified" (Stil: vereinheitlicht in der deutschen Version). Klicken Sie auf "Ok". Wiederholen Sie dies eventuell für jede geänderte Datei. Am Ende erhalten Sie eine schöne Datei result.patch, die alle Änderungen im richtigen Format enthält.

Testen/Anwenden eines Patches.

Um eine Patch-Datei auf eine unveränderte Version anzuwenden, damit die in der Patch-Datei beschriebenen Änderungen übernommen werden, können Sie das Dienstprogramm patch verwenden. Angenommen, Sie haben ein Verzeichnis mit den Quellen einer unveränderten Version von Dolibarr auf einem Server. Um den Patch anzuwenden, legen Sie ihn in das Stammverzeichnis von Dolibarr und führen den Befehl aus:

patch -u -p0 -d . < monfichier.patch

Zu Ihrer Information: -p0 verwendet den gesamten Pfad, wie er in der Patch-Datei angegeben ist, um die zu ändernden Dateien in Ihrem Quellbaum zu finden (-pn entfernt die ersten n Ebenen des Baums). -d erlaubt es, den relativen Pfad zu dem zu patchenden Ordner anzugeben. < ermöglicht es, den Pfad zu der zu verwendenden Quelldatei anzugeben (der Patch muss im einheitlichen Format vorliegen). -u ermöglicht die Angabe, dass der Patch im vereinheitlichten Format vorliegt

Patch per E-Mail versenden

Sobald Ihre Patch-Datei erstellt und erfolgreich getestet wurde, können Sie sie an die Entwickler-Mailingliste dolibarr-dev von Dolibarr senden (Sehen Sie hier dafür https://savannah.nongnu.org/mail/?group=dolibarr). Diese Mailingliste wird von allen Hauptentwicklern gelesen, aber wir können nicht garantieren, dass der Patch aufgenommen wird, das hängt von seiner Qualität und den anderen aktuellen Entwicklungsprioritäten ab.

Wie man ein Modul verpackt und einsetzt

Siehe Seite Modulentwicklung.

Dieser Prozess funktioniert auch, um ein Paket zu erstellen und es auf dem Marktplatz https://www.dolistore.com einzureichen.

Wie kann man über Neuigkeiten und Entwicklungen im Dolibarr-Projekt informiert werden?

Siehe FAQ-Seite Wie kann ich über Neuigkeiten zu Dolibarr informiert werden?

Migration einer MySQL Datenbank zu PostgreSQL

See page FAQ Migrate my Mysql database to PostgreSQL