Mostrando las entradas con la etiqueta openerp-community. Mostrar todas las entradas
Mostrando las entradas con la etiqueta openerp-community. Mostrar todas las entradas

lunes, 4 de marzo de 2013

Aeroo Report en OpenERP v6

Definición:
Aeroo Report es un motor para la generación de informes que puede pasar a formar parte de OpenERP mediante la inclusión de sus módulos.
Para el diseño de los reportes se utiliza la suite de OpenOffice o LibreOffice, en especial las herramientas Writer y Calc.

Módulos de Aeroo Report en OpenERP
1._ report_aeroo
Módulo base para el funcionamiento de Aeroo Report.
2._ report_aeroo_ooo
Módulo utilizado para permitir la salida de reportes en formatos .pdf, .doc, .xls
odt -> odt/doc/pdf u ods -> ods/xls/pdf
3._ report_aeroo_sample
Este es un módulo para agregar informes de ejemplo y facilitar las plantillas de informes para la comprensión básica.
4._ report_aeroo_printscreen
Módulo utilizado para impresión y una interfaz cliente GTK de objetos con la salida deseada. No funciona desde el cliente web ya que no tiene capacidades de impresión de pantalla.

Para descargar los 4 módulos de aeroo report podemos usar launchpad https://launchpad.net/aeroo/openerp6 o los comandos bazaar bzr branch lp:aeroo/openerp6 y los copiamos en la carpeta de nuestra preferencia. en nuestro caso /home/usu/desarrollo/

Procedemos a instalar aeroo para lo cual debemos descargar/instalar aeroolib. 
Ingresamos al directorio de aeroolib /home/usu/desarrollo/aeroolib y digitamos sudo python setup.py install   
No olvidar registrar aeroo como un addons en openerp6, agregando lo siguiente en la línea addons_path del archivo openerp-server.conf,  ",/home/usu/desarrollo/aeroo/openerp6"

Procedemos a instalar los módulos desde la interfaz web de openerp.
Finalmente dar clic en aplicar actualizaciones programadas. 

No olvidar correr el siguiente comando con el objetivo de iniciar el servidor que permite la conexión de (Libre/Open) Office con el servidor de OpenERP.
/usr/lib/libreoffice/program/soffice "-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager" -nologo -headless -nofirststartwizard & 

En la interfaz web de OpenERP configurar la conexión con (LibreOffice).
 Si al momento de pulsar el botón Connect se despliega un mensaje como el siguiente:
El motivo es porque no se ejecutó previamente el comando que inicializa el servidor interno de LibreOffice.
Si todo es correcto se despliega un mensaje Connection to the OpenOffice.org instance was succesfully established and PDF convertion is working.

Las fortalezas del motor Aeroo informes son:
  • Informes fáciles con diseño en LibreOffice, que permite diseñar y editar informes por personas que no son expertas en informática. de lo contrario, al momento de configurar la conexión con LibreOffice desde la interfaz web de OpenERP se desplegará un mensaje como el siguiente:
  • La amplia variedad de formatos de salida.

Diseño en Writer 
Dirigirse a la barra de menus y escoger Insert/Fields/Other/Functions opción Input Field, escribir una referencia por ejemplo <o.payee_name> donde o representa el objeto sobre el cual se va a hacer las consultas y payee_name el nombre del atributo. Se despliega la siguiente pantalla:
Pulsar Insert y se despliega la pantalla para escribir la etiqueta del campo:
Finalmente pulsar el botón OK, le asignamos un nombre al reporte y lo guardamos.
El reporte quedaría como el siguiente:
Diseño en Calc 
Dirigirse a la barra de menus, escoger Insert/Hiperlink, se despliega una ventana donde hay que escribir el código python para obtener los campos necesarios y generar el reporte:
En el campo Text  se debe escribir la etiqueta del campo a mostrar o en su defecto el mismo contenido de Target. El reporte quedaría de la siguiente manera.


Las funciones se Aeroo Report se las puede encontar en openerp-server-6.0.4/bin/addons/report_aeroo/
en el archivo ExtraFunctions.py que contiene funciones que pueden ser llamadas desde el editor de reportes por ejemplo LibreOffice Calc o Writer.

En este ejemplo se va a utilizar la funcion _search:
def _search(self, model, domain):
   obj = self.pool.get(model)
   ids = obj.search(self.cr, self.uid, domain)
   return obj.browse(self.cr, self.uid, ids, {'lang':self._get_lang()})

Se necesita conocer información de las incidencias de un proyecto determinado enviado como parámetro. La implementación de la función en calc es:
 
Para empezar a utilizar Aeroo Report en OpenERP se debe registrar el reporte en Administración/Aeroo Reports/Reports, dar clic en el botón Nuevo y proceder a configurarlo:
Tomar en cuenta el nombre del objeto del cual se va a sacar los datos según el diseño del reporte y el nombre del servicio.

Autor,
Carlos Yumbillo
TRESCLOUD Cía. Ltda.

Mas información www.trescloud.com

lunes, 25 de febrero de 2013

LAUNCHPAD


Definición:
Launchpad es un sitio web de encuentro y colaboración al más alto nivel de especialistas en el desarrollo de distribuciones y aplicaciones, en particular de software libre. No hay una separación clara entre novatos y expertos, por lo que unos pueden aprender de los otros y viceversa.
En este sitio web los colaboradores de todo el mundo suben sus desarrollos y nuevos módulos. Para acceder al sitio puede diridirse a Launchpad.
Launchpad utiliza el servidor de aplicaciones web gratuito y de codigo abierto Zope.

Componentes:
  • Code: un sitio de alojamiento de código fuente que utiliza el sistema de control de versiones Bazaar.
  • Bugs: un sistema de seguimiento de errores para informar sobre bugs en diferentes distribuciones y productos.
  • Blueprints: un sistema de seguimiento para especificaciones y nuevas funcionalidades.
  • Translations: un sitio para traducir aplicaciones a múltiples idiomas.
  • Answers: un sitio de ayuda para la comunidad.
  • Soyuz: una herramienta para llevar una pequeña parte del mantenimiento de las distribuciones. Abarca el sistema de construcción, el mantenimiento de paquetes y la publicación de archivos.
Launchapad y Bazaar son las herramientas necesarias para colaborar con OpenERP.
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.

Creando un repositorio distribuido en launchpad con bazaar

Registro:
Para usar este repositorio antes debemos registrarnos en launchpad desde aqui.

Creación de claves públicas y privadas:
Debemos crearnos una clave PGP ((Pretty Good Privacy; en español significa Privacidad Bastante Buena) y una clave ssh para poder subir los archivos a launchpad usando OpenPGP. 

Procedemos a crear primero la clave pública SSH:
ssh-keygen -t rsa
El anterior comando nos invitará a que le demos una ruta donde guardar las claves RSA, podemos pulsar la tecla ENTER para que las guarde por defecto en ~/.ssh/id_rsa.pub (donde el signo ~ se refiere a nuestro /home/usuario), o en su defecto escribir la ruta completa con el nombre que desee ~/.ssh/launchpad.pub si es que ya tiene una clave ssh creada anteriormente en su computador, luego debemos escribir una clave y repetirla.

Ahora vamos a crear nuestra clave privada GPG RSA:
gpg --gen-key
Se proporcionará un asistente interactivo, lo vamos rellenando.
Please select what kind of key you want:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (sign only)
(4) RSA (sign only)
Your selection? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 2048
Requested keysize is 2048 bits
Please specify how long the key should be valid.
0 = key does not expire
<n> = key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years
Key is valid for? (0) 365
Key expires at lun 24 feb 2014 23:31:41 ECT
Is this correct? (y/N) y
En este ejemplo se ha elegido un tipo de cifrado RSA con una fortaleza de 2048 bits, lo cual genera una clave más extensa que la de 1024 bits por defecto. He elegido que la clave tenga una fecha de vencimiento hasta dentro de un año, por la razón que es una clave de ejempĺo para este tutorial, pero usted puede elegir que nunca expire.

Ingresar los datos personales requeridos, ingresar una contraseña para proteger la llave secreta y finalmente esperar que acabe el proceso de generación de nuestra clave GPG. La clave se almacena en ~/.gnupg/pubring.gpg

Ahora debemos exportar la clave para que launchpad sepa realmente que somos nosotros, para ello debemos exportarlo a el servidor hkp://keyserver.ubuntu.com ya que es lo que usa launchpad:
gpg --keyserver hkp://keyserver.ubuntu.com --send-keys GPGID

Donde GPGID es el identificador de nuestra clave GPG recien creada y que la podemos sacar con el comando:
gpg --fingerprint

Por ejemplo para la salida siguiente:
pub 2048R/5DD0537A 2012-07-08
Key fingerprint = A287 D78D 745F 8DE1 8626 A752 831D C3C6 5AD0 527A
uid Raul de Amaya (GNU/LINUX) <PEPITO@gmail.com>
sub 2048R/D336AADB 2012-07-08

Debemos exportar el GPGID 5DD0537A con el siguiente comando:
gpg --keyserver hkp://keyserver.ubuntu.com –send-keys 5DD0537A

Una vez creadas las claves ssh y GPG, debemos subirlas a https://launchpad.net/, la clave SSH la podemos añadir desde https://launchpad.net/people/+me/+editsshkeys y la KEY PGP desde https://launchpad.net/people/+me/+editpgpkeys.

Para obtener el contenido de las claves usamos nuestro editor preferido:
Clave ssh:
vim ~/.ssh/id_rsa.pub, copiar todo el contenido y pegarlo en el link arriba mencionado para su registro.
Con esto ya tiene su equipo preparado para subir modificaciones del código.

Clave GPG:
Tomar en cuenta el valor de Key fingerprint, ya que este es requerido en el link correspondiente al momento de registrarlo. Launchpad le enviará un correo el cual tiene que desencriptarlo, para lo cual hay que copiar el contenido del email (desde -----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.10 (GNU/Linux) hasta The Launchpad Team
) a un archivo y guardarlo en algún archivo.
Ejecutar el siguiente comando gpg --decrypt file.txt para lo cual le pedirá la contraseña que ingresó al inicio para proteger la llave secreta, del resultado obtenido dar clic en el link que se genera y aceptar la validación.

Repositorio distribuido Bazaar 
 
Instalamos bzr:
apt-get install bzr 
Ahora para finalizar creamos uno nuevo proyecto y lo subimos usando bzr:
mkdir MiProyecto
cd MiProyecto
bzr launchpad-login user
bzr init
bzr whoami "Your Name <name@example.com>"
bzr commit -m "Iniciando proyecto" --unchanged
bzr push lp:~user/+junk/MiProyecto
Le pedirá que digite la contraseña que ingresó al inicio para proteger la llave secreta.
Recuerda sustituir user es nuestro usuario en launchpad. Con esto ya tendrémos nuestra rama recién creada MiProyecto donde podemos editar y cambiar desde https://code.launchpad.net/people/+me.

Los usuarios que quieran recibir el código tendrán que usar el comando:
bzr branch lp:~user/+junk/MiProyecto

Si añadimos nuevos archivos en nuestro proyecto debemos ejecutar siempre lo siguiente:
cd MiProyecto
bzr add "Nombres de los archivos"
bzr commit -m "Un comentario de los cambios realizados"
bzr push lp:~user/+junk/MiProyecto
Así logramos que se registren los nuevos cambios en launchpad así como las nuevas revisiones.

Para descargarnos codigo del proyecto openerp escribimos el siguiente comando:
bzr branch lp:openerp-spain/6.1 openerp-spain61 

Autor,
Carlos Yumbillo
TRESCLOUD Cía. Ltda.

Mas información www.trescloud.com