Online-editor

Overzicht

Met de online editor kunt je de broncode van jouw builds vanuit een webbrowser bewerken. Het geeft je ook de mogelijkheid om terminals, Python-consoles, Odoo Shell-consoles en Notebooks te openen.

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

Je kunt de editor van een build bereiken via :ref:`de branches-tabbladen<odoosh-gettingstarted-branches-tabs> `, :ref:`het vervolgkeuzemenu met builds<odoosh-gettingstarted-builds-dropdown-menu> ` of door /odoo-sh/editor toe te voegen aan jouw build-domeinnaam (bijvoorbeeld https://odoo-addons-master-1.dev.odoo.com/odoo-sh/editor).

Bewerk de broncode

De werkmap bestaat jeit de volgende mappen:

.
├── 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

Je kunt de broncode (bestanden onder /src) bewerken in ontwikkelings- en staging-builds.

Notitie

Jouw wijzigingen worden niet doorgevoerd in een nieuwe build; je moet ze in jouw broncode vastleggen als je ze wilt behouden.

Voor productiebuilds is de broncode alleen-lezen, omdat het toepassen van lokale wijzigingen op een productieserver geen goede gewoonte is.

Om een bestand in de editor te openen, dubbelklikt je erop in het bestandsbrowserpaneel aan de linkerkant.

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

Je kunt dan beginnen met het aanbrengen van jouw wijzigingen. Je kunt jouw wijzigingen opslaan met het menu :menuselectie:`Bestand --> Opslaan .. Bestand` of door op de sneltoets Ctrl+S te drukken.

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

Als je een Python-bestand opslaat dat zich onder het pad van jouw Odoo-server-add-ons bevindt, zal Odoo het detecteren en automatisch opnieuw laden, zodat jouw wijzigingen onmiddellijk worden doorgevoerd, zonder dat je de server handmatig opnieuw hoeft op te starten.

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

Als de wijziging echter betrekking heeft op gegevens die zijn opgeslagen in de database, zoals het label van een veld of een weergave, moet je de overeenkomstige module bijwerken om de wijziging toe te passen. Je kunt de module van het momenteel geopende bestand bijwerken via het menu :menuselectie:`Odoo --> Update huidige module`. Houd er rekening mee dat het bestand dat als momenteel geopend wordt beschouwd, het bestand is dat in de teksteditor is gemarkeerd, en niet het bestand dat in de bestandsbrowser is gemarkeerd.

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

Je kunt ook een terminal openen en de opdracht jeitvoeren:

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

Commit & Push jouw wijzigingen

Je hebt de mogelijkheid om jouw wijzigingen vast te leggen en naar jouw Github-repository te pushen.

  • Open een terminal (:menuselectie:`Bestand --> Nieuw --> Terminal`),

  • Verander de directory naar ~/src/user met cd ~/src/user,

  • Stage jouw wijzigingen met behulp van git add,

  • Leg jouw wijzigingen vast met git commit,

  • Push jouw wijzigingen met :code:`git push https HEAD:<branch> `.

In dit laatste commando,

  • https is de naam van jouw HTTPS Github externe repository (bijvoorbeeld https://github.com/username/repository.git),

  • HEAD is de verwijzing naar de laatste revisie die je hebt vastgelegd,

  • <branch>moet worden vervangen door de naam van de branch waarnaar je de wijzigingen wilt pushen, hoogstwaarschijnlijk de huidige branch als je in een ontwikkelingsbuild werkt.

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

Notitie

De SSH Github-afstandsbediening wordt niet gebruikt omdat jouw persoonlijke SSH-sleutel niet wordt gehost in jouw build-containers (vanwege duidelijke veiligheidsproblemen) en ook niet wordt doorgestuurd via een SSH-agent (aangezien je deze editor opent via een webbrowser) en je zich daarom niet kunt authenticeren bij Github met behulp van SSH. Je moet de HTTPS-afstandsbediening van je Github-repository gebruiken om je wijzigingen door te voeren, die automatisch worden toegevoegd met de naam https in je Git-afstandsbedieningen. Jij wordt gevraagd jouw Github-gebruikersnaam en wachtwoord in te voeren. Als je de tweefactorauthenticatie op Github hebt geactiveerd, kun je een `persoonlijk toegangstoken maken <https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/ >`_ en gebruik het als wachtwoord. Het verlenen van de repo toestemming is voldoende.

Notitie

De Git bronmap ~/src/user wordt niet uitgecheckt op een branch maar eerder op een losse revisie: Dit komt omdat builds werken op specifieke revisies in plaats van op branches. Met andere woorden, dit betekent dat je meerdere builds op dezelfde branch kunt hebben, maar op verschillende revisies.

Zodra jouw wijzigingen zijn gepusht, volgens jouw :ref:`branch push-gedrag<odoosh-gettingstarted-branches-tabs-settings> ‘, kan er een nieuwe build worden gemaakt. Je kunt doorgaan met werken in de editor van waaruit je hebt gepusht, omdat deze dezelfde revisie zal hebben als de nieuwe build die is gemaakt, maar zorg er altijd voor dat je in een editor zit van een build die de laatste revisie van je branch gebruikt.

Consoles

Je kunt Python-consoles openen, dit zijn IPython interactieve shells. Een van de meest interessante toevoegingen om een Python-console te gebruiken in plaats van een IPython-shell binnen een terminal is de rich display <https://ipython.readthedocs.io/en/stable/config/integrating.html#rich-display> _ mogelijkheden. Hierdoor kunt je objecten in HTML weergeven.

Je kunt bijvoorbeeld cellen van een CSV-bestand weergeven met pandas.

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

Je kunt ook een Odoo Shell-console openen om te spelen met het Odoo-register en de modelmethoden van jouw database. Je kunt ook direct in jouw administratie lezen of schrijven.

Waarschuwing

In een Odoo Console worden transacties automatisch vastgelegd. Dit betekent bijvoorbeeld dat wijzigingen in records effectief worden doorgevoerd in de database. Als je de naam van een gebruiker wijzigt, wordt de naam van de gebruiker ook in jouw database gewijzigd. Daarom moet je Odoo-consoles zorgvuldig gebruiken op productiedatabases.

Je kunt env gebruiken om modellen van jouw databaseregister op te roepen, b.v. env['res.users'].

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

De klasse Pretty geeft je de mogelijkheid om eenvoudig lijsten en dictaten op een mooie manier weer te geven, met behulp van de rich display hierboven vermeld.

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

Je kunt ook pandas gebruiken om grafieken weer te geven.

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