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.
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.
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 editorn 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å kortkommandot Ctrl+S.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.
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.
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 (
),Ä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.
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.
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.
Du kan också använda pandas för att visa grafer.