Demostración funcional de OpenERP 6.1

OpenERP No Comments

Desde que he empezado con OpenERP no paro de descubrir cosas nuevas y este video me ha ayudado a descubrir alguna de ellas.

 

 

Muy interesante.

 

Cheli

Localización española para OpenERP 6.1

OpenERP 22 Comments

Como os prometí en este apunte os voy a explicar la instalación de los módulos de la localización para España de OpenERP 6.1. Lo primero que tenemos que hacer es obtener los módulos desde el repositorio de bazaar en Launchpad.

 

bzr branch lp:openerp-spain/6.1 openerp-spain61

 

Esta orden nos creará el directorio openerp-spain61 con los módulos. Una vez tenemos los módulos tendremos que parar el servidor y copiarlos al directorio addons del mismo.

 

service openerp stop

cp -R openerp-spain61 /usr/lib/pymodules/python2.7/openerp/addons

 

Si no sabemos cual es el directorio de addons de nuestro servidor lo podremos averiguar mirando el registro de arranque.

 

cat /var/log/openerp-server.log | grep "addons paths"

 

En este punto tenemos dos posibilidades, la primera consiste en arrancar el servidor pasándole como parámetro la opción --update=módulos, donde módulos son los módulos a actualizar separados por comas. Nosotros le pasaremos los módulos de la localización, para facilitaros esta tarea os dejo este archivo que deberéis descargar y entonces ya podréis pasar el parámetro de la siguiente manera --update=`modulos.txt`. La segunda consiste en entrar en OpenERP y pinchar en la opción “Settings”, aquí pinchar en “Define default users preferences” y en la opción “Interface” elegir extended. Ahora ya podremos seleccionar la entrada del menú “Settings->Modules->Update Modules List”.

Tanto si hemos elegido la primera como la segunda posibilidad ya podremos ver nuestros módulos, sólo queda instalarlos y listo.

 

Cheli

Instalación de OpenERP 6.1 en Debian / Ubuntu

OpenERP 18 Comments

La forma más sencilla de instalar OpenERP 6.1 en Debian / Ubuntu es a través del paquete disponible en la página de OpenERP. Lo primero que tenemos que hacer es descargarnos el paquete.

 

wget http://nightly.openerp.com/6.1/releases/openerp_6.1-1-1_all.deb

 

Después como root lo instalamos.

 

dpkg -i openerp_6.1-1-1_all.deb

 

Si nos falta alguna dependencia fallará. Lo más seguro es que nos sugiera un apt-get -f install para solucionarlo, si es así lo ejecutamos y seguimos. El problema es que el paquete deb no tiene como dependencia el servidor de Postgresql ya que este podría encontrarse en otra máquina. Nosotros lo vamos a instalar en la misma máquina que el servidor de OpenERP.

 

apt-get install postgresql-9.1

 

Nota: En mi caso el paquete se llama postgresql-9.1 pero esto puede variar ligeramente en vuestra distribución.

 

Tendremos que configurar postgresql para que autentique correctamente en local, además tendremos que crear un usuario para nuestra base de datos. Editamos el archivos /etc/postgresql/9.1/main/pg_hba.conf y cambiamos la linea:

 

local   all             all                                     peer

por

local   all             all                                     md5

 

En vuestro caso la linea puede ser ligeramente diferente. Después tendremos que reiniciar el servidor.

 

service postgresql restart

 

Añadimos el nuevo usuario a la base de datos. Primero nos autenticamos como usuario postgres (administrador de Postgresql por defecto).

 

su - postgres

 

Y luego creamos el usuario:

 

createuser --createdb --username postgres --no-createrole --pwprompt cheli

 

Le damos una contraseña, en mi caso cheli, y le indicamos que si sea super usuario.

 

Por último tenemos que editar el archivo /etc/openerp/openerp-server.conf y dejarlo así:

 

[options]
; This is the password that allows database operations:
admin_passwd = admin
db_host = False
db_port = False
db_user = cheli
db_password = cheli

 

Al reiniciar el servidor de OpenERP este ya podrá conectarse a la base de datos.

 

service openerp restart

 

Una vez haya arrancado el servidor tenemos que crear la base de datos, esta tarea la realizaremos desde el cliente web. Abrimos la siguiente url desde el navegador:

 

http://localhost:8069/web/webclient/home

 

Y pinchamos en el enlace “Manage Databases”. En la nueva ventana pinchamos en “create” y rellenamos los campos:

 

admin (por defecto a admin, tal y como lo pusimos en el archivo de configuración)

cheli (le damos un nombre, en mi caso cheli)

English (US) (en mi caso English US)

Admin password: cheli (le damos una contraseña de administración)

cheli (repetimos la contraseña)

 

Si queremos que se cargue con datos de ejemplo entonces seleccionaremos la opción Load Demostration data.

 

Cuando se termine de crear la base de datos se autenticará automáticamente y ya estaremos en nuestro OpenERP completamente limpio. Las siguientes veces tendremos que autenticarnos con usuario y contraseña admin / cheli.

 

En el siguiente apunte os explicaré como cargar la localización para España, así que atentos.

 

Cheli

Diferencias técnicas entre OpenERP y Openbravo 1

Openbravo, OpenERP, Software Libre 2 Comments

A primera vista hay dos grandes diferencias técnicas entre OpenERP y Openbravo, la primera es la arquitectura. Mientras openbravo está desarrollado en Java JEE y se ejecuta sobre Tomcat (es el recomendado por Openbravo) y por tanto su arquitectura se podría resumir en este gráfico.

 

Arquitectura Openbravo

 

OpenERP tiene una arquitectura en la que separa claramente las diferentes capas, por una lado tiene el servidor que maneja la lógica, al igual que Openbravo tiene la base de datos, y en un tercer nivel tenemos las diferentes vistas. En este caso se ha utilizado Python para desarrollar las diferentes capas.

 

Arquitectura OpenERP

 

 

Las desventaja que tiene Openbravo en cuanto a arquitectura es que su interfaz (vista) está centrada en el web. La única forma de conseguir una interfaz diferente a una básada en tecnología web es utilizandos servicios web, este es el caso por ejemplo del TPV (Terminal Punto de Venta), es la misma tecnología que podríamos utilizar para integrar cualquier otro sistema externo. En el caso de OpenERP el acceso al servidor está estandarizado, esto significa que podemos desarrollar el cliente que queramos pero todos accederán de forma estándar al servidor.

 

La segunda gran diferencia es el hecho de que Openbravo utilice mucho código en base de datos en forma de funciones (procedimentos almacenados pl /sql), triggers y restricciones. En el patrón MVC (Modelo Vista Controlador) de Openbravo se desplaza gran parte de la lógica (Controlador) a la capa de de acceso a datos (Modelo), esto genera varios problemas.

 

Postgresql Openbravo

Por una parte se dispersa la lógica entre el controlador (código java en el contenedor de servlets Tomcat) y el Modelo (código pl /sql, trigger y restricciones en la base de datos). Otro problema es que la independencia de base de datos queda casi descartada, además el matenimiento del código de base de datos se complica hasta tal punto que migrar de una versión del gestor de base de datos a la siguiente puede resultar un problema. Por ejemplo, Openbravo 2.50 no soporta oficialmente postgresql 9.1, que es la última versión.

Openbravo intenta solventar parcialmente este inconveniente con DBSorucesmanagement, que permite estandarizar de forma más o menos elegante el código en base de datos y exportarlo a xml. Hasta el momento soportan Postgresql y Oracle y aunque no es perfecto, no suelen haber muchos problemas graves, y los que hay suelen solucionarse sin excesivas complicaciones, eso si, hay que generar el código pensando en esta compatibilidad.

 

En OpenERP no existe código en base de datos, por lo que la independencia de base de datos es mucho más fácil de conseguir. Además en OpenERP actualizar de una versión de la base de datos a la siguiente es casi inmediato. Pero entonces ¿dónde está el código?, pues es sencilo, la lógica está toda en la capa de controlador.

 

Postgresql OpenERP

Ya iremos desgranando más diferencias en otros apuntes.

Cheli