Sei sulla pagina 1di 13

Odoo

- libro Tecnico

Tabla de contenido
1. introduction
2. Bajar e instalar Odoo 8 en Ubuntu 14.04 Server

Odoo - libro Tecnico

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

Odoo - libro Tecnico

Bajar e instalar odoo 8 en ubuntu 14.04.


Por mas que queramos tener todo listo para utilizar y desarrollar en Odoo para windows siempre lo mejor va ser tener todo
bajo linux, ya que es su principal fuente de desarrollo y todo es probado y funciona mejor con el.

Instalacin Automatizada por un script


Tenemos un script automatizador para instalar Odoo por completo en un Ubuntu 14.04 Server con todos sus
dependencias, y dejando ya corriendo como servicio. Es la manera mas rapida de instalar. El mismo Script fue
disponibilizado Por: Andr Schenkels, ICTSTUDIO 2014
El repositorio de Github es https://github.com/aschenkels-ictstudio/openerp-install-scripts dentro de este repositorio
tenemos los scripts para el Odoo 8. Para facilitar dejo el comando para bajar el script sin el uso del github propriamente.

wget https://raw.githubusercontent.com/aschenkels-ictstudio/openerp-install-scripts/master/odoo-v8/ubuntu-14-04/odoo_install.sh -O odoo


sudo sh odoo_install.sh

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"

Instalacin Manual paso a paso Ubuntu 14.04


Paso 1: Instalar Ubuntu 14.04
Paso 2: Abrir el terminal linux como root
Paso 3: Actualizar El sistema completamente

sudo apt-get update ; sudo apt-get upgrade -y

Paso 4: Instalar el Github y el Postgresql

sudo apt-get install git postgresql

Paso 5: Vamos a crear el usuario de linux que va correr el odoo ya que no es permitido ejecutar el odoo como root.

Bajar e instalar Odoo 8 en Ubuntu 14.04 Server

Odoo - libro Tecnico

sudo useradd -m -U -G sudo -s /bin/bash --home=/home/odoo odoo

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

sudo passwd odoo

guardar esta contrasea que digitas para usarle en el paso 10


Paso 7: Creamos el usuario ahora de la base de dados postgres
En algunas ocasiones encontramos problema de en la instalacin de posgres debido a no haber indicado un "locales" del
linux el postgresql no inicializa las base de datos para garantizar que esta inicializado ejecutamos el comando

LC_ALL=en_US.UTF-8 pg_createcluster 9.3 main --start


sudo su - postgres -c "createuser -s odoo" 2> /dev/null

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

sudo apt-get install python-dateutil python-feedparser /


python-gdata python-ldap python-libxslt1 python-lxml /
python-mako python-openid python-psycopg2 python-pybabel /
python-pychart python-pydot python-pyparsing /
python-reportlab python-simplejson python-tz /
python-vatnumber python-vobject python-webdav /
python-werkzeug python-xlwt python-yaml python-zsi /
python-docutils python-psutil wget python-unittest2 /
python-mock python-jinja2 python-dev libpq-dev /
poppler-utils python-pdftools antiwordpy /
python-setuptools python-pybabel python-decorator /
python-pip postgresql-server-dev-9.3

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 ~/

Bajar e instalar Odoo 8 en Ubuntu 14.04 Server

Odoo - libro Tecnico

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

Salida que debe retornar el comando arriba:

2015-04-11 23:39:54,784 31613 INFO ? openerp: OpenERP version 8.0


2015-04-11 23:39:54,784 31613 INFO ? openerp: addons paths: ['/home/odoo/.local/share/Odoo/addons/8.0', u'/home/odoo/odoo-dev/odoo/addo
2015-04-11 23:39:54,784 31613 INFO ? openerp: database hostname: localhost
2015-04-11 23:39:54,784 31613 INFO ? openerp: database port: 5432
2015-04-11 23:39:54,784 31613 INFO ? openerp: database user: odoo
2015-04-11 23:39:54,873 31613 INFO ? openerp.service.server: Initiating shutdown
2015-04-11 23:39:54,873 31613 INFO ? openerp.service.server: Hit CTRL-C again or send a second signal to force the shutdown.

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.

sudo apt-get build-dep python-imaging


sudo apt-get install libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev
sudo pip install -r /home/odoo/odoo-dev/odoo/requirements.txt

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 14: Copiar el archivo de configuracin a la carpeta /etc/

sudo mkdir /etc/odoo

Bajar e instalar Odoo 8 en Ubuntu 14.04 Server

Odoo - libro Tecnico

sudo chown $(whoami) /etc/odoo


cp /home/odoo/.openerp_serverrc /etc/odoo/openerp-server.conf

Paso 15: Carpetas para los logs del servidor.

sudo mkdir /var/log/odoo


sudo chown $(whoami) /var/log/odoo
sudo cp /home/odoo/odoo-dev/odoo/debian/init /etc/init.d/odoo
sudo chmod +x /etc/init.d/odoo
sudo ln -s /home/odoo/odoo-dev/odoo/odoo.py /usr/bin/openerp-server
sudo ln -s /home/odoo/odoo-dev/odoo/odoo.py /usr/bin/odoo.py
sudo chown $(whoami) /usr/bin/openerp-server

Paso 16: Comprobando si todo corre bien.

sudo /etc/init.d/odoo start


curl http://localhost:8069

<html><head><script>window.location = '/web' + location.hash;</script></head></html>

Paso 17: Ahora ponemos el script para correr automaticamente en el boot del linux.

sudo update-rc.d odoo defaults

Instalacin usando el Servidor Odoo


El propio servidor odoo nos ayuda a instalar en debian y derivador sus dependencias y la base de dados Postgresql.
Economizando bastante tiempo en el procedimiento arriba mencionado.
Paso 1: Instalar Ubuntu 14.04
Paso 2: Abrir el terminal linux como root
Paso 3: Actualizar El sistema completamente
Paso 4: Instalar el Github y el Postgresql
Paso 5: Vamos a crear el usuario de linux que va correr el odoo ya que no es permitido ejecutar el odoo como root.
Paso 6: Cambiamos la contasea de este usuario

# Paso 3 actualizar el sistema completamente


sudo apt-get update ; sudo apt-get upgrade -y
# Paso 4 Instalar el github y postgresql
sudo apt-get install git postgresql -y
# si aqui aparece un mensage de error que no pude
#crear el cluster de postgres debido a algun error de locales
sudo LC_ALL=en_US.UTF-8 pg_createcluster 9.3 main --start
# Paso 5 Creamos el usuario de linux
sudo useradd -m -U -G sudo -s /bin/bash --home=/home/odoo odoo
# Paso 6 Modificamos su contrasea
sudo passwd odoo

Bajamos el Codigo fuente de Odoo.

#mudamos al usuario Odoo y nos pedira la senha del usuario que esta
#corriendo En la terminal.

Bajar e instalar Odoo 8 en Ubuntu 14.04 Server

Odoo - libro Tecnico

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

Repetimos los pasos 12, 13, 14, 15, 16, 17.

Archivo de configuracin openerp-server.conf


Veremos algunos de los principales parametros del archivo de configuracin de odoo que para no tener que cambiar los
scripts de inicializacin de Odoo.
El archivo de configuracin de odoo cuando no esta definido como parametro en el comando para levantar el servidor tipo:

/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

Odoo - libro Tecnico

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.

Instalacin de mdulos y creacin de una base de datos.


Tenemos todo instalado con nuestro servidor corriendo que es una perfecta instalacin para como servidor de produccin
entramos en el navegador con la direccin ip de la maquina seguido de :8069 que es el puerto estandart de Odoo y nos
encontramos con la pantalla abajo para poder crear nuestra primer base de datos:

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.

Bajar e instalar Odoo 8 en Ubuntu 14.04 Server

Odoo - libro Tecnico

Clicamos en el botn Crear.


Despus de un rato Odoo ya va entrar directamente a la aplicacin dejando la pantalla bajo disponible para que tengamos
la oportunidad de instalar los mdulos necesarios.

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.

Bajar e instalar Odoo 8 en Ubuntu 14.04 Server

10

Odoo - libro Tecnico

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.

Depuracin de cdigo python con Winpdb Remoto


Uno de los principales problemas al desarrollar mdulos o incluso conocer el funcionamiento de mdulos es poder depurar
el cdigo python para saber los valores de las variables y saber si los retornos son los esperados. Una de las formas de
depuracin es directo en el codigo utilizar el metodo _logger.info(mensage y/o variables) que nos traera un mensagem en
el console o en el archivos de log de odoo. Pero es muy trabajoso ya que tenemos que estar codificando para cada
Bajar e instalar Odoo 8 en Ubuntu 14.04 Server

11

Odoo - libro Tecnico

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

<menuitem name= "Star Winpdb debugger"


action="winpdb_debugger_open_wizard"
id="winpdb_debugger_menu"
parent="base.menu_administration"
sequence="100"
/>

Y cambiamos por esta:

<menuitem name= "Star Winpdb debugger"


action="winpdb_debugger_open_wizard"
id="winpdb_debugger_menu"
parent="base.menu_config"
sequence="100"
/>

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.

def action_start_debugger(self, cr, uid, data, context):


rpdb2.start_embedded_debugger(config['admin_passwd'] )

para:

def action_start_debugger(self, cr, uid, data, context):


rpdb2.start_embedded_debugger(config['admin_passwd'], fAllowRemote=True )

Tenemos que Instalar las pedendencias en python de este modulo que es rpdb2 tenemos que instalar tambien en este
servidor el winpdb

sudo apt-get install winpdb

Bajar e instalar Odoo 8 en Ubuntu 14.04 Server

12

Odoo - libro Tecnico

El winpdb debe ser instalado tambien en la maquina cliente.

Bajar e instalar Odoo 8 en Ubuntu 14.04 Server

13

Potrebbero piacerti anche