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-2

  • GPL-2 vagy bármely későbbi verzió

  • GPL-3

  • GPL-3 vagy bármely későbbi verzió

  • AGPL-3

  • LGPL-3

  • Egyéb OSI által jóváhagyott licenc

  • OEEL-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. a Foo / Bar létrehoz egy Foo kategóriát, egy Bar kategóriát a Foo gyermek kategóriájaként, és beállítja a Bar-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 (bool vagy list(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_crm függ mind a sale, mind a crm moduloktól, és auto_install-ra van állítva. Amikor mind a sale, mind a crm telepí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 a sale vagy a crm tudna 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 python kulcsot 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 bin kulcsot 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 (bool alapé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_hook takes an env as its only argument, this function is executed prior to the module’s installation.

post_init_hook takes an env as its only argument, this function is executed right after the module’s installation.

uninstall_hook takes 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_install használatos.