Módulo Base
Módulos de Odoo
Section titled “Módulos de Odoo”Tanto las extensiones de servidor como las de cliente se empaquetan como módulos que, opcionalmente, se cargan en una base de datos. Un módulo es una colección de funciones y datos que tienen como objetivo un solo propósito.
Los módulos Odoo pueden agregar una nueva lógica de negocios a un sistema Odoo o alterar y ampliar la lógica de negocios existente. Se puede crear un módulo para agregar las reglas contables de un país al soporte contable genérico de Odoo, mientras que un módulo diferente puede agregar soporte para la visualización en tiempo real de una flota de autobuses.
Todo en Odoo comienza y termina con módulos. Los desarrolladores agrupan sus características comerciales en módulos Odoo. Los principales módulos orientados al usuario están marcados y expuestos como aplicaciones, pero la mayoría de los módulos no son aplicaciones. Los módulos también pueden denominarse complementos y los directorios donde los encuentra el servidor Odoo forman addons_path.
Composición de un Módulo
Section titled “Composición de un Módulo”Un módulo Odoo puede contener los siguientes elementos:
- Objetos de negocio (Se declaran como una clase de Python)
- Vistas de objetos (La visualización de la interfaz de usuario)
- Archivos de datos (Archivos XML o CSV que declaran datos del modelo)
- Controladores web (Gestionar las solicitudes de los navegadores web)
- Datos web estáticos (Imágenes, archivos CSS o JavaScript)
Estructura del Módulo
Section titled “Estructura del Módulo”Directorymodule
Directorymodels
- *.py
__init__.py
Directorydata
- *.xml
__init__.py__manifest__.py
Un módulo de Odoo se declara por su __manifest__.py.
Los objetos de negocio ( archivos de Python ), se organizan como un paquete de Python con un archivo __init__.py.
Archivo de Manifiesto
Section titled “Archivo de Manifiesto”{ "name": "Demo 19", "version": "19.0", "summary": "The Demo 19", "category": "", "author": "Odoo-Group", "maintainer": "", "website": "", "license": "LGPL-3", "contributors": [ "", ], "depends": [ "base", ], "data": [ "security/groups.xml", "security/ir.model.access.csv", "views/test.xml", "views/menu.xml", ], "installable": True, "auto_install": False, "application": True,}