Sie sind auf Seite 1von 15

Odoo

- libro Tecnico

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

2
Odoo - libro Tecnico

1 Introducción
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 versión 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.

También queremos mostrar el uso del Github y controlar nuestra nuevas versiónes por el
pero no será muy avanzado, solamente daremos su ambito general.

introduction 3
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.

Instalación 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/odoo-install-scripts/8.0/\
ubuntu-14-04/odoo_install.sh -O odoo_install.sh
sudo sh odoo_install.sh

Como referencia en las lineas iniciales del script tenemos algunos parametros que son para
configurar por ejemplo la contraseña 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"

Instalación Manual paso a paso Ubuntu 14.04

Bajar e instalar Odoo 8 en Ubuntu 14.04 Server 4


Odoo - libro Tecnico

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.

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 contaseña de este usuario

sudo passwd odoo

guardar esta contraseña 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 instalación 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

Bajar e instalar Odoo 8 en Ubuntu 14.04 Server 5


Odoo - libro Tecnico

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

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 versión 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 configuración para el servidor.

/home/odoo/odoo-dev/odoo/odoo.py --addons-path=/home/odoo/odoo-dev/odoo/addons \
-r odoo --stop-after-init --save

Bajar e instalar Odoo 8 en Ubuntu 14.04 Server 6


Odoo - libro Tecnico

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

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 revisión 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 configuración

Para tener un archivo de configuración bien completo ejecutamos el proprio servidor odoo
con el parametro --save para que sea creado un archivo de configuración 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 configuración a la carpeta /etc/

sudo mkdir /etc/odoo


sudo chown $(whoami) /etc/odoo
cp /home/odoo/.openerp_serverrc /etc/odoo/openerp-server.conf

Paso 15: Carpetas para los logs del servidor.

Bajar e instalar Odoo 8 en Ubuntu 14.04 Server 7


Odoo - libro Tecnico

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

Instalación 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 contaseña de este usuario

Bajar e instalar Odoo 8 en Ubuntu 14.04 Server 8


Odoo - libro Tecnico

# 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 contraseña
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.
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 configuración openerp-server.conf


Veremos algunos de los principales parametros del archivo de configuración de odoo que
para no tener que cambiar los scripts de inicialización de Odoo.

El archivo de configuración 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.

Bajar e instalar Odoo 8 en Ubuntu 14.04 Server 9


Odoo - libro Tecnico

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 contraseña 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 definición 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
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 terminación.

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
definición 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 creación de nuevas base de datos


los datos demostrativos.

logrotate=True Para que compacte y haga la rotación de los logs de Odoo es importante
para que no llene nuestro disco.

Bajar e instalar Odoo 8 en Ubuntu 14.04 Server 10


Odoo - libro Tecnico

Instalación de módulos y creación de una base


de datos.
Tenemos todo instalado con nuestro servidor corriendo que es una perfecta instalación para
como servidor de producción entramos en el navegador con la dirección 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 contraseña 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 demostración de Odoo el lenguaje principal y una contraseña para el
usuario admin de esta base de datos.

Clicamos en el botón Crear.

Después de un rato Odoo ya va entrar directamente a la aplicación dejando la pantalla bajo


disponible para que tengamos la oportunidad de instalar los módulos necesarios.

Bajar e instalar Odoo 8 en Ubuntu 14.04 Server 11


Odoo - libro Tecnico

Para ver lo grandioso que es el Odoo vamos instalar todos los módulos 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 también 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 12


Odoo - libro Tecnico

Para instalar los otros módulos 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
también llamada de acciones. De ai vamos a seleccionar modulo de instalación inmediata
como mostrado en el menú abajo.

Después de un largo rato tendremos los módulos instalados tenemos que salir e volver a
entrar para cargar los mismos. Para eso usamos el menú Cerrar sesión que se encuentra a
lado superior derecho clicando en administrador.

Al volver a entrar con el usuario admin y contraseña que definimos al crear la base de
dados tendremos todos los módulos instalado. En primero tenemos el panel de mensajes o
email del usuario y todas las mensajes y alteraciones en los datos de interés del usuario.

Depuración de código python con Winpdb


Bajar e instalar Odoo 8 en Ubuntu 14.04 Server 13
Odoo - libro Tecnico

Remoto
Uno de los principales problemas al desarrollar módulos o incluso conocer el
funcionamiento de módulos es poder depurar el código python para saber los valores de las
variables y saber si los retornos son los esperados. Una de las formas de depuración 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 variable o informaciones que necesitemos y
logicamente no podremos seguir la ejecución 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 versión 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 versión 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"
/>

Bajar e instalar Odoo 8 en Ubuntu 14.04 Server 14


Odoo - libro Tecnico

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 versión 7 y 8 el segundo nivel
general del menu es un string sin acción por definición 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

El winpdb debe ser instalado tambien en la maquina cliente.

Bajar e instalar Odoo 8 en Ubuntu 14.04 Server 15

Das könnte Ihnen auch gefallen