- libro Tecnico
Tabla de contenido
1. introduction
2. Bajar e instalar Odoo 8 en Ubuntu 14.04 Server
1 Introduccin
En este manual queremos mostrar como desarrollar un modulo para openerp que abran ja una gran parte del
conocimiento necesario para administrar nuevos desarrollos.
Todo va estar basado en la versin de Odoo 8.0 el modulo que vamos a desarrollar va llamarse openacademy que ser un
sistema para el control de los cursos ministrados en Odoo con sus participantes.
Tambin queremos mostrar el uso del Github y controlar nuestra nuevas versines por el pero no ser muy avanzado,
solamente daremos su ambito general.
introduction
Como referencia en las lineas iniciales del script tenemos algunos parametros que son para configurar por ejemplo la
contrasea del usuario administrador para crear las base de datos de Odoo por ejemplo:
##fixed parameters
#openerp
OE_USER="odoo"
OE_HOME="/opt/$OE_USER"
OE_HOME_EXT="/opt/$OE_USER/$OE_USER-server"
#Enter version for checkout "8.0" for version 8.0, "7.0 (version 7),
#saas-4, saas-5 (opendays version) and "master" for trunk
OE_VERSION="8.0"
#set the superadmin password
OE_SUPERADMIN="superadminpassword"
OE_CONFIG="$OE_USER-server"
Paso 5: Vamos a crear el usuario de linux que va correr el odoo ya que no es permitido ejecutar el odoo como root.
En este comando pasamos los parametros -m para crear el home del usuario, el -U para que cree el grupo del propio
usuario -G sudo para que el usuario pueda executar comando sudo y el parametro -s /bin/bash definiendo el terminal de
este usuario y --home=/home/odoo para definir donde estara el home del usuario, algunas personas ponen /opt/odoo por
ejemplo.
Paso 6: Cambiamos la contasea de este usuario
Con el comando linux multiplo ejecuta el comando create user -s odoo con los permisos del usuario postgres y toda las
mensages son enviados al /dev/null que es abujero negro en linux :)
Paso 8: Instalamos todas las dependencias de los modulos de odoo del sistema operativo linux
Paso 9: Cambiamos al usuario odoo y nos movemos a la carpeta del usuario odoo para bajar los fuentes de Odoo
sudo su - odoo
Paso 10: Tenemos que instalar una ultimo apendencia de odoo que no tiene en el repositorio de ubuntu para el uso
de los servicios de google.
wget http://gdata-python-client.googlecode.com/files/gdata-2.0.18.tar.gz
tar xzvf gdata-2.0.18.tar.gz
cd gdata-2.0.18/
sudo python setup.py install
cd ~/
Paso 11: Por fin bajamos el codigo fuente de Odoo de su repositorio y antes crear una carpeta de desarrollo.
mkdir odoo-dev
cd odoo-dev
git clone https://github.com/odoo/odoo.git -b 8.0 --depth 1
Atentos a los parametros pasador al git clone -b 8.0 que determina que baje la versin 8.0 y pasamos el segundo
parametro --depth 1 que determina el numero de revisiones que va a bajar del repositorio reduciendo mucho los megabites
bajados de internet. Saque este parametro si necesitas bajar todos los historiales de revisiones del odoo.
Paso 12: Creando archivo de configuracin para el servidor.
/home/odoo/odoo-dev/odoo/odoo.py --addons-path=/home/odoo/odoo-dev/odoo/addons \
-r odoo --stop-after-init --save
Si tenemos algun error en el comando arriba algo diferente del abajo mostrato ejecutar esta sesion si no seguimos
en frente con la sesion de abajo Paso 13:
Puede que pase algun error por ejemplo de algun modo incluyen alguna dependencia de python que no exista hasta esta
revisin de este libro. Pueden verificar todas las dependencias en un archivo txt con el nombre requirements.txt que se
encuentra en la carpeta raiz del repositorio de odoo sito /home/odoo/odoo-dev/odoo/requirements.txt, podemos usar el
comando pip para instalar estas dependencias directamente del repositorio pip.
El problema de este comando es que va querer bajar todas las dependencias de python y muchas de ellas ya bajamos en
el paso 8
Paso 13: Verificando el archivo de configuracin
Para tener un archivo de configuracin bien completo ejecutamos el proprio servidor odoo con el parametro --save para
que sea creado un archivo de configuracin en el home de usuario con el nombre oculto .openerp_serverrc para ver el
conteudo de este archivo.
more /home/odoo/.openerp_serverrc
Paso 17: Ahora ponemos el script para correr automaticamente en el boot del linux.
#mudamos al usuario Odoo y nos pedira la senha del usuario que esta
#corriendo En la terminal.
su - odoo
cd ~
mkdir odoo-dev
cd odoo-dev
git clone https://github.com/odoo/odoo.git -b 8.0 --depth 1
Bajamos las dependencias del Sistema operativo y configuracion del usuario de base de datos.
/home/odoo/odoo-dev/odoo/odoo.py setup_deps
/home/odoo/odoo-dev/odoo/odoo.py setup_pg
/home/odoo/odoo-dev/odoo/odoo.py -c /etc/odoo/openerp-server.conf
El script utiliza el archivo que se encuentra oculto en la carpeta del usuario que corre el odoo llamado
".openerp_serverrc" el ' . ' adelante en linux es la referencia de que es un archivo oculo y solamente se vera con el con el
parametro -a en el ls.
ls /home/odoo/ -a
. .bash_logout .links2 odoo-dev .profile
.. .bashrc .local .openerp_serverrc
addons_path = Variable responsable de pasar al servidor los locales de onde va a leer los addons disponibles en esta
estancia de Odoo, es posible tener 2 o mas carpetas separados por "," como mostrado abajo, tomar en cuenta no dejar
espacio entre los comas. Ejemplo:
addons_path = /home/odoo/odoo-dev/odoo/addons,/opt/addons
admin_password = Es la contrasea de mantenimiento de odoo es la que se usa para poder hacer backup, restore, crear
bases de datos nuevos etc.
log_level = [info][debug_rpc] son dos opciones principales, la primera info es la default i monstra informaciones del
servidor basico, la debug_rpc es para mostrar informaciones mas detallada donde podriamos detectar por ejemplo
performance del sistema.
xmlrpc_port = Variable para definir el puerto que va responder el Odoo por definicin es el 8069.
proxy_mode = Si utilizamos un proxy reverso para el servidor web, es necesario definir esta variable a verdadero.
xmlrpc_interface = Cuando definimos la variable proxy_mode para "True" es que no queremos que sea utilizado e
servidor que no sea por el proxy, la variable xmlrpc_interface es para definir a que clase de ip o a que ip especifico el
servidor respondera, default es 0.0.0.0 si trabajamos en proxy_mode seria interesante que este respondiendo a localhost o
Bajar e instalar Odoo 8 en Ubuntu 14.04 Server
sea 127.0.0.1
dbfilter = Es para definir que base de datos va quedar disponible para listar en Odoo, puede utilizar expresiones
regulares. por exempo ^v8db$ que lista las base de datos que el nombre empieza por v8db y cualquir terminacin.
data_dir =Carpeta que guarda los archivos adjuntos que no se encuentran en la base de datos, es PRIMORDIAL QUE SE
HAGA BACKUP juntamente con la base de datos. Pode definicin estandart guarda los dados en la carpeta oculta
.local/share/Odoo en la carpeta del usuario que corre el servidor.
without_demo=True para que no tenga disponible en la creacin de nuevas base de datos los datos demostrativos.
logrotate=True Para que compacte y haga la rotacin de los logs de Odoo es importante para que no llene nuestro disco.
Si no Aparece esta pantalla es que tenemos ya alguna base de datos Odoo instalado y tenemos que seleccionar manager
databases para crear una nueva.
Nos pedir la contrasea maestra ya completada como admin que es el estandart y en nombre de la base de dato que le
pusimos primer_banco_full luego si queremos que sean cargados los datos de demostracin de Odoo el lenguaje principal
y una contrasea para el usuario admin de esta base de datos.
Para ver lo grandioso que es el Odoo vamos instalar todos los mdulos para eso solamente tendremos que clicar en
instalar en cada uno de los arriba mostrados. Para instalar todos los modulos de una vez utilizamos el menu de busqueda
para filtrar solamente los programas ya que tenemos tambin programas que agregan o cambian algunas funcionalidades
de Odoo. En el menu de busqueda eleccionamos aplicaciones en el filtro.
Luego cambiamos la vista en que estamos trabajando en este momento que es la kanban y seleccionamos la vista lista
como mostrado abajo.
10
Para instalar los otros mdulos en Odoo marcamos el checkbox arriba en la cabecera de la lista que va seleccionar todas
y nos va aparecer arriba de la cabecera algunas opciones o tambin llamada de acciones. De ai vamos a seleccionar
modulo de instalacin inmediata como mostrado en el men abajo.
Despus de un largo rato tendremos los mdulos instalados tenemos que salir e volver a entrar para cargar los mismos.
Para eso usamos el men Cerrar sesin que se encuentra a lado superior derecho clicando en administrador.
Al volver a entrar con el usuario admin y contrasea que definimos al crear la base de dados tendremos todos los mdulos
instalado. En primero tenemos el panel de mensajes o email del usuario y todas las mensajes y alteraciones en los datos
de inters del usuario.
11
variable o informaciones que necesitemos y logicamente no podremos seguir la ejecucin linea a linea del codigo. Otra
forma es utilizando el entorno de desarrollo Eclipse pero es lento. Otra forma creada por la gente de la empresa
CLEARCORP S.A. De Costa Rica www.clearcorp.co.cr es un modulo de openerp que funciona con la versin 6.1, 7.0 y 8
de Odoo juntamente con el winpdb que corre en linux. Primero vamos a bajar los fuentes de este modulo que tenemos que
bajar del github juntamente con otros modulos desarrollados por ellos.
su - odoo
cd odoo-dev/odoo/
git clone https://github.com/Vauxoo/addons-vauxoo.git --depth=1
cd addons
ln -s ../addons-vauxoo/winpdb_debugger
Tenemos que hacer unos cambios en el xml del menu de este modulo para que funcione en la versin 7 y 8 de Odoo ya
que exije que tendamos 2 niveles en blanco de menu. Podremos poner en el menu configuraciones. Cambiamos la linea
de arquivo windpdb_debugger_view.xml
Notamos que cambiamos noma el nombre del menu parent de base.menu_administration para base.menu_config. Esto se
ve necesario ya que en la versin 7 y 8 el segundo nivel general del menu es un string sin accin por definicin en core de
openerp diferente de la versiones anteriores.
Tambien tenemos que editar el archivo winpdb_debugger.py para que acepte conecciones remotas.
para:
Tenemos que Instalar las pedendencias en python de este modulo que es rpdb2 tenemos que instalar tambien en este
servidor el winpdb
12
13