Das schöne an Open Source Software ist ja, dass jeder seine eigene Wahl an Hand seiner eigenen Kriterien treffen kann. Wobei ich die angesprochenen Punkte grundsätzlich anders bewerte und gewichte.
Ja, die Hierarchien der Buchungskonten sind über id’s abgebildet. Das heisst aber nicht, dass zwischen anderen Objekten nicht aufwändigere Verlinkungen bestehen. Gerne einen Blick auf die ziemlich einzigartigen Funktionen des Moduls „Projekte“ werfen, das sich in der Praxis als extrem hilfreich erwiesen hat.
Abstraktion von Datenbankabfragen per ORM hat Vor- und Nachteile, für mich wäre es kein must have. Was die Sicherheit angeht: Das bestehende Bug-Bounty-Programm fördert nicht mehr viel Neues an Lücken zu Tage. Jeder neu committete Source-Code wird zudem einer zusätzlichen automatisierten Sicherheitsprüfung unterzogen. Und im laufenden Betrieb ist die Administrator-Ansicht von Dolibarr zu den detaillierten Sicherheitseinstellungen einschließlich konkreter Handlungsempfehlungen ziemlich einzigartig.
Zu Model und View: Wenn ich jedem Buchungskonto ein Icon zuordnen kann, muss ich den gewünschten Identifier des icons ja irgendwo in der Datenstruktur ablegen. Kann man sicher auch anders lösen, die genaue Umsetzung wäre jetzt nicht meine Prio.
Grundsätzlich finde ich persönlich Server-generierte html-Seiten, wie dies bei php-basierten Systemen der Fall ist, für ein ERP-System eine angemessene Technologie. Tryton nutzt den früheren/alternativen Ansatz des Fat/Rich Clients und hat dann irgendwann zusätzlich das Web-Frontend als quasi zweiten Client nachgelegt. Das sind zwei Clients, die zu pflegen sind und die Seiteninhalte müssen per XML und Templating erstellt werden, statt html zu nutzen. Kann man machen und je nach Vorerfahrung wird es da unterschiedliche Präferenzen geben.
Bei Tryton muss man sich halt an das etwas exotischere Tooling gewöhnen. Source-Verwaltung ist per Mercurial genauso gut möglich, wie mit Git, das aber viele Entwickler ohnehin beherrschen, ohne sich einarbeiten zu müssen. Von 16 Open Source ERP-Systemen ist Tryton zumindest das einzige, das auf Mercurial setzt.
Ansonsten kann man, wenn man strenge Source-Code-Regeln haben möchte, die sogar per Compiler geprüft werden, ja auch in Richtung Java schauen, und sich z.B. für Apache OfBiz entscheiden. Die Java-basierten Systeme haben dann nur u.a. den Nachteil, dass die Oberfläche entweder Swing-basiert ist und damit nicht/nur schwer auf einem Smartphone oder Tablet darstellbar ist. Oder es gibt einen JavaScript-basierten Client, der mit React oder Angular als Frameworks dann aber zusätzliche eigene Komplexitäten generiert.
Und noch etwas zur Modulerstellung: Mit dem in Dolibarr integrierten Modulgenerator, dem Konzept der Integration neuer Funktionen in das bestehende UI (z.B. mit zusätzlichen Tabs und Menüpunkten), dem System aus Hooks und Triggern und nicht zuletzt der einfachen Installation neuer Module per Knopfdruck ist Dolibarr m.M.n. bestens auf Erweiterbarkeit ausgerichtet. Ich wäre mir da nicht so sicher, dass der Anpassungsaufwand höher als bei den anderen Systemen ist - ganz im Gegenteil.
Am Ende zählen wie gesagt die persönlichen Präferenzen. Ich selbst habe bisher die meisten Erfahrungen mit Dolibarr gesammelt, auch wenn ich viele andere Systeme kenne. Es wäre daher interessant, später mal einen Erfahrungsbericht aus der Praxis zu bekommen, ob sich die Einschätzung geändert hat, nachdem das erste System installiert und das erst Modul entwickelt wurde. Am Ende kommt ein sportlicher Wettbewerb zwischen den Lösungen allen Open Source Systemen zugute.
In diesem Sinne viel Erfolg,
Joachim