El archivo de manifiesto, en otras versiones de odoo se llamó __openerp__.py, pero odoo a partir de su versión 9 comenzó sucesivamente a eliminar la palabra openerp de todas partes. Creo que ahora tiene un nombre realmente adecuado, porque este archivo es como el director de la orquesta, él posee la batuta y decide quien se levanta y quien no.

A continuación vamos a ver los parámetros del archivo y luego vamos a ver un ejemplo de su declaración.

name Nombre del módulo.
version Versión del módulo.
summary Descripción corta del módulo.
description Descripción mas extensa del módulo.
category Categoría del módulo. Están declaradas en el módulo base de odoo y son:

  • Customer Relationship
  • Management
  • Sales Management
  • Project Management
  • Knowledge Management
  • Warehouse Management
  • Manufacturing
  • Invoicing & Payments
  • Accounting & Finance
  • Purchase Management
  • Human Resources
  • Extra Tools
  • Marketing
  • Point of Sale
  • Advanced Reporting

author Aquí va el nombre de ustedes, de su empresa y el grado que posean en la orden.
website Su web.
license La licencia que ustedes apliquen a su código, por defecto es AGPL-3.
depends Lista de módulos de los cuales depende este módulo.
data Lista de archivos xml y csv que se deben levantar (los archivos donde declaran sus vistas, etc).
demo Archivos xml adicionales que se usan para levantar información de demo para probar su módulo, si es que así lo desean.
installable True o False. Define si este módulo es instalable, podría ser un módulo que solo sirve para inyectarlo como dependencia.
auto_install True o False (por defecto: False). Si es True, entonces el módulo se instala automáticamente cuando todos sus módulos dependientes están instalados. (Si no tiene módulos de dependencia, se instala solo cuando instalamos odoo)

cerrar

Tengan en cuenta que los valores descriptivos del módulo (name, description, etc), que se colocan en el manifest, luego, a la hora de instalarlo, nos permiten visualizarlo amigablemente en la interfaz web de odoo.

Veamos un ejemplo de declaración del __manifest__.py, tomado de la documentación oficial:

# -*- coding: utf-8 -*-
{
    'name': "Open Academy",

    'summary': """Manage trainings""",

    'description': """
        Open Academy module for managing trainings:
            - training courses
            - training sessions
            - attendees registration
    """,

    'author': "My Company",
    'website': "http://www.yourcompany.com",

    # Categories can be used to filter modules in modules listing
    # Check https://github.com/odoo/odoo/blob/master/odoo/addons/base/module/module_data.xml
    # for the full list
    'category': 'Test',
    'version': '0.1',

    # any module necessary for this one to work correctly
    'depends': ['base'],

    # always loaded
    'data': [
        # 'security/ir.model.access.csv',
        'templates.xml',
    ],
    # only loaded in demonstration mode
    'demo': [
        'demo.xml',
    ],
}

Tips importantes a la hora de escribir el __manifest__.py

  • El orden en que se declaran los archivos XML ES IMPORTANTE. Si por ejemplo en la parte de data tienen dos archivos XML, uno en donde declaran las vistas y otro donde declaran menúes y actions, entonces primero deben indicar que se levante el archivo de vistas y luego el archivo donde estén las actions, dado que en las actions haremos referencia al ID de las vistas.
  • Ya que estamos, el orden en que se importan los paquetes de python, también es importante.
  • Deben usar las categorías declaradas por ODOO, esto es importante para el día en que quieran subir su modulo al app store odoo.

Nos vemos en breve.