Online-Editor

Übersicht

Mit dem Online-Editor können Sie den Quellcode Ihrer Builds über einen Webbrowser bearbeiten. Er bietet Ihnen auch die Möglichkeit, Terminals, Python-Konsolen, Odoo-Shell-Konsolen und Notebooks zu öffnen.

../../../_images/interface-editor.png

Sie können den Editor eines Builds über die Zweig-Reiter, das Drop-down-Menü für Builds oder durch Hinzufügen von /odoo-sh/editor zu Ihrem Build-Domainnamen (z. B. https://odoo-addons-master-1.dev.odoo.com/odoo-sh/editor) aufrufen.

Den Quellcode bearbeiten

Das Arbeitsverzeichnis setzt sich aus den folgenden Ordnern zusammen:

.
├── home
│    └── odoo
│         ├── src
│         │    ├── odoo                Odoo Community source code
│         │    │    └── odoo-bin       Odoo server executable
│         │    ├── enterprise          Odoo Enterprise source code
│         │    ├── themes              Odoo Themes source code
│         │    └── user                Your repository branch source code
│         ├── data
│         │    ├── filestore           database attachments, as well as the files of binary fields
│         │    └── sessions            visitors and users sessions
│         └── logs
│              ├── install.log         Database installation logs
│              ├── odoo.log            Running server logs
│              ├── update.log          Database updates logs
│              └── pip.log             Python packages installation logs

Sie können den Quellcode (Dateien unter /src) in Entwicklungs- und Staging-Builds bearbeiten.

Bemerkung

Ihre Änderungen werden nicht auf ein neues Build übertragen. Sie müssen sie in Ihrem Quellcode festlegen, wenn sie bestehen bleiben sollen.

Bei Produktions-Builds ist der Quellcode schreibgeschützt, da die Anwendung lokaler Änderungen auf einem Produktionsserver keine gutes Verfahren ist.

Um eine Datei im Editor zu öffnen, doppelklicken Sie einfach auf die Datei im Dateibrowser auf der linken Seite.

../../../_images/interface-editor-open-file.png

Sie können dann mit Ihren Änderungen beginnen. Sie können Ihre Änderungen mit dem Menü Datei ‣ Speichern … Datei oder durch Drücken der Tastenkombination Strg+S speichern.

../../../_images/interface-editor-save-file.png

Wenn Sie eine Python-Datei speichern, die sich in Ihrem Add-ons-Pfad des Odoo-Servers befindet, wird Odoo diese Datei erkennen und automatisch neu laden, sodass Ihre Änderungen sofort übernommen werden, ohne dass Sie den Server manuell neu starten müssen.

../../../_images/interface-editor-automaticreload.gif

Handelt es sich bei der Änderung jedoch um in der Datenbank gespeicherte Daten, wie z. B. die Beschriftung eines Feldes oder einer Ansicht, müssen Sie ein Update für das entsprechende Modul durchführen, um die Änderung anzuwenden. Sie können das Modul der aktuell geöffneten Datei aktualisieren, indem Sie das Menü Odoo ‣ Aktuelles Modul aktualisieren verwenden. Beachten Sie, dass die Datei, die als aktuell geöffnet gilt, die im Texteditor fokussierte Datei ist, nicht die im Dateibrowser markierte Datei.

../../../_images/interface-editor-update-current-module.png

Sie können auch einen Terminal öffnen und den Befehl ausführen:

$ odoo-bin -u <comma-separated module names> --stop-after-init

Ihre Änderungen festsetzen und übertragen

Sie haben die Möglichkeit, Ihre Änderungen festzusetzen und sie auf Ihr Github-Repository zu übertragen.

  • Öffnen Sie ein Terminal (Datei ‣ Neu ‣ Terminal),

  • Ändern Sie das Verzeichnis mithilfe von cd ~/src/user zu ~/src/user,

  • Inszinieren Sie Ihre Änderungen mit git add,

  • Setzen Sie Ihre Änderungen mit git add fest,

  • Übertragen Sie Ihre Änderungen mit git push https HEAD:<branch>.

In diesem letzten Befehl

  • ist https der Name Ihres HTTPS-Github-Remote-Repository (z. B. https://github.com/username/repository.git),

  • ist HEAD die Referenz zur letzten Revision, die Sie übertragen haben,

  • muss <branch> durch den Namen des Zweigs ersetzt werden, in den Sie die Änderungen verschieben möchten, höchstwahrscheinlich der aktuelle Zweig, wenn Sie mit einem Entwicklungs-Build arbeiten.

../../../_images/interface-editor-commit-push.png

Bemerkung

Die SSH-Github-Remote wird nicht verwendet, da Ihr privater SSH-Schlüssel weder in Ihren Build-Containern gehostet (aus offensichtlichen Sicherheitsgründen) noch über einen SSH-Agenten weitergeleitet wird (da Sie auf diesen Editor über einen Webbrowser zugreifen) und Sie sich daher bei Github nicht per SSH authentifizieren können. Sie müssen die HTTPS-Remote Ihres Github-Repositorys verwenden, um Ihre Änderungen zu übertragen. Diese wird automatisch als https in Ihren Git-Remotes hinzugefügt. Sie werden aufgefordert, Ihren Github-Benutzernamen und Ihr Passwort einzugeben. Wenn Sie die Zwei-Faktor-Authentifizierung auf Github aktiviert haben, können Sie ein personal access token (persönliches Zugriffstoken) erstellen und dieses als Passwort verwenden. Die Erteilung der Berechtigung repo reicht aus.

Bemerkung

Der Git-Quellordner ~/src/user wird nicht auf einem Zweig geprüft, sondern auf einer abgetrennten Revision: Das liegt daran, dass Builds auf bestimmten Revisionen und nicht auf Zweigen arbeiten. Mit anderen Worten, das bedeutet, dass Sie mehrere Builds auf demselben Zweig, aber auf verschiedenen Revisionen haben können.

Sobald Ihre Änderungen übertragen wurden, kann gemäß Ihrem Zweig-Übetragungsverhalten ein neuer Build erstellt werden. Sie können in dem Editor weiterarbeiten, von dem aus Sie übertragen haben, da er dieselbe Revision hat wie der neu erstellte Build. Stellen Sie aber immer sicher, dass Sie sich in einem Editor eines Builds befinden, der die neueste Revision Ihres Zweigs verwendet.

Konsolen

Sie können Python-Konsolen öffnen, bei denen es sich um IPython interactive shells (interaktive IPython-Shells) handelt. Eine der interessantesten Ergänzungen zur Verwendung einer Python-Konsole anstelle einer IPython-Shell innerhalb eines Terminals sind die Fähigkeiten von rich display (reichhaltige Anzeige). Dank dieser können Sie Objekte in HTML anzeigen.

Sie können zum Beispiel Zellen einer CSV-Datei mit pandas anzeigen.

../../../_images/interface-editor-console-python-read-csv.png

Sie können auch eine Odoo-Shell-Konsole öffnen, um mit dem Odoo-Register und den Modellmethoden Ihrer Datenbank herumzuspielen. Sie können Ihre Datensätze auch direkt lesen oder beschreiben.

Warnung

In einer Odoo-Konsole werden Transaktionen automatisch bestätigt. Das bedeutet zum Beispiel, dass Änderungen an Datensätzen auch in der Datenbank wirksam werden. Wenn Sie den Namen eines Benutzers ändern, wird der Name des Benutzers auch in Ihrer Datenbank geändert. Daher sollten Sie Odoo-Konsolen in Produktionsdatenbanken mit Vorsicht verwenden.

Sie können env verwenden, um Modelle Ihres Datenbankregistrierung aufzurufen, z. B. env['res.users'].

env['res.users'].search_read([], ['name', 'email', 'login'])
[{'id': 2,
'login': 'admin',
'name': 'Administrator',
'email': 'admin@example.com'}]

Die Klasse Pretty gibt Ihnen die Möglichkeit, Listen und Verzeichnisse auf einfache Weise hübsch darzustellen, indem Sie die oben erwähnte rich display (reichhaltige Anzeige) verwenden.

../../../_images/interface-editor-console-odoo-pretty.png

Sie können pandas auch verwenden, um Grafiken anzuzeigen.

../../../_images/interface-editor-console-odoo-graph.png