Entradas

OpenERP cambia su nombre a Odoo

Aunque se venía gestando desde hacía algún tiempo, ayer saltó noticia oficialmente, en primera instancia para los partners oficiales de OpenERP / Odoo, y seguidamente se propagó rápidamente por las redes sociales. A fecha de hoy el cambio ya está realizado, y apenas queda rastro de OpenERP en su web oficial.

El motivo del cambio es principalmente desvincular la palabra “ERP” del nombre, debido a que OpenERP ya se había convertido en mucho más que eso, especialmente desde la nueva versión 8.0, que trae nuevas incorporaciones web como el CMS, eCommerce o gestor de eventos.

Además del cambio de nombre, el cambio más relevante es que los repositorios de código pasan de estar en Launchpad (bzr) a Github (git), lo que supone una mejora sustancial en la herramienta de control de versiones (falta confirmar como se gestionarán las traducciones en adelante) y mayor rapidez en la descarga del código.

Por supuesto, Odoo seguirá siendo software libre 100% licenciado bajo AGPL.

Aunque OpenERP s.a (todavía se llama así) nos ha dado un margen de tiempo para adaptar las localizaciones a los cambios, la comunidad española ya nos hemos puesto en marcha para organizar la creación de las listas a  odoo-spain@googlegroups.com y odoo-spain-users@googlegroups.com, migrar el código de los módulos españoles a Github y adaptar textos y artículos de portales comunitarios.

La información principal se resume el siguiente correo enviado por Anthony Lesuisse a la comunidad mundial:

  • github.com/odoo/odoo es ahora el repositorio oficial. Se ha realizado un merge de histórico de las 3 ramas.
  • el Bug Tracker de Github reemplaza al de Launchpad, se utilizarán etiquetas para filtrar y ordenar los errores.
  • las traducciones todavía permanecen en Rosetta de Launchpad  (Olivier Dony sincronizará manualmente los archivos .pot and .po). Más adelante se hará una transición a otra plataforma (probablemente transifex).
  • Se publicará una herramienta para convertir una rama funcional de Launchpad a una rama Git
  • Los namespaces se renombrarán a Odoo manteniendo compatibilidad hacia atrásgithub.com/odoo-dev/odoo es un repositorio bifurcado donde se alojarán todas las ramas de desarrollos de OpenERP s.a (la compañía cambiará su nombre más adelante). Todos los desarrollos permanecen públicos.
  • runbot es reemplazado por runbot https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-runbot-al
  • help es ahora mantenido por el módulo de odoo website_forum
  • la lista de correo se gestionará con el módulo web website_mail_group
  • se publicará un nuevo tutorial de desarrollo
  • la documentación de referencia será actualizada, el memento técnico se convertirá a rst, se mantendrá el archivo .rst en odoo o en el repositorio wiki de github

pantallazo odoo

Las 3 ramas con su historia completa están en el repositorio de Odoo. Probablemente se moverá /addons/* a odoo/addons/ por lo que ‘base’ estará con el resto de módulos
Como ahora es fácil mover código entre el servidor y los addons, probablemente se moverá res.partner res.bank etc.. a un módulo partner (res.partner queda en base por res.users pero pronto será un modelo vacío)

También se han borrado muchos blobs innecesario del histórico. El repositorio completo tiene cerca de 400mb, que es un tercio del tamaño bzr. Unir los 3 históricos ha sido un logo técnico. Todo el trabajo duro fue realizado por Xavier Morel(xmo)

En breve se ofrecerá información mucho más completa en los canales habituales.

odoo_formerly_openerp

Colaborar en proyectos de Launchpad

Registrarse en Launchpad

Para registrarse en Launchpad hay que acudir a su web:

https://launchpad.net/

y hacer clic en la parte superior derecha, donde pone “Register”. Automáticamente se muestra un formulario, donde que hay que hacer clic en “Crear una cuenta nueva” (omitir este paso si ya se tiene cuenta en Launchpad).

En el formulario de registro habrá que indicar un nombre de usuario, muy importante ya que será parte del nombre de nuestras ramas de código, y una dirección de correo a la que nos llegarán las notificaciones.

Vincular nuestros sistemas a nuestra cuenta en launchpad

Para poder utilizar desde nuestro sistema el usuario creado en Launchpad hay que vincular el sistema con la cuenta, para esto se utilzan las claves ssh. Con el siguiente proceso crearemos una clave publica y una privada en nuestro sistema. En Launchpad se guardará la clave pública, y cuando nuestro sistema necesite acceder a nuestra cuenta en Launchpad consultará si coincide la información de la clave publica con nuestra clave privada para ver si nuestro sistema tiene o no permisos para acceder a la cuenta.

Para generar las claves ssh, en un sistema con Ubuntu/Mint o basado en Debian:

Instala OpenSSH

sudo apt-get install openssh-client

Genera la clave
ssh-keygen -t rsa

– Presiona intro para aceptar el nombre por defecto
– Introduce la contraseña

Este proceso crea en /home/usuario/.ssh las claves, id_rsa la clave privada y id_rsa.pub la clave pública.

Ahora en la cuenta creada de Launchpad se debe indicar cual es la clave pública, haciendo clic en “SSH Keys” y copiando el contenido de /home/usuario/.ssh/id_rsa.pub

Descargar el código con Bazaar

Bazaar es el sistema de control de versiones con el que trabajan los proyectos alojados en Launchpad. Para instalarlo en un sistema Ubuntu/Mint  o basado en Debian se ejecuta el siguiente comando:

apt-get install bzr

Para indicar en nuestro sistema con que usuario de launchpad vamos a trabajar ejecutamos

bzr login nombre_usuario_launchpad

este comando sólo es necesario ejecutarlo una vez, cuando se instala bzr. Si siempre se trabaja con el mismo usuario no es necesario volver a hacer ‘Login’ en el mismo sistema.

Para descargar el código del proyecto utilizaremos el comando “bzr branch lp:proyecto/version”, que crea una rama para trabajar en local con la copia de la versión del proyecto indicado, por ejemplo:

bzr branch lp:openerp-spain/6.0

Opcionalmente se puede añadir un parámetro para indicar en que directorio se quiere guardar la rama, si no utilizara lo que haya después del último “/”, en el caso anterior lo almacenaría en el directorio “6.0”.

Añadir código en nuestra rama local

Una vez se han realizado los cambios necesarios en el código local que tenemos del proyecto hay que indicar esos cambios en el control de versiones. Las siguientes operaciones se realizarán desde dentro de la carpeta que hemos descargado, en el ejemplo anterior en “6.0”.

Si hemos creado nuevos ficheros hay que añadirlos al control de versiones, esto lo se hace con:

bzr add *

se utiliza * para añadir todos los ficheros, aunque es posible indicar los ficheros de forma individual.

Tanto si se han añadido ficheros al control de versiones como si no, cuando el código se ha modificado, habrá que indicarlo realizando un “commit” indicando que modificación se ha realizado:

bzr commit -m “mensaje”

El mensaje es aconsejable que tenga el siguiente formato “[TAG] descripción”. La etiqueta [TAG] por convenio se utilizan las siguientes opciones:

  • [IMP]: Mejoras
  • [FIX]: Corrección de errores
  • [REF]: Refactorizar, modificar el código sin cambiar la funcionalidad
  • [ADD]: Añadir fuentes
  • [REM]: Eliminar fuentes

Subir cambios al proyecto (con permisos en el proyecto)

Si el usuario con el que trabajamos tiene permisos en el proyecto actual, se pueden subir directamente estos cambios al proyecto. Esta opción sólo es recomendable para los usuarios con experiencia y responsables del código del proyecto.

Siguiendo con el ejemplo anterior, para subir el código a lp:openerp-spain/6.0 se puede hacer con el siguiente comando:

bzr push lp:openerp-spain/6.0

Subir los cambios a una rama de nuestro usuario y proponer un merge con la rama original (no es necesario permisos en el proyecto)

Si el usuario no tiene permisos en el proyecto para el que pretende subir el código, o si se quiere que otros miembros del proyecto revisen el nuevo código, es posible subir el código a una rama del usuario creado y proponer un merge con la rama original. De esta forma el resto de miembros del proyecto podrán descargar el código de dicha rama para comprobar su funcionamiento, y una vez validado, añadirlo al proyecto principal.

Para subir el código a una rama propia del usuario creado, siguiendo con el ejemplo anterior y suponiendo que el nombre de usuario en Launchpad es “nombre_usuario_launchpad” se puede crear la rama para dicho usuario con el siguiente comando:

bzr push lp:~nombre_usuario_launchpad/openerp-spain/6.0

Ahora es posible ver la web de esta rama en:

https://code.launchpad.net/~nombre_usuario_launchpad/openerp-spain/6.0

Y para indicar que se quiere hacer un “merge” (fusión) con el proyecto principal, en esta web, en “Branch merges” se hace clic sobre “Propose for merging” y se completa la información sobre el “merge”.

Una vez propuesto el “merge”, los usuarios miembros del proyecto podrán probar tu código y añadirlo al proyecto al validar el “merge”.