Server Environment
Aspectos técnicos de Odoo

Desde los tiempos de la versión 6.1 de Open ERP hasta (por el momento) la versión 13 de Odoo, la comunidad de usuarios de Odoo ha tenido siempre disponible una serie de módulos que permiten configurar de forma distinta varios entornos para una misma base de datos de odoo. Es decir, permite tener diferentes valores en ciertos parámetros de sistema o en los datos de configuración de los servidores de correo entrante y/o saliente registrados en Odoo, de forma que facilita el manejo de una instalación de Cliente con diferentes entornos como pueden ser el de desarrollo, pre-producción o producción dentro ya estén en una misma maquina o en máquinas distintas. 

Los módulos a los que nos estamos refiriendo son los siguientes: server_environment, server_environment_files_sampleserver_environment_ir_config_parameter y mail_environment (existen más módulos relacionados con este concepto como pueden ser carrier_environment o server_env_magentoerpconnect pero no los trataremos en este artículo, aunque su funcionamiento y filosofía de trabajo es la misma).

Instalación

El primer paso para poder instalar server_environment es incluir una entrada llamada "runnin_env" en el archivo de configuración de Odoo (archivo '.conf' de la carpeta 'config' dentro de la instalación de Odoo). En cada entorno este parámetro tendrá el valor que se desee asignar al mismo, por ejemplo, 'test', ‘desarrollo’, ‘preproducción’, ‘producción’, etc.
Una vez incluido ese texto en el archivo de configuración de Odoo, ya es posible instalar el primero de los módulos: server_environment. Tras su instalación, se genera una nueva entrada de menú (Configuración > Técnico > Parámetros) que permite consultar todos los valores de los parámetros del fichero de configuración de la instalación de Odoo correspondiente.
Los valores de los diferentes parámetros sólo son visibles si el usuario pertenece al grupo 'View Server Environment Configuration' (es decir, debe tener marcado el "check" correspondiente a ese grupo en su ficha de usuario). Además, los valores de los campos del fichero de configuración que hacen referencia a las contraseñas sólo serán visibles en esta pantalla si el valor del parametro running_dev es 'dev' en el entorno donde está la base de datos a la que se está accediendo.

Módulos Complementarios

Para la gestión de los archivos donde se definen los valores de los diferentes entornos, debe instalarse el módulo server_enviroment_files (hay que descargar el módulo server_enviroment_files_sample y renombrarlo quitándole el texto ‘_sample’ del nombre antes de dejarlo en la carpeta 'addons' correspondiente para que funcione).

La operativa es la siguiente: en la carpeta del módulo server_enviroment files deben crearse diferentes subcarpetas, una por cada entorno que se vaya a manejar, asignándole el nombre de cada entorno a dichas carpetas. Cada carpeta contendrá un fichero llamado 'base.conf' de forma que la configuración que se aplicará en la base de datos, dependerá de entorno en el que se esté trabajando => se cargara a partir del archivo de configuración inicial de Odoo + una configuración común para todos los entornos (ubicada en server_enviroment_files/default/base.conf) + la configuración indicada en la subcarpeta que contenga el mismo nombre indicado en el parámetro ‘running_env’ (server_enviroment_files/<nombre_del _entorno>/base.conf).
La instalación del módulo server_environment_ir_config_ parameter y del módulo mail_configuration_with_server_ environment permiten aprovechar al máximo la potencialidad de los 2 módulos anteriores ya que permiten establecer valores diferentes en función del entorno en el que se esté trabajando para los parámetros de sistema y para los datos de los servidores de correo electrónico entrante y/o saliente respectivamente: la manera de incorporar esta funcionalidad en el sistema es añadiendo las cabeceras [ir.config. parameter], [incoming.mail] y [outgoing.mail] en los diferentes archivos 'base.conf' de las carpetas de cada entorno.
Es importante indicar que sólo los parámetros creados dentro de un módulo mostrarán sus valores actualizados en la pantalla 'Parámetros de sistema'. Los parámetros creados manualmente sólo mostrarán su "auténtico" valor en la pantalla 'Server environment' del menú Configuración > Técnico (lo cual a veces puede resultar confuso, por ejemplo, con el parámetro report.url habitualmente utilizado en cualquier implantación de Odoo).