The ultimate guide for a successful odoo-ERP-implementation   Free Download

Das Odoo Studio

CONSULTING

Das Odoo Studio

Das Odoo Studio ist Thema einer konstanten Diskussion, die wir führen. Die Applikation sieht gut aus, wird von Odoo natürlich konstant weiterentwickelt und zunehmend mehr vermarktet. Das Studio erscheint kinderleicht, die Videos dazu sehen super aus und wirken absolut überzeugend. Was aber spricht wirklich dafür und – wenn überhaupt – was spricht dagegen? Wann macht es Sinn – und wann macht es keinen Sinn?

Was kann das Studio?

Vielleicht klären wir diese Frage zuerst. Mit dem Studio kann man die Objektstruktur und somit auch die Datenbankstruktur nahezu fließend erweitern, indem neue Felder angelegt oder gleich komplett neue Inhalte und Zusammenhänge erschaffen werden. Darüber hinaus lassen sich Menüs und Masken ändern und ebenfalls neu anlegen. Dies beinhaltet auch die Veränderung von Dokumentvorlagen und Berichten.

Wie geschieht das?

Die Datenbankstruktur wird mehr oder weniger sofort erweitert. Hier sind Änderungen hauptsächlich dadurch sichtbar, dass Odoo der Bezeichnung ein „x_“ voranstellt.

Sobald man eine Ansicht erweitert, wird eine Vererbung angelegt – falls es sich um die Änderung einer Standardmaske handelt – und über eine „Xpath“-Funktion (siehe dazu https://en.wikipedia.org/wiki/XPath) umgeschrieben. Etwas simplifiziert bedeutet das, Odoo interpretiert das XML der jeweiligen Ansicht als komplette Zeichenkette, sucht das Feld und ersetzt die für die Definition verantwortliche Zeichenkette durch eine neue.

Schaut man sich ein von einem Menschen entwickeltes Modul an, so geschieht dies zwar ebenfalls, ist aber nicht der Regelfall. Ob solchermaßen angelegte Anpassungen Performanz-Einbußen mit sich bringen, kann ich nicht beurteilen. Sollte jedoch etwas schiefgegangen sein, und man ist auf den menschlichen Faktor angewiesen, um die Fehlerursache zu finden und zu bereinigen, dann wünsche ich diese Aufgabe niemandem. Schon bei kleineren Anpassungen ist dies eine Herausforderung, da das von Odoo generierte Ergebnis kaum transparent und damit sehr schlecht lesbar ist.

Doch natürlich ist dies allein noch kein Kriterium für ein „Aus“.

Das viel größere Problem ist auch hier, dass diese Änderungen direkt in die Datenbank geschrieben werden. Dies geschieht zwar in Form von Datensätzen und nicht als Strukturänderung, doch jeder Fehler hat direkte Auswirkungen auf die aktuelle Nutzung.

Was kann Odoo Studio demnach nicht?

Da die Änderungen direkt in die Datenbank geschrieben werden, kann das Studio solche Änderungen auf jeden Fall nicht versionieren. Das Anlegen von Tests und Revisionen ist jedoch ein wesentlicher Schritt in jedem Entwicklungsprozess. Es kommt immer wieder vor, dass nachgeprüft werden muss, was zu einer Änderung geführt hat bzw. wer die Änderung angelegt hat. Im schlechtesten Fall muss vielleicht sogar eine komplette Version zurückgenommen werden. Mit anderen Worten, ohne eine solche Struktur geht es nicht.

Auch wenn das Odoo Studio alle Änderungen in einem separaten Modul kapselt, bildet der Mensch meist mehrere Sinneinheiten innerhalb eines solchen Entwicklungsprozesses, nicht nur eine einzige. D.h., es endet nicht mit nur einem Add-on, sondern mit mehreren, die entweder ein Standardmodul ableiten und erweitern oder innerhalb eines größeren Entwicklungsschrittes auch hier, übergreifend über mehrere Standardmodule, eine komplette Einheit bilden. So behält man einfacher die Übersicht und muss auch nicht immer ein komplettes Paket hin- und herschieben, wenn es unterschiedliche Live- und Test-Systeme gibt, sondern immer nur das, das sich gerade in Arbeit befindet.

Denn wie schaut ein Entwicklungsschritt aus?

Eine Anforderung wird definiert und die Realisierung technisch genau spezifiziert. Dazu gehört etwa die Definition, welche Felder benötigt und welche Masken erweitert werden sollen bzw. was berechnet und somit automatisch vom System durchgeführt werden soll.

Dazu werden eine oder mehrere Aufgaben in einem Projekt Management angelegt. Es gibt eine Version innerhalb der Versionierung, von der alle wissen, dass sie sich aktuell in Produktion befindet. Nun wird hiervon ein Entwicklungszweig angelegt, in den die entsprechenden Änderungen einfließen. Diese durchlaufen entsprechende Tests auf unterschiedlichen Testsystemen und werden an einem bestimmten Punkt als „fertig für die Produktion“ bestimmt. Somit wird das Paket aufgespielt und die als Entwicklung bezeichnete Version zur Produktionsversion bestimmt und zusammengeführt. Das Zusammenführen ist notwendig, da sich womöglich nicht nur eine Anforderung in der Entwicklung befindet, sondern mehrere zur gleichen Zeit.

D.h., hier kommt man ohne Versionierung, Kapselung und Nachverfolgbarkeit keinen wirklichen Schritt weiter.

Wann macht es Sinn?

Wozu betreibt Odoo dann diesen Aufwand? Zum einen stellt sich Odoo vor, eine Lösung bzw. Plattform für kleine Unternehmen anzubieten. Hinzu kommt, dass Odoo keinen Branchenfokus haben soll. Als kleines Unternehmen sollte man auch mit dem Standard auskommen – denn wenn man die Kosten eines individualisierten Projektes betrachtet, sollte es immer eine Lösung geben. Doch natürlich bekommt mancher durchaus das Gefühl, dass man an einem gewissen Punkt eine Information mehr bräuchte oder dass es einfach hilfreicher wäre, wenn an einer anderen Stelle mehr angezeigt werden würde. Damit bei den Hosting-Kunden hier nicht der Weg sofort zu Ende ist und der Blutdruck steigt, ist das Odoo Studio womöglich tatsächlich eine gute Lösung.

Doch nicht nur dafür.

Steht man in der Umsetzung einer Realisierung größerer oder komplexerer Anforderungen, dann ist das Studio ein guter Ansatz dafür, dass ohne Programmierung ein Berater oder Projektleiter die Anforderung am nahezu lebenden Objekt skizzieren und visualisieren oder auch Auswirkungen auf einen Prozessfluss aufzeigen kann. D.h. heißt, für den Bau eines Prototyps, um ein gleiches Verständnis eines Sachverhalts aufzuzeigen oder einen Teil aus einem „Großen und Ganzen“ zu verdeutlichen, ist es ebenfalls fast ideal.

Fazit

Das Studio hat durchaus seine Berechtigung, doch zumindest aktuell ist es noch nicht das Allheilmittel, das jede Programmierung obsolet macht.


Meine persönlichen Erfahrungen

Abschließend möchte ich – nach meinen eigenen Erfahrungen im Umgang mit dem Studio aus dem „Prototypenbau“ – jedoch anmerken:

  • Fehlende Funktionen in Anwendungen: 
    Viele kleine Ösen-Funktionen innerhalb der Nutzung fehlen: Warum z.B. kann man zwar Felder innerhalb einer Gruppe verschieben, aber nicht Tabs in einem Karteireiter neu anordnen oder Gruppen an Feldern umordnen?
  • Angenehm performant empfinde ich anders.
  • Relationen sind nicht sehr intuitiv anzulegen.
  • Benötigte Felder: 
    Es wird immer ein Namensfeld gefordert, auch wenn keines benötigt wird oder keinen Sinn macht. Man kann es entfernen, aber stellt man dann fest, dass es doch gebraucht wird, ist es sehr schwierig, das Feld wieder hinzuzufügen
  • Fehlermeldungen: 
    Manchmal kommen kryptische Fehlermeldungen, was dann folgende Reaktion auslöst → „Entschuldigung, kann mir jemand erklären, was mir die Meldung sagen will und was ich falsch gemacht haben soll?“
  • JavaScript-Fehlermeldungen: 
    Man speichert und plötzlich funktioniert keine Maske mehr, und nichtssagende, beängstigend lange JavaScript-Fehlermeldungen werden ausgeworfen. Für den „normalen Benutzer“ wäre nun die Fahrt zu Ende. Der erfahrenere Anwender stellt sich die Frage: zerstöre ich meinen teuren Laptop? Gebe ich die Arbeit von Tagen oder Wochen auf? Investiere ich meine kostbare Lebenszeit darin, unverständliche Masken verstehen zu müssen, um nicht Option 1 oder 2 mit „Ja“ zu beantworten?

Aber Odoo wird hier gewiss eines nicht zu fernen Tages mit einer neuen Version auch eine Lösung für diese Probleme schaffen.


Was this article helpfull information to you? 
Would you mind to leave us a review of your experiences with openfellas?

​​​​​review openfellas




Talk to our experts.

We will find the solution best suited to you and your products!


REQUEST CONS​​​​ULTATION


Datev vs. Integrierte Buchhaltung
FINANCIAL SERVICES &  ACCOUNTING