/ odoo

Entorno de desarrollo para Odoo

En esta oportunidad vamos a instalar todo lo necesario para empezar a desarrollar módulos de Odoo, pasando por el uso del código fuente de Odoo, instalación de dependencias hasta la ejecución de Odoo.

Este tutorial se hará trabajando con última versión estable a la fecha, Odoo 11 y trabajando sobre una plataforma *nix.

Descargar el código fuente de Odoo

Para trabajar comodamente se va a descargar el código fuente de Odoo en la versión deseada:

git clone https://github.com/odoo/odoo.git --branch 11.0 --depth 1

Usamos el argumento --depth 1 para solo descargar el último commit de historia de git, esto debido a que la historia de git del repositorio de Odoo supera el Gigabyte de peso, el cual puede demorar considerablemente con una conexión lenta a internet.

Una vez clonado el repositorio ingresamos a el cd odoo y continuamos con el siguiente paso.

Instalación de dependencias externas a python

Odoo necesita algunas dependencias de sistema y de otras plataformas para poder funcionar

Para el compilado de archivos estáticos Odoo usa less el cual se puede instalar con npm -g install less, es necesario tener node y npm instalados previamente.

Las librerías de sistema necesarias pueden variar de acuerdo al sistema operativo usado, por ejemplo para un sistema GNU/linux basado en Debian las librerías necesarias se pueden instalar con:

sudo apt install build-essential python3-dev libxslt-dev libzip-dev libldap2-dev libsasl2-dev

Crear un entorno virtual

Primero es necesario crear un entorno virtual en donde se ejecutará Odoo y donde se instalarán todas las dependencias necesarias para su funcionamiento.

Hasta la versión 10 de Odoo se debe usar python2 y desde la versión 11 python3.

Considerando que ya esta instalado python3 con el módulo venv es posible crear un entorno virtual con:

python3 -m venv env

Ahora existe una carpeta llamada env la cual contiene todos los archivos del entorno virtual creado.

Se procede a la activación del entorno virtual con:

source env/bin/activate

Una vez activado instalamos las dependencias de Odoo con:

pip install -r requirements.txt

También instalamos Odoo como paquete para que podamos usarlo desde el editor/IDE como una dependencia más.

pip install .

Con esto podemos desde el editor/IDE usar por ejemplo:

from odoo import api, fields, models

y será reconocido como un módulo del entorno virtual.

Ejecutar Odoo

Para ejecutar Odoo se usa el archivo odoo-bin disponible dentro del repositorio de Odoo.

Primero es necesario crear un archivo de configuración básico(odoo.conf) como el siguiente:

[options]

addons_path = {odoo_repo_path}/addons,{path_to_custom_addons}
db_host = localhost
db_port = 5432
db_user = user
db_password = 'secret'
admin_passwd = admin
  • {odoo_repo_path} es la ubicación del repositorio que se ha clonado previamente.
  • {path_to_custom_addons} es la ubicación de la carpeta donde se pondrán los módulos a desarrollar, se puede agregar mas rutas separadas por comas.
  • Las opciones que empiezan con db_ son las credenciales de la instalación de postgres que se vaya a usar. El usuario usado con Odoo debe tener la capacidad de crear nuevas bases de datos.
  • admin_passwd es la contraseña maestra de Odoo, la cual permite la creación de base de datos, duplicación, creación de backups, etc.

Una vez todo esté configurado se puede ejecutar la instancia de Odoo con:

./odoo-bin -c odoo.conf

Ahora es posible ingresar a http://localhost:8069 y crear una base de datos para poder empezar con el desarrollo.