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.
Wir verwenden Cookies, um Ihnen ein besseres Nutzererlebnis zu bieten.