Señores, se acerca el día en que pondrán a prueba todos sus conocimientos, ese día no podrán pedir tiempo para acomodarse, lo que no sale en la práctica, no sale en los partidos, así que sigan esforzándose y no decaigan ahora.

Estructura de un modulo

Tal y como lo dice la documentación al respecto, un módulo de odoo se compone de los siguientes elementos:

  • Objetos de negocio -> Modelos: .py
  • Archivos de datos (xml, csv): sirven para declarar metainformación, valores de configuración e datos de demostración.
  • Controladores web: manejadores de solicitudes web.
  • Archivos estáticos para la web (css, js).

Odoo sugiere un conjunto de buenas prácticas y una serie de convenciones (vean ese link) a la hora de su desarrollo, que nos dicen, entre otras cosas, cómo debemos llamar los archivos. Voy a dar un ejemplo de la estructura de archivos que nosotros utilizamos para armar un modulo odoo, es la misma estructura que odoo utiliza para desarrollar sus propios módulos.

Vamos a explicar para qué sirve cada carpeta y archivo de esta simple estructura inicial (aunque sus nombres son muy sugestivos).

  • Carpeta data: generalmente contiene archivos css y xml que nos permitirán precargar información en nuestro sistema. Un típico ejemplo podría ser cuando queremos que nuestro sistema provea al usuario una lista de colores para que este selecciones uno.
  • Carpeta models: contiene los archivos .py donde se declaran los modelos de negocio. Siguiendo el ejemplo que vimos en la publicación anterior, el archivo donde declaramos Car y CarMark iría dentro de la carpeta models.
  • Carpeta security: Contiene archivos xml donde declaramos los grupos de usuarios, permisos y reglas de seguridad de nuestro modulo.
  • Carpeta views: Contiene archivos xml donde declaramos las vistas para nuestros modelos de negocio.
  • Archivo __init__.py: Este archivo es característico del desarrollo en python y nos sirve para indicar desde qué otros directorios deben importarse paquetes de python, por ejemplo del directorio models (carpeta models).
  • Archivo __manifest__.py: Este archivo es el alma del módulo odoo y nos permite describir por completo como se ensambla el modulo, su nombre, su versión, su descripción, sus dependencias, los archivos de datos que debe levantar, etc (en este post profundizamos sobre este archivo).
cerrar

Insisto, no dejen de revisar las sugerencias y convenciones que odoo enseña en su documentación oficial.

Nada más par aportar, ésta es la estructura básica, luego cuando tengamos más experiencia, vamos a poder modificar o expandir esta estructura, por ahora avancemos lento pero seguro.

Salud