Saltar a contenido

Estructura de Rocketdoo

En esta sección veremos con mayor claridad cómo está conformada la estructura de Rocketdoo, y de esta manera podremos entender mejor cómo funciona internamente, o al menos comprender la importancia y el uso de algunas carpetas y archivos de Rocketdoo.

rocketdoo-img-structure

Como se puede ver en la imagen, hay una larga lista de carpetas y archivos que componen toda la estructura de Rocketdoo.
Sin embargo, nos centraremos en las carpetas y archivos más relevantes para un desarrollador.

Estas carpetas y archivos deberían ser conocidos por cualquier desarrollador de Odoo.


/Addons

Primero mencionaremos la carpeta addons.

Una vez que tengas tu entorno listo, ya sea trabajando en Visual Studio Code o directamente desde la terminal, esta carpeta se utilizará para alojar los desarrollos que vayas a realizar, así como algunos módulos necesarios de forma individual.

Puedes crear una carpeta con el nombre de tu módulo y agregar su contenido, o usar la extensión Docker de VSCode. Con la opción Attach Shell podrás abrir una terminal y moverte al directorio donde se encuentran los módulos:
/usr/lib/python/dist-packages/odoo/extra-addons.

Desde ahí, puedes usar el comando scaffold de Odoo para generar un nuevo módulo.

rocketdoo-img-attach

rocketdoo-img-shell

rocketdoo-img-into-shell

rocketdoo-img-shell2

Importante: La carpeta “addons” dentro del contenedor de desarrollo está mapeada como un volumen hacia la carpeta “extra-addons”.
Por eso debemos dirigirnos a esa carpeta dentro del contenedor.
Recuerda que la carpeta original addons pertenece al núcleo de Odoo, lo cual será más evidente cuando estemos depurando código desde dentro del contenedor.

Para crear un nuevo módulo con el comando scaffold, debes ejecutarlo así:

odoo scaffold <mi_modulo> .

Esto generará un módulo con los archivos y estructura necesarios para comenzar a desarrollar en el directorio actual.

Una vez creado, también verás que el nuevo módulo aparece en tu entorno de trabajo dentro de la carpeta addons en VSCode.

Recuerda: La carpeta addons en tu directorio de trabajo se llama extra-addons dentro del contenedor de Odoo.


/Config/odoo.conf

El archivo odoo.conf, ubicado en el directorio /config/, es especialmente importante para desarrolladores experimentados en Odoo.

Este archivo contiene toda la configuración del sistema a nivel de servidor.
Gestiona el mapeo de los módulos de terceros y desarrollados, la configuración de la contraseña maestra, la ruta del archivo de logs, entre otros.

De todos modos, no te preocupes, ya que normalmente no será necesario modificar este archivo manualmente, pues se configura automáticamente durante el arranque del framework.


Launch.json

Dentro del directorio oculta .vscode/ se encuentra el archivo launch.json, el mismo permite configurar las opciones de depuracion de codigo una vez dentro del contenedor de desarrollo. Este archivo nos muestra dos tipos de depuracion mas una extra que combina ambas. Estas dos configuraciones principales nos permite optar por depurar el codigo para Python backend o la segunda opcion para depurar el POS (Punto de Ventas), para los desarrollos en JavaScript. Y la tercera opcion es un mix de ambas opciones al mismo tiempo. Ademas, tenemos algunos parametros que nos permitiran definir que y como reiniciar nuestros contenedores para reflejar rapidamente los cambios que el desarrollador este realizando. En estos parametros podemos descomentar las lineas:

//"-u", //"your-module", //"--dev=all",

y definir el nombre de nuestro modulo en desarrollo para poder actualizar los cambios al instante.

rocketdoo-img-shell2 rocketdoo-img-shell2


Enterprise

Como habrás visto, al lanzar ROCKETDOO, te pregunta si deseas trabajar con la versión Community o Enterprise de Odoo.

¡Muy bien! Si tu respuesta es "ce" (Community Edition), no necesitas hacer nada adicional.

Pero si tu respuesta es "ee" (Enterprise Edition), es muy importante que antes de lanzar Rocketdoo con el comando rocketdoo up -d o rkd up -d tengas la carpeta Enterprise en tu directorio de trabajo, al mismo nivel que la carpeta addons.

De esta manera, el sistema podrá mapear correctamente los módulos de Enterprise y hacer la configuración necesaria en el entorno para ejecutar esta edición de Odoo.