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.
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.
De broncode van jouw Github-repository bevindt zich onder /src/user,
De broncode van Odoo bevindt zich onder
/src/odoo (odoo/odoo),
/src/enterprise (odoo/enterprise),
/src/themes (odoo/design-themes).
Om een bestand in de editor te openen, dubbelklikt je erop in het bestandsbrowserpaneel aan de linkerkant.
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.
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.
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.
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.
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.
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.
Je kunt ook pandas gebruiken om grafieken weer te geven.