Launchpad y Bazaar para colaborar con OpenERP


Buenas… Angel Moya, reciente miembro de nuestra comunidad nos aporta el siguiente manual para trabajar con launchpad y Bazaar. Muchísimas gracias Angel por la aportación.

Hola, he empezado con lo del manual, tengo la primera parte para explicar un poco como bajar el código y subirlo luego, lo he publicado tambien en mi blog, a ver que os parece y si me podeis corregir si algo no se ve claro.

Launchpad y Bazaar para colaborar con OpenERP

By Angel Moya

La semana pasada estuve en Bilbao en las jordanas estatales de OpenERP y me quede impresionado con el funcionamiento de la comunidad. Como hace tiempo que estoy dándole vueltas a la documentación y pensando en traducirla he decidido que lo primero con lo que voy a empezar a colaborar es con la traducción de la documentación. Las herramientas necesarias para colaborar con OpenERP son Launchpad y Bazaar, vamos a ver que son y como se utilizan si queremos descargar código (en este caso será el código de la documentación), modificarlo y volverlo a subir para que este disponible para la comunidad.

Según la wikipedia “Launchpad es una aplicación web y un sitio web que apoya el desarrollo de software, en particular el de software libre. Está desarrollada y mantenida por Canonical Ltd..”, puedes ver el articulo completo aqui. Launchpad da soporte para compartir código y controlar versiones, reportar errores (Bugs), sugerir modificaciones y nuevas funcionalidades (blueprints), crear traducciones y para dar respuestas a preguntas de la comunidad. La herramienta que permite compartir el código y controlar versiones es Bazaar, luego veremos como funciona.

Para poder colaborar en cualquier proyecto alojado en Launchpad tendremos que registrarnos en la web de Launchpad. Una vez tengas tu cuenta en launchpad puedes unirte al grupo openerp-community. No es necesario unirse a ningún grupo para descargarte el código, pero si para subir modificaciones.

Bazaar es la herramienta que permite descargar el código y controlar las versiones a la hora de subirlo. Puedes ver mas en Bazaar en cinco minutos. Para instalar bazaar en ubuntu 9.10 hacer lo siguiente:

echo 'deb-src http://ppa.launchpad.net/bzr/ubuntu karmic main' | sudo tee -a /etc/apt/sources.list
echo 'deb http://ppa.launchpad.net/bzr/ubuntu karmic main' | sudo tee -a /etc/apt/sources.list
apt-get update
apt-get install bzr

para instalarlo en otra versión de ubuntu simplemente cambia el nombre de la versión al añadir los repositorios, y para otro sistema operativo puedes ver la guía aquí.

La idea es la siguiente, el código compartido en bazaar se organiza en ramas o branches, por ejemplo el proyecto openerp-server tiene una rama llamada trunk para el código en desarrollo, y una rama 5.0 para la versión estable. Así que si queremos descargarnos la versión estable de openerp-server podemos hacer:
bzr brach lp:openobject-server/5.0

y para descargarnos el código de la documentación:


bzr branch lp:openobject-doc

con esto se nos crea un directorio llamado openobject-doc que contendrá el código de la documentación. En el próximo post explicare la estructura del código de la documentación y como se crean las traducciones.

Bazaar es una herramienta distribuida de control de versiones así que lo que hemos hecho realmente al descargar el código es crear una rama en nuestro repositorio local, si modificamos el código antes de subirlo tendremos que sincronizar nuestra rama con la original, obtendremos los cambios realizados desde que descargamos el código o desde la última revisión que hicimos y lo sincronizaremos con nuestra rama local.

Para poder publicar nuestro código con Bazaar primero tendremos que identificarnos, por un lado nos identificaremos con nuestro usuario de Launchpad:
bzr launchpad-login nombre_usuario_launchpad

la primera vez que lo ejecutemos se creara el fichero
/home/angelmoya/.bazaar/authentication.conf con la información de nuestro usuario.

Por otro lado tenemos que identificar nuestro equipo con la clave ssh key, para conseguir nuestra clave ssh key en ubuntu lo haremos así:

#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

Con esto se genera en el directorio /home/usuario/.ssh/ una pareja de claves, id_rsa la clave privada y id_rsa.pub la clave publica. La clave privada se quedara en tu equipo y la publica hay que subirla a tu perfil de launchpad. Logeate en Launchpad.net con tu usuario y accede a tu página para editar la información de SSH keys.

Copia en esa ventana la información que hay dentro del fichero /home/usuario/.ssh/id_rsa.pub y clicka el botón
Import Public Key para terminar.

Con esto ya tienes tu equipo preparado para subir modificaciones del código. Si te has descargado el código del proyecto openobject-doc y has realizado alguna modificación, ve al directorio de openobject-doc y haz lo siguiente:

Sincronizamos nuestros cambios con los que se han realizado en openobject-doc desde la ultima sincronización
bzr merge

Hacemos un commit para indicar los cambios que hemos realizado
bzr ci -m "[TAG] Mensaje explicando cambios hechos"

Por último subimos los cambios
bzr push

Para mas información puedes consultar aquí.

Por último, cuando realices el commit, según se indica la documentación de Open ERP aquí sobre como subir tus modificaciones, en el mensaje hay que indicar que tipo de modificación has realizado, esto se indica con el [TAG] las diferentes opciones son:

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

Con esto ya hemos visto como trabajar con Launchpad y Bazaar, en el siguiente post veremos como trabajar en la traducción.

Incluir también este link importante que nos pasa Nhomar con las guidelines para contribuir al proyecto:

Angel excelente!!!!!!!!!….
Solo en la onda de la excelencia hace 2 días publicaron esto:
http://doc.openerp.com/contribute/15_guidelines/contribution_guidelines.html
Es interesante que sigamos estas mismas “guidelines” para la documentación hay algunos comandos interesante que pueden servirnos… con el tema de los merge y para hacer cambios locales….  y proponerlos para revisión…..

Saludos, y éxito!!!!

Aprovecho para comentar que también se ha publicado el manual en aulaerp.com como curso gratuito y en la página http://www.openerpsite.com/erp-proyectos-openerp, como complemento al minimanual de launchpad que ya estaba publicado. Por cierto, he aprovechado para actualizar la página con información más acorde a la situación actual.

Cordiales saludos!!!

  1. #1 by Antonio Fregoso on 10 Enero 2011 - 3:24

    Excelente tu post. Sobre todo para mi que desarrollo en Windows con C# y me estoy adentrando al mundo Linux y OpenERP.

  2. #2 by Ana Juaristi Olalde on 11 Enero 2011 - 20:45

    Gracias!!!

(No será publicado)