Inhaltsverzeichnis
-
Einführung
-
Die modulare Architektur von Dolibarr verstehen
-
Wann und warum sollte ein externes Modul erstellt werden?
-
Tools und Umgebungseinrichtung
-
Ordnerstruktur und Dateibenennungskonventionen
-
Erstellen der Moduldeskriptordatei
-
Implementieren von Hooks und Triggern
-
Verwenden der Kernklassen und APIs von Dolibarr
-
Integration mit vorhandenen Dolibarr-Funktionen
-
UI/UX-Richtlinien für nahtlose Integration
-
Verwalten von Berechtigungen und Zugriffskontrolle
-
Sprachdateiverwaltung und Übersetzungen
-
Sicherheitsüberlegungen während der Entwicklung
-
Handhabung von Upgrades und Kompatibilität
-
Testen Ihres Moduls: Manuell und automatisiert
-
Verpacken und Verteilen Ihres Moduls
-
Beitrag zum Dolibarr-Ökosystem
-
Fazit
1. Einleitung
Der Erfolg von Dolibarr als ERP- und CRM-System beruht auf seinem modularen Aufbau. Benutzer können die Kernfunktionalität von Dolibarr durch externe Module erweitern oder anpassen, ohne die Kerncodebasis zu verändern. Unabhängig davon, ob Sie eine branchenspezifische Erweiterung oder ein Feature-Plugin entwickeln, bietet dieser Leitfaden Best Practices für die Entwicklung wartungsfreundlicher, sicherer und benutzerfreundlicher externer Module für Dolibarr.
2. Die modulare Architektur von Dolibarr verstehen
Dolibarr ist erweiterbar. Jedes Modul arbeitet in seinem eigenen Namespace und Verzeichnis unter /htdocs/custom/ or /htdocs/module/.
Grundprinzipien:
-
Kapselung: Module sind in sich geschlossen.
-
Nicht-Aufdringlichkeit: Module sollten Kerndateien nicht ändern.
-
Wiederverwendbarkeit: Generische Logik sollte für die Wiederverwendung konzipiert werden.
Diese Architektur ermöglicht sichere Upgrades und eine kollaborative Entwicklung.
3. Wann und warum sollte ein externes Modul erstellt werden?
Sie sollten den Aufbau eines Moduls in Betracht ziehen, wenn:
-
Sie benötigen eine benutzerdefinierte Geschäftslogik, die im Dolibarr-Kern nicht enthalten ist.
-
Ihre Funktionen sind spezifisch für Ihr Unternehmen oder Ihre Branche.
-
Sie planen, Funktionen über Dolistore mit anderen zu teilen.
Vorteile:
-
Einfachere Wartung
-
Unabhängigkeit bei der Versionskontrolle
-
Potenzial für die Übernahme durch die Gemeinschaft
4. Tools und Umgebungseinrichtung
Empfohlene Werkzeuge:
-
PHP 7.4+ und MySQL
-
Apache/Nginx mit mod_rewrite
-
Eine lokale Dolibarr-Installation für die Entwicklung
-
Ein Versionskontrollsystem (Git)
Stelle den MAIN_MODULE_CUSTOMDIR in conf.php zeigen auf /htdocs/custom wenn Sie dort Module platzieren.
5. Ordnerstruktur und Dateibenennungskonventionen
Ihr Modul sollte dieser Struktur folgen:
/custom/mycustommodule/
├── class/
├── core/
├── lang/
├── modulebuilder.txt
├── modMycustommodule.class.php
├── mycustommodule.php
Regeln der Namensgebung:
-
Präfixieren Sie Dateien und Klassen mit Ihrem Modulnamen
-
Verwenden Sie Dateinamen in Kleinbuchstaben mit Unterstrichen
-
Klassendateien sollten dem Camel-Case-Format von Dolibarr folgen
6. Erstellen der Moduldeskriptordatei
modMycustommodule.class.php definiert Metadaten:
-
Modulname und -nummer
-
Version
-
Abhängigkeiten
-
Menüs und Berechtigungen
-
Auslöser und Haken
Das init Methode behandelt das Setup und remove kümmert sich um die Bereinigung.
7. Implementierung von Hooks und Triggern
Dolibarr ermöglicht Ihrem Modul die Interaktion mit Kernereignissen über:
-
Haken (UI-Ebene): Schaltflächen, Registerkarten hinzufügen oder Anzeigen überschreiben
-
Auslöser (Datenebene): Ausführen von Aktionen zum Erstellen, Aktualisieren und Löschen
Definieren Sie Haken in hook/ Verzeichnis und registrieren Sie sie in Ihrem Moduldeskriptor.
8. Verwenden der Kernklassen und APIs von Dolibarr
Nutzen Sie vorhandene Dolibarr-Klassen zur Handhabung von:
-
Rechnungen (
Facture) -
Dritte (
Societe) -
Produkte (
Product)
Verwenden Sie für externe Integrationen die REST-API oder erstellen Sie Ihre eigenen benutzerdefinierten Endpunkte.
9. Integration mit vorhandenen Dolibarr-Funktionen
Stellen Sie sicher, dass Ihr Modul mit Folgendem gut funktioniert:
-
Multicompany-Modul (prüfen Sie auf
conf->entity) -
Sprachmanagement (Verwendung
langs->trans()) -
Benutzerrechte (definieren Sie eindeutige Berechtigungen)
10. UI/UX-Richtlinien für nahtlose Integration
Respektieren Sie die visuellen Standards von Dolibarr:
-
Vorhandene CSS-Klassen verwenden
-
Integrieren Sie Registerkarten nach Möglichkeit in vorhandene Entitäten
-
Vermeiden Sie störende Designänderungen oder benutzerdefinierte Schriftarten
Sorgen Sie dafür, dass es sich wie ein natives System anfühlt.
11. Verwalten von Berechtigungen und Zugriffskontrolle
Ihr Modul sollte:
-
Definieren Sie Berechtigungsschlüssel im Deskriptor
-
Überprüfen Sie die Berechtigungen über
user->rights->mycustommodule->access -
Menüs und Schaltflächen für nicht autorisierte Benutzer ausblenden
Sorgen Sie für eine zentralisierte und konsistente Steuerungslogik.
12. Sprachdateiverwaltung und Übersetzungen
Sprachdateien sollten sich in folgenden Verzeichnissen befinden:
/langs/en_US/mycustommodule.lang
Nutzen Sie langs->load("mycustommodule") und Referenzstrings über langs->trans("MyLabel")
Dies unterstützt mehrsprachige Umgebungen und die Übersetzungs-Community von Dolibarr.
13. Sicherheitsüberlegungen während der Entwicklung
Bewährte Methoden für die Sicherheit:
-
Benutzereingaben bereinigen (
dol_htmlentities,GETPOST) -
Token-Verifizierung für Formulare verwenden
-
Escape-Ausgabe zum Verhindern von XSS
-
Schützen Sie interne Skripte mit Zugriffsprüfungen (
restrictedarea())
Vertrauen Sie niemals externen Datenquellen.
14. Handhabung von Upgrades und Kompatibilität
Entwerfen Sie Ihr Modul so, dass es die Versionsentwicklung bewältigen kann:
-
Bewahren Sie die Abwärtskompatibilität, wenn möglich
-
Nutzen Sie
module_versionFelder zur Verwaltung von Migrationen -
Integrieren Sie Upgrade-Skripte in Ihr Modul
Sorgen Sie dafür, dass Ihr Modul mit den letzten 2–3 Hauptversionen von Dolibarr kompatibel ist.
15. Testen Ihres Moduls: Manuell und automatisiert
Immer testen:
-
UI-Verhalten
-
Ausführung auslösen
-
Datenbankänderungen
-
Zugriffskontrolle
Erwägen Sie gegebenenfalls das Schreiben von PHPUnit-Tests. Verwenden Sie separate Testumgebungen.
16. Verpacken und Verteilen Ihres Moduls
So veröffentlichen Sie auf Dolistore:
-
Komprimieren Sie Ihren Modulordner ohne übergeordnetes Verzeichnis
-
Umfassen
README.mdkombiniert mit einem nachhaltigen Materialprofil.CHANGELOG.txt -
Stellen Sie Screenshots und Dokumentation bereit
Verwenden Sie die semantische Versionierung (1.0.0, 1.1.0) und pflegen Sie Änderungsprotokolle.
17. Beitrag zum Dolibarr-Ökosystem
Sie können:
-
Senden Sie Ihr Modul an Dolistore
-
Verbesserungen auf GitHub teilen
-
Nehmen Sie an Foren und IRC teil
-
Senden Sie Pull Requests für Kernverbesserungen
Durch das Feedback der Community werden sowohl Ihr Modul als auch Dolibarr selbst verbessert.
18. Fazit
Die Entwicklung externer Module ist der effektivste Weg, Dolibarr an die Bedürfnisse Ihres Unternehmens anzupassen und gleichzeitig die Upgrade-Fähigkeit und Stabilität zu gewährleisten. Die Einhaltung bewährter Methoden gewährleistet, dass Ihr Modul sauber, sicher und wartungsfreundlich ist. Da Dolibarr weiter wächst, werden gut entwickelte Module wichtige Treiber für seine Weiterentwicklung und Akzeptanz sein.
