Saltar al contenido principal

Organizar módulos en directorios anidados

Odoo busca módulos a un nivel de profundidad en cada ruta que proporciones. No recurre a los subdirectorios automáticamente. Si tu repositorio organiza los módulos en carpetas anidadas, debes enumerar cada directorio que contenga directamente módulos.


El problema

Considera esta estructura:

mi-repo-odoo/
├── addons/
│ ├── finance/
│ │ ├── account_extension/ ← módulo
│ │ └── payment_custom/ ← módulo
│ └── hr/
│ ├── hr_attendance_extra/ ← módulo
│ └── hr_contract_custom/ ← módulo
└── ...

Configurar la ruta de addons solo como /addons no funcionará — Odoo buscará dentro de addons/ un __manifest__.py y no encontrará ninguno. Los módulos reales están un nivel más profundo, dentro de finance/ y hr/.


La solución

Enumera cada directorio que contenga módulos directamente, separados por comas.

Para la estructura anterior:

/addons/finance,/addons/hr

Cada ruta que proporciones debe ser el directorio padre de las carpetas de los módulos, no las carpetas de los módulos en sí.

Cómo configurar la ruta de addons

  1. Ve a tu proyecto y abre la pestaña Branches (Ramas).

  2. Haz clic en tu rama para abrir su configuración.

  3. En el campo Custom Addons Path (Ruta de Addons Personalizados), ingresa todos los directorios relevantes:

    /addons/finance,/addons/hr
  4. Haz clic en Save (Guardar).


Estructura plana en la raíz (recomendado)

Si tienes control sobre el diseño de tu repositorio, el enfoque más simple es colocar todos los módulos directamente en la raíz del repositorio:

mi-repo-odoo/
├── account_extension/ ← módulo
├── payment_custom/ ← módulo
├── hr_attendance_extra/ ← módulo
└── hr_contract_custom/ ← módulo

Con este diseño, no se necesita ninguna configuración de ruta de addons — Skysize escanea la raíz automáticamente.


Mezclar módulos raíz y módulos de subdirectorios

Si configuras una ruta de addons personalizada, Skysize utiliza solo las rutas que especifiques — la raíz ya no se escanea automáticamente. Si tienes módulos en la raíz y también en subdirectorios, debes incluir explícitamente /:

/,/addons/finance,/addons/hr

Omitir / significa que Odoo no encontrará ningún módulo en la raíz del repositorio.