Online-redaktör¶
Översikt¶
Med online-editorn kan du redigera källkoden för dina builds från en webbläsare. Den ger dig också möjlighet att öppna terminaler, Python-konsoler, Odoo Shell-konsoler och Notebooks.

Du kan komma åt redigeraren för ett bygge via flikarna för grenar, rullgardinsmenyn för byggen eller genom att lägga till /odoo-sh/editor i domännamnet för ditt bygge (t.ex. https://odoo-addons-master-1.dev.odoo.com/odoo-sh/editor).
Redigera källkoden¶
Arbetskatalogen består av följande mappar:
.
├── 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
Du kan redigera källkoden (filer under /src) i utvecklings- och staging-versioner.
Observera
Dina ändringar kommer inte att spridas till en ny version, utan du måste göra dem i källkoden om du vill att de ska finnas kvar.
För produktionsbyggnader är källkoden skrivskyddad, eftersom det inte är en bra metod att tillämpa lokala ändringar på en produktionsserver.
Källkoden för ditt Github-arkiv finns under /src/user,
Källkoden för Odoo finns under
/src/odoo (odoo/odoo),
/src/enterprise (odoo/enterprise),
/src/themes (odoo/design-themes).
För att öppna en fil i redigeraren dubbelklickar du på den i filbläddraren till vänster.

Du kan sedan börja göra dina ändringar. Du kan spara dina ändringar med menyn
eller genom att trycka på genvägen Ctrl+S.
Om du sparar en Python-fil som finns under din sökväg för Odoo-serverns tillägg, kommer Odoo att upptäcka den och ladda om automatiskt så att dina ändringar återspeglas omedelbart, utan att du behöver starta om servern manuellt.

Men om ändringen gäller data som lagras i databasen, t.ex. etiketten för ett fält eller en vy, måste du uppdatera motsvarande modul för att tillämpa ändringen. Du kan uppdatera modulen för den aktuella filen genom att använda menyn
. Observera att den fil som anses vara öppnad för tillfället är den fil som är fokuserad i textredigeraren, inte den fil som är markerad i filbläddraren.
Du kan också öppna en terminal och köra kommandot:
$ odoo-bin -u <comma-separated module names> --stop-after-init
Bekräfta och skicka dina ändringar¶
Du har möjlighet att överföra och skicka dina ändringar till ditt Github-arkiv.
Öppna en terminal (:menyval:`Fil --> Ny --> Terminal`),
Ändra katalogen till ~/src/user med hjälp av
cd ~/src/user
,Scena dina ändringar med hjälp av
git add
,Bekräfta dina ändringar med hjälp av
git commit
,Skicka dina ändringar med hjälp av
git push https HEAD:<branch>
.
I detta sista kommando,
https är namnet på ditt HTTPS Github fjärrförvar (t.ex. https://github.com/username/repository.git),
HEAD är referensen till den senaste revisionen som du har gjort,
<branch> måste ersättas med namnet på den gren som du vill skicka ändringarna till, troligen den aktuella grenen om du arbetar i en utvecklingsbyggnad.

Observera
SSH Github remote används inte eftersom din privata SSH-nyckel inte finns i dina byggcontainrar (av uppenbara säkerhetsskäl) och inte heller skickas via en SSH-agent (eftersom du använder editorn via en webbläsare) och du därför inte kan autentisera dig mot Github med SSH. Du måste använda HTTPS-fjärradressen till ditt Github-arkiv för att skicka dina ändringar, som automatiskt läggs till med namnet https i dina Git-fjärradresser. Du kommer att uppmanas att ange ditt Github-användarnamn och lösenord. Om du har aktiverat tvåfaktorsautentisering på Github kan du skapa en personal access token och använda den som lösenord. Det räcker med att ge behörigheten repo
.
Observera
Git-källkodsmappen ~/src/user checkas inte ut på en gren utan snarare på en fristående revision: Detta beror på att builds arbetar med specifika revisioner snarare än grenar. Med andra ord innebär det att du kan ha flera builds på samma gren, men på olika revisioner.
När dina ändringar har överförts, enligt din branch push behavior, kan ett nytt bygge skapas. Du kan fortsätta att arbeta i den editor du pushade från, eftersom den kommer att ha samma revision som den nya build som skapades, men se alltid till att vara i en editor för en build som använder den senaste revisionen av din gren.
Konsoler¶
Du kan öppna Python-konsoler, som är ”interaktiva IPython-skal” <https://ipython.readthedocs.io/en/stable/interactive/tutorial.html>`_. Ett av de mest intressanta tilläggen till att använda en Python-konsol snarare än ett IPython-skal i en terminal är de ”rika visningsmöjligheterna” <https://ipython.readthedocs.io/en/stable/config/integrating.html#rich-display>`_. Tack vare detta kommer du att kunna visa objekt i HTML.
Du kan t.ex. visa celler i en CSV-fil med hjälp av pandas.

Du kan också öppna en Odoo Shell-konsol för att leka med Odoo-registret och modellmetoderna i din databas. Du kan också direkt läsa eller skriva på dina poster.
Varning
I en Odoo Console bekräftas transaktioner automatiskt. Detta innebär till exempel att ändringar i poster tillämpas effektivt i databasen. Om du ändrar namnet på en användare ändras också användarens namn i din databas. Du bör därför vara försiktig med att använda Odoo-konsoler i produktionsdatabaser.
Du kan använda env för att anropa modeller i ditt databasregister, t.ex. env['res.users']
.
env['res.users'].search_read([], ['name', 'email', 'login'])
[{'id': 2,
'login': 'admin',
'name': 'Administrator',
'email': 'admin@example.com'}]
Klassen Pretty
ger dig möjlighet att enkelt visa listor och dikter på ett snyggt sätt, med hjälp av rich display som nämns ovan.

Du kan också använda pandas för att visa grafer.
