Online-redaktör

Översikt

Med online-editorn kan du redigera källkoden för dina byggen 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 editorn för en build genom flikarna för grenar, rullgardinsmenyn för builds eller genom att lägga till /odoo-sh/editor till ditt build-domännamn (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 stagingbyggnader.

Observera

Dina ändringar kommer inte att spridas till en ny build, du måste kommentera dem i din källkod om du vill att de ska finnas kvar.

För produktionsversioner är källkoden skrivskyddad, eftersom det inte är någon bra praxis att tillämpa lokala ändringar på en produktionsserver.

För att öppna en fil i editorn 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å kortkommandot Ctrl+S.

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

Om du sparar en Python-fil som finns under din Odoo-server addons sökväg, kommer Odoo att upptäcka den och ladda om automatiskt så att dina ändringar återspeglas omedelbart, utan att behöva 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 den aktuella modulen för att kunna tillämpa ändringen. Du kan uppdatera modulen för den för tillfället öppnade filen genom att använda menyn :menyval:`Odoo --> Uppdatera aktuell modul`. Observera att den fil som anses vara öppnad för tillfället är den fil som fokuseras i textredigeraren, inte den fil som markeras i filbläddraren.

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

Du kan också öppna en terminal och utföra kommandot:

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

Bekräfta och skicka dina ändringar

Du har möjlighet att skicka dina ändringar till ditt Github-arkiv.

  • Öppna en terminal (File ‣ New ‣ Terminal),

  • Ändra katalogen till ~/src/user med cd ~/src/user,

  • Lägg in dina ändringar med git add,

  • Bekräfta dina ändringar med git commit,

  • Skicka dina ändringar med git push https HEAD:<branch>.

I det sista kommandot,

  • https är namnet på ditt HTTPS Github remote repository (t.ex. https://github.com/username/repository.git),

  • HEAD är referensen till den senaste revideringen som du har gjort,

  • <branch> måste ersättas med namnet på den gren som du vill flytta ändringarna till, troligtvis den aktuella grenen om du arbetar i en utvecklingsversion.

../../../_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 fungerar på specifika revisioner snarare än grenar. Med andra ord innebär detta att du kan ha flera builds på samma gren, men på olika revisioner.

När dina ändringar har pushats, enligt din branch push behavior, kan en ny build 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 i en build som använder den senaste revisionen av din gren.

Konsoler

Du kan öppna Python-konsoler, som är IPython interaktiva skal. En av de mest intressanta fördelarna med att använda en Python-konsol istället för ett IPython-skal i en terminal är de rika visningsmöjligheterna. 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 för din databas. Du kan också direkt läsa eller skriva på dina poster.

Varning

I en Odoo Console blir transaktioner automatiskt bekräftade. Detta innebär till exempel att ändringar i poster tillämpas effektivt i databasen. Om du ändrar namnet på en användare, ändras namnet på användaren också i din databas. Du bör därför använda Odoo-konsoler med försiktighet på 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ämndes 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