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.

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

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.

För att öppna en fil i redigeraren dubbelklickar du på den i filbläddraren till vänster.

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

Du kan sedan börja göra dina ändringar. Du kan spara dina ändringar med menyn File ‣ Save .. File eller genom att trycka på genvägen Ctrl+S.

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

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.

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

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 Odoo ‣ Update current module. 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.

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

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.

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

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.

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

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.

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

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

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