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.
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.
Der Quellcode Ihres Github-Repository befindet sich unter /src/user,
Der Quellcode von Odoo befindet sich unter
/src/odoo (odoo/odoo),
/src/enterprise (odoo/enterprise),
/src/themes (odoo/design-themes).
Um eine Datei im Editor zu öffnen, doppelklicken Sie einfach auf die Datei im Dateibrowser auf der linken Seite.
Sie können dann mit Ihren Änderungen beginnen. Sie können Ihre Änderungen mit dem Menü
oder durch Drücken der Tastenkombination Strg+S speichern.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.
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ü
verwenden. Beachten Sie, dass die Datei, die als aktuell geöffnet gilt, die im Texteditor fokussierte Datei ist, nicht die im Dateibrowser markierte Datei.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 (
),Ä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.
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.
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.
Sie können pandas auch verwenden, um Grafiken anzuzeigen.