Odoo Community Talks
31 Januar, 2023 durch
Odoo Community Talks
Intero Technologies GmbH

Die Speaker der Odoo Experience 2022 gaben aufschlussreiche Einblicke in anstehende Veränderungen in Odoo 16 - Lesen Sie hier, wie Odoo Addons aus UML heraus generiert werden können oder wie Odoo ORM phytonischer gestaltet werden kann.

Odoo Addons direkt aus UML heraus generieren

Im Zuge der Community Talks bei der Odoo Experience 2022 stellte A. D. Sembiring, der CEO von Vitraining, eine Erweiterung für das UML-Werkzeug StarUML vor. Mit diesem ist es künftig möglich ein neues Addon für Odoo direkt aus einem UML Diagramm heraus zu erzeugen. Unter Angabe der jeweiligen Klassen und Eigenschaften können schnell neue Datenmodelle und deren Felder erzeugt werden. Die Eigenschaften der Felder lassen sich dabei über eine Tuple Notation festlegen. Über die Kardinalitäten lassen sich auch relationale Felder abbilden. Mit den privaten Attributen wie _name oder _inherit lassen sich Vererbungen wie gewohnt abbilden. Neben der Datenstruktur erstellt die Erweiterung automatisiert neue Menüeinträge, Aktionen und Ansichten.

Doch Achtung: Es wird ein neues Addon erzeugt, welches dann aus 2 Modulen besteht. Hintergrund ist, dass Änderungen, die an der grundlegenden Datenstruktur vorgenommen werden, mit vorhandenen Logiken zusammengeführt werden. Im ersten der zwei Module, dem Hauptmodul, wird die Datenstruktur sowie die Templates für die UI angelegt. In dem zweiten, dem Erweiterungsmodul, können dann diverse Logiken oder Ähnliches programmiert werden. Sollte sich etwas an der Basis-Datenstruktur ändern, kann mit der StarUML-Erweiterung das Addon neu generiert und nur das Basismodul ersetzt werden. Beispiele für eine solche Implementation stellt Sembiring auf GitHub unter folgendem Link zur Verfügung: https://github.com/akhdaniel/staruml-odoo-lite

Verwaltung von sensiblen Kundendaten

Im Talk von Speaker B. Geoffroy wurde auf die Problematik eingegangen, dass nicht anonymisierte Daten im vollen Umfang benötigt werden könnten, während es beispielsweise für Investoren nötig ist diese Daten anonymisiert, jedoch nicht pseudonymisiert zu erhalten. Als Beispiel wurde ein Gesundheits-Startup aufgeführt.

Für eine Klinik wäre es wichtig, dass zertifiziert werden kann, ob die Daten nicht korrumpiert sind, während Investoren validieren müssen, welchen Wert die Daten haben. Die Anonymisierung sollte mittels einer Block-Chain abgebildet werden. Dazu gab Speaker Geoffroy zunächst einen Überblick über die Architektur, ihre Prinzipien und dessen Aufgaben. Im gezeigten Beispiel konnten die Daten über eine API abgefragt werden, welche als Authentifizierung einen Verifyer, also einen authentifizierten Dritten, nutzen. Dabei wird bei der Abfrage über die API das Proof-of-authority genutzt um zu ermöglichen, dass Daten in einem größeren Umfang abgefragt werden können.

Idiomatic Odoo ORM

Was könnte die Entwicklung in Odoo angenehmer gestalten? Mit dieser Frage im Hinterkopf überlegte auch Speaker S. Bidoul bei der Odoo Experience, welche Möglichkeiten es gibt um das Odoo ORM pythonischer zu gestalten. Seit der Version 3.6 von Python ist es möglich auch statische Typanmerkungen im Code zu hinterlegen. Dies bringt besonders Vorteile für die Dokumentation, die Nutzung, Überprüfungstools oder die Autovervollständigung angeht.

Bidoul zeigte auf, dass es ausreichen kann, in der Instanziierung von Datenmodellen das Environment sowie im Itemgetter von diesem das Basis Modell über die Typisierung anzugeben, damit eine Autovervollständigung ermöglicht werden kann. Diese geht dann erst einmal nur vom Basis Modell aus.

Ein ähnliches Prinzip ist bei den Basis Methoden zu finden. Ein browse() gibt beispielsweise ein Recordset zurück. Hier wären unter anderem Vorschläge für die auf dem Datenmodell vorhandenen Felder nützlich. Um dies zu erreichen wurde das jeweilige Datenmodell (nicht erbend) importiert und mit dem im Environment gespeicherten Modell instanziiert. Doch was ist mit den Feldern aus einem erbenden Modell? Dazu wurde aufgeführt die Odoo Vererbung auf den klassischen Python Vererbungssyntax umzustellen und mit Parametern das Verhalten der Odoo Vererbung zu steuern. So würde eine IDE auch Felder von erbenden Datenmodellen erkennen können.

Auch bei relationalen Feldern würde ähnlich vorgegangen werden, in dem das Comodell als Typisierung angegeben wird. Doch dies ist nur ein kleiner Teil des gesamten ORM. Ob und wenn wie eine solche Implementation im Odoo ORM aussehen könnte, bleibt abzuwarten.

Jetzt kostenlose Odoo Beratung anfordern!


Rufen Sie uns an unter 03831 44557 0 oder nutzen Sie das Kontaktformular.

Odoo Beratung anfordern

in Odoo