Online editor

De weergave Online Editor stelt je in staat om de broncode van je builds te bewerken vanuit een webbrowser. Je kunt ook terminals, Python-consoles, Odoo-shellconsoles en Jupyter Notebooks openen.

Overzicht van de online editor

Je hebt toegang tot de editor van een build via het tabblad filialen, het vervolgkeuzemenu builds, of door /odoo-sh/editor toe te voegen aan de URL van de build (bv. https://odoo-addons-master-1.dev.odoo.com/odoo-sh/editor).

Broncode bewerken

De werkmap bestaat uit het volgende:

.
├── 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) van development- en stagingbuilds bewerken. Voor productiebuilds is de broncode alleen-lezen, omdat het toepassen van lokale wijzigingen op een productieserver geen goede praktijk is.

Notitie

Om een bestand in de editor te openen, dubbelklik je erop in het bestandsbrowserpaneel. Je kunt het bestand vervolgens bewerken. Om je wijzigingen op te slaan, ga je naar File ‣ Save of gebruik je de Ctrl+S toetsencombinatie.

Als je een Python-bestand opslaat in het addons-pad van je Odoo-server, detecteert Odoo dit en herlaadt automatisch, wat betekent dat je wijzigingen direct zichtbaar zijn.

Wijziging aan een Python-bestand die direct zichtbaar is

Als je wijzigingen echter in de database zijn opgeslagen, zoals het label van een veld of een weergave, is het nodig om de gerelateerde module bij te werken om de wijzigingen toe te passen. Om de module van het momenteel geopende bestand bij te werken, ga je naar Odoo ‣ Update current module.

De editor gebruiken om de huidige module bij te werken

Tip

Je kunt ook het volgende commando in een terminal uitvoeren om een module bij te werken:

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

Wijzigingen committen en pushen

Om wijzigingen naar je GitHub-repository te committen en te pushen:

  • Open een terminal door naar File ‣ New ‣ Terminal te gaan.

  • Verander de directory naar ~/src/user.

    cd ~/src/user
    
  • Vermeld je identiteit.

    git config --global user.email "you@example.com" && git config --global user.name "Your Name"
    
  • Zet je wijzigingen in de staging.

    git add
    
  • Commit je wijzigingen.

    git commit
    
  • Verstuur je wijzigingen.

    git push https HEAD:<branch>
    

    In deze opdracht:

    • https is de naam van je HTTPS GitHub remote repository (bv. https://github.com/gebruikersnaam/repository.git).

    • HEAD is de verwijzing naar de laatste revisie die je hebt gecommit.

    • <branch> moet worden vervangen door de naam van de branch waarnaar je de wijzigingen wilt versturen, waarschijnlijk de huidige branch als je aan een development build werkt.

Je wordt gevraagd om je GitHub-gebruikersnaam en wachtwoord in te voeren. Voer je inloggegevens in en druk op enter.

De opdrachten om wijzigingen te committen en te versturen

Tip

Als je tweefactorauthenticatie activeert voor je GitHub-rekening, kun je een persoonlijk toegangstoken aanmaken en dit als wachtwoord gebruiken. De repo-toestemming verlenen is voldoende.

Notitie

  • Het is niet mogelijk om jezelf te authenticeren met SSH, omdat je privé-SSH-sleutel om veiligheidsredenen niet wordt gehost in je build-containers, noch wordt doorgestuurd via een SSH-agent, aangezien je de editor benadert via een webbrowser.

  • De bronmap ~/src/user is niet uitgecheckt op een branch maar op een losstaande revisie. Dit komt omdat builds werken met specifieke revisies in plaats van branches, wat betekent dat je meerdere builds kunt hebben op dezelfde branch, maar op verschillende revisies.

Zodra je wijzigingen zijn verstuurd, kan volgens je branch push-gedrag een nieuwe build worden aangemaakt. Je kunt blijven werken in de editor vanwaaruit je hebt verstuurd, omdat deze dezelfde revisie heeft als de nieuwe build die is aangemaakt. Zorg er echter altijd voor dat je in de editor bent van een build die de laatste revisie van je branch gebruikt.

Consoles

Je kunt Python-consoles openen, dit zijn IPython interactive shells. Door deze Python-consoles te gebruiken (in plaats van IPython-shells binnen een terminal) kun je hun rich display-mogelijkheden gebruiken om objecten in HTML weer te geven.

Example

De Pretty-klasse geeft lijsten op een leesbare manier weer.

Voorbeeld van Pretty-klasse

Tip

Met pandas kun je weergeven:

  • Cellen van een CSV-bestand

    pandas CSV-voorbeeld
  • Grafieken

    pandas grafiek-voorbeeld

Je kunt Odoo shell-consoles openen om te experimenteren met het Odoo-register en modelmethoden van je database. Je kunt ook direct lezen of schrijven op je records.

Waarschuwing

In een Odoo shell-console worden transacties automatisch gecommit. Dit betekent dat wijzigingen aan records worden toegepast op de database. Als je bijvoorbeeld de naam van een gebruiker wijzigt, wordt deze ook in je database bijgewerkt. Gebruik Odoo shell-consoles daarom voorzichtig op productiedatabases.

Je kunt env gebruiken om modellen van je databaseregister aan te roepen, bv. env['res.users'].

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