Desde la versión 8, Odoo incorpora un script para generar la estructura y ficheros necesarios para crear un módulo. Estas técnicas, introducidas originalmente en lenguajes tipo Ruby, se conocen como scaffolding
$ ./odoo-bin scaffold <module name> <where to put it>
Vamos a generar un módulo soporte que nos permita introducir incidencias en el sistema.
$ ./odoo-bin scaffold soporte mis_modulos
En esta estructura, los ficheros __init__.py corresponden a la forma que tiene Python de especificar cualquier paquete. Se ejecutan al cargar la aplicación. Se encargan de cargar los componentes necesarios para el módulo, la lógica del módulo.
El resto de los ficheros se utilizan para:
- controllers/controllers.py: contiene un ejemplo de un controlador de rutas, implementa algunas.
- demo/demo.xml: datos de ejemplo para el módulo/modelo.
- models/model.py: contiene un ejemplo del modelo de datos y sus campos.
- security/ir.model.access.csv: lista de control de acceso
- views/views.xml: describe las vistas del modelo (tree, form, qweb, menú, acciones…)