Online szerkesztő

Áttekintés

Az online szerkesztő lehetővé teszi, hogy a web böngészőből szerkessze a buildjeinek forráskódját. Emellett lehetőséget biztosít terminálok, Python konzolok, Odoo Shell konzolok és Jegyzetfüzetek megnyitására is.

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

You can access the editor of a build through the branches tabs, the builds dropdown menu or by adding /odoo-sh/editor to your build domain name (e.g. https://odoo-addons-master-1.dev.odoo.com/odoo-sh/editor).

A forráskód szerkesztése

A munkakönyvtár a következő mappákból áll:

.
├── 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

A forráskódot (a /src alatti fájlokat) fejlesztési és tesztelési építésekben szerkesztheti.

Megjegyzés

A változtatásai nem kerülnek át egy új építésbe, el kell köteleznie őket a forráskódjában, ha meg akarja őrizni őket.

A termelési építések esetében a forráskód csak olvasható, mivel a helyi változtatások alkalmazása egy termelési szerveren nem jó gyakorlat.

  • A Github adattárának forráskódja a /src/user alatt található,

  • Az Odoo forráskódja a következő helyen található

Egy fájl megnyitásához a szerkesztőben, csak kattintson duplán a fájl böngésző panelen bal oldalon.

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

Ezután elkezdheti a módosításokat. A módosításokat elmentheti a File ‣ Save .. File menüvel vagy a Ctrl+S billentyűkombinációval.

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

Ha elment egy Python fájlt, amely az Odoo szerver kiegészítők útvonalán található, az Odoo automatikusan észleli és újratölti, így a változtatások azonnal érvényesülnek, anélkül, hogy manuálisan újra kellene indítani a szervert.

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

Azonban, ha a változtatás egy adatbázisban tárolt adat, mint például egy mező címkéje vagy egy nézet, frissítenie kell a megfelelő modult a változtatás alkalmazásához. A jelenleg megnyitott fájl modulját frissítheti a Odoo ‣ Update current module menü használatával. Vegye figyelembe, hogy a jelenleg megnyitott fájlnak a szövegszerkesztőben fókuszált fájl számít, nem a fájl böngészőben kiemelt fájl.

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

Megnyithat egy terminált is, és végrehajthatja a parancsot:

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

Commit & Push a változtatásait

Lehetősége van a változtatásait commitálni és feltölteni a Github tárházába.

  • Nyisson meg egy terminált (File ‣ New ‣ Terminal),

  • Változtassa meg a könyvtárat ~/src/user -re a cd ~/src/user parancs használatával,

  • A módosításokat állítsa be a git add parancs segítségével,

  • A módosításokat rögzítse a git commit parancs segítségével,

  • A módosításokat küldje el a git push https HEAD:<branch> parancs segítségével.

Ebben az utolsó parancsban,

  • https az Ön HTTPS Github távoli adattárának neve (pl. https://github.com/username/repository.git),

  • HEAD az utolsó rögzített revízióra való hivatkozás,

  • <branch> helyére annak az ágnak a nevét kell beírni, amelyre a módosításokat küldeni kívánja, valószínűleg az aktuális ág, ha fejlesztési buildben dolgozik.

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

Megjegyzés

Az SSH Github távoli nem használatos, mert az SSH privát kulcsa nincs tárolva a build konténereiben (nyilvánvaló biztonsági okokból), és nem is továbbítódik SSH Agenten keresztül (mivel ezen a szerkesztőn keresztül web böngészővel fér hozzá), így nem tudja magát SSH-val hitelesíteni a Github felé. Az Ön Github adattárának HTTPS távoliját kell használnia a módosítások elküldéséhez, amely automatikusan https néven kerül hozzáadásra a Git távolijai közé. Meg kell adnia a Github felhasználónevét és jelszavát. Ha aktiválta a kétfaktoros hitelesítést a Githubon, létrehozhat egy személyes hozzáférési tokent és használhatja jelszóként. A repo jogosultság megadása elegendő.

Megjegyzés

A Git forrásmappa ~/src/user nem egy ágon van ellenőrizve, hanem egy leválasztott revízión: Ennek oka, hogy a buildek specifikus revíziókon dolgoznak, nem pedig ágakon. Más szavakkal, ez azt jelenti, hogy több build is lehet ugyanazon az ágon, de különböző revíziókon.

Miután a módosításokat elküldte, az Ön ág küldési viselkedése szerint új build jöhet létre. Folytathatja a munkát abban a szerkesztőben, ahonnan küldött, mivel ugyanaz a revízió lesz, mint az újonnan létrehozott build, de mindig győződjön meg róla, hogy az ága legújabb revízióját használó build szerkesztőjében dolgozik.

Konzolok

Megnyithat Python konzolokat, amelyek IPython interaktív héjak. Az egyik legérdekesebb kiegészítés, hogy Python konzolt használhat egy terminálon belüli IPython héj helyett, a gazdag megjelenítési képességek. Ennek köszönhetően képes lesz objektumokat HTML-ben megjeleníteni.

Például megjelenítheti egy CSV fájl celláit a pandas használatával.

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

Megnyithat egy Odoo Shell konzolt is, hogy az Odoo regiszterrel és az adatbázis modell metódusaival kísérletezzen. Közvetlenül olvashat vagy írhat is a rekordjaira.

Figyelem

Egy Odoo Konzolban a tranzakciók automatikusan elkötelezettek. Ez azt jelenti, hogy például a rekordokban végrehajtott változtatások ténylegesen alkalmazásra kerülnek az adatbázisban. Ha megváltoztatja egy felhasználó nevét, a felhasználó neve az adatbázisában is megváltozik. Ezért óvatosan kell használni az Odoo konzolokat éles adatbázisokon.

Az env használatával meghívhatja az adatbázis regiszter modelljeit, például env['res.users'].

env['res.users'].search_read([], ['name', 'email', 'login'])
[{'id': 2,
'login': 'admin',
'name': 'Administrator',
'email': '[email protected]'}]

A Pretty osztály lehetőséget ad arra, hogy könnyedén megjelenítse a listákat és dict-eket esztétikus módon, a fent említett gazdag megjelenítési használatával.

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

Használhatja a pandas is, hogy grafikonokat jelenítsen meg.

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