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.
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
Je wijzigingen worden niet doorgegeven aan nieuwe builds. Het is nodig om ze naar de broncode te committen als je wilt dat ze behouden blijven.
De broncode van je GitHub-repository bevindt zich onder
/src/user.De broncode van Odoo bevindt zich onder:
/src/odoo(https://github.com/odoo/odoo)/src/enterprise(https://github.com/odoo/enterprise)/src/themes(https://github.com/odoo/design-themes)
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 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.
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 .
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 te gaan.
Verander de directory naar
~/src/user.cd ~/src/userVermeld 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:
httpsis de naam van je HTTPS GitHub remote repository (bv.https://github.com/gebruikersnaam/repository.git).HEADis 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.
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/useris 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.
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'}]