Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03421.jsonl.gz/554

J)
JavaScript Module
Javascript hat keine eingebauten Module. Als Folge davon werden Variablen, die in verschiedenen Dateien definiert sind, alle miteinander vermischt und können zu Konflikten führen. Das Odoo-Rahmenwerk verwendet ein solches Muster zur Definition von Modulen innerhalb von Web-Addons, um sowohl den Namespace-Code als auch die korrekte Reihenfolge seiner loading.oepetstore/static/js/petstore.js enthält eine Moduldeklaration: Im Odoo-Web werden Module als Funktionen deklariert, die auf die globale Variable odoo gesetzt werden. Wenn der Web-Client Ihr Modul lädt, ruft er die Root-Funktion auf und stellt zwei Parameter zur Verfügung:
- Der erste Parameter ist die aktuelle Instanz des Odoo-Web-Clients; er ermöglicht den Zugriff auf verschiedene vom Odoo definierte Funktionen (Übersetzungen, Netzwerkdienste) sowie auf Objekte, die vom Kern oder von anderen Modulen definiert werden.
- Der zweite Parameter ist Ihr eigener lokaler Namensraum, der automatisch vom Web-Client erstellt wird. Objekte und Variablen, auf die von außerhalb Ihres Moduls zugegriffen werden sollte (entweder weil der Odoo-Webclient sie aufrufen muss oder weil andere sie vielleicht anpassen wollen), sollten innerhalb dieses Namensraums gesetzt werden.
JSON-RPC-Bibliothek
Das folgende Beispiel ist ein Python-3-Programm, das mit einem Odoo-Server mit den Standard-Python-Bibliotheken urllib.request und json interagiert. Dieses Beispiel setzt voraus, dass die Produktivitätsanwendung (Hinweis) installiert ist. Es gibt eine Reihe von High-Level-APIs in verschiedenen Sprachen für den Zugriff auf Odoo-Systeme, ohne explizit XML-RPC oder JSON-RPC zu verwenden.