Modul Manifesztumok¶
Manifeszt¶
A manifeszt fájl arra szolgál, hogy egy Python csomagot Odoo modulnak nyilvánítson, és megadja a modul metaadatait.
Ez egy __manifest__.py nevű fájl, amely egyetlen Python szótárt tartalmaz, ahol minden kulcs a modul metaadatát határozza meg.
{
'name': "A Module",
'version': '1.0',
'depends': ['base'],
'author': "Author Name",
'category': 'Category',
'description': """
Description text
""",
# data files always loaded at installation
'data': [
'views/mymodule_view.xml',
],
# data files containing optionally loaded demonstration data
'demo': [
'demo/demo_data.xml',
],
}
Elérhető manifeszt mezők:
name(str, kötelező)a modul ember által olvasható neve
version(str)ennek a modulnak a verziója, amelynek meg kell felelnie a szemantikus verziózás szabályainak
description(str)a modul kiterjesztett leírása, reStructuredText formátumban
author(str)a modul szerzőjének neve
website(str)a modul szerzőjének weboldal URL-je
license(str, alapértelmezett:LGPL-3)a modul terjesztési engedélye. Lehetséges értékek:
GPL-2GPL-2 vagy bármely későbbi verzióGPL-3GPL-3 vagy bármely későbbi verzióAGPL-3LGPL-3Egyéb OSI által jóváhagyott licencOEEL-1(Odoo Vállalati Kiadás Licenc v1.0)OPL-1(Odoo Tulajdonosi Licenc v1.0)Egyéb saját
category(str, alapértelmezett:Uncategorized)osztályozási kategória az Odoo-n belül, a modul durva üzleti területe.
Bár az existing categories használata ajánlott, a mező szabad formátumú, és az ismeretlen kategóriák menet közben jönnek létre. Kategóriahierarchiák hozhatók létre a
/elválasztó használatával, pl. aFoo / Barlétrehoz egyFookategóriát, egyBarkategóriát aFoogyermek kategóriájaként, és beállítja aBar-t a modul kategóriájaként.depends(list(str))Odoo modulok, amelyeket ennek a modulnak a betöltése előtt kell betölteni, akár azért, mert ez a modul az általuk létrehozott funkciókat használja, akár azért, mert módosítja az általuk meghatározott erőforrásokat.
Amikor egy modult telepítenek, annak minden függőségét előbb telepítik. Hasonlóképpen, a függőségek betöltődnek, mielőtt egy modul betöltődik.
Megjegyzés
A base modul mindig telepítve van bármely Odoo példányban. De még mindig meg kell adnia függőségként, hogy biztosítsa, hogy a modulja frissüljön, amikor a base frissül.
data(list(str))Az adatok fájljainak listája, amelyeket mindig telepíteni vagy frissíteni kell a modullal. A modul gyökérkönyvtárából származó útvonalak listája
demo(list(str))Az adatok fájljainak listája, amelyeket csak bemutató módban telepítenek vagy frissítenek
auto_install(boolvagylist(str), alapértelmezett:False)Ha
True, ez a modul automatikusan települ, ha minden függősége telepítve van.It is generally used for „link modules” implementing synergetic integration between two otherwise independent modules.
Például a
sale_crmfügg mind asale, mind acrmmoduloktól, ésauto_install-ra van állítva. Amikor mind asale, mind acrmtelepítve van, automatikusan hozzáadja a CRM kampányok nyomon követését az értékesítési rendelésekhez anélkül, hogy asalevagy acrmtudna egymásról.Ha ez egy lista, akkor tartalmaznia kell a függőségek egy részhalmazát. Ez a modul automatikusan telepítésre kerül, amint a részhalmazban lévő összes függőség telepítve van. A fennmaradó függőségek is automatikusan telepítésre kerülnek. Ha a lista üres, ez a modul mindig automatikusan telepítésre kerül, függetlenül a függőségeitől, és ezek is telepítésre kerülnek.
external_dependencies(dict(key=list(str)))Egy szótár, amely python és/vagy bináris függőségeket tartalmaz.
Python függőségek esetén a
pythonkulcsot meg kell határozni ebben a szótárban, és hozzá kell rendelni egy listát az importálandó python modulokról.Bináris függőségek esetén a
binkulcsot meg kell határozni ebben a szótárban, és hozzá kell rendelni egy listát a bináris végrehajtható fájlnevekről.A modul nem kerül telepítésre, ha a python modul nincs telepítve a gazdagépen, vagy a bináris végrehajtható fájl nem található a gazdagép PATH környezeti változójában.
application(bool, alapértelmezett:False)Hogy a modult teljes értékű alkalmazásnak (
True) kell-e tekinteni, vagy csak egy technikai modulnak (False), amely némi extra funkcionalitást nyújt egy meglévő alkalmazásmodulhoz.assets(dict)Annak meghatározása, hogy az összes statikus fájl hogyan töltődik be különböző eszközkötegekben. További részletekért arról, hogyan kell leírni a kötegeket, lásd a assets oldalt.
installable(boolalapértelmezett:True)Azt határozza meg, hogy a felhasználó telepítheti-e a modult a Web UI-ból vagy sem.
maintainer(str)A modul karbantartásáért felelős személy vagy szervezet, alapértelmezés szerint feltételezhető, hogy a szerző a karbantartó.
{pre_init, post_init, uninstall}_hook(str)Horgok a modul telepítéséhez/eltávolításához, értéküknek egy karakterláncnak kell lennie, amely a modul
__init__.py-ban definiált függvény nevét képviseli.pre_init_hooktakes an env as its only argument, this function is executed prior to the module’s installation.post_init_hooktakes an env as its only argument, this function is executed right after the module’s installation.uninstall_hooktakes an env as its only argument, this function is executed after the module’s uninstallation.Ezeket a horgokat csak akkor szabad használni, ha a modulhoz szükséges beállítás/tisztítás rendkívül nehéz vagy lehetetlen az api-n keresztül.
active(bool)Elavult. Helyette az
auto_installhasználatos.