Bloggers recientes

 

[ Blog ]
[ Wiki ]
[ Slideshare ]
[ Twitter ]
[ YouTube ]
Cesar Capillas Mensajes: 176
Estrellas: 8
Fecha: 26/07/15
Gustavo Fernandez Mensajes: 78
Estrellas: 7
Fecha: 25/07/15

Archivo

Tags

noBlogo - El blog de zylk.net

Limiting the number of cores for Alfresco Transformations
This is an Alfresco Tip taken from my test on Alfresco Honeycomb Edition (I will post some notes about this other day). The tip is related to limit the number of cores used by Alfresco transformation, preventing CPU throttling
 
In alfresco-global.properties set:
 
img.exe=/opt/alfresco/bin/limitconvert.sh
 
where the original script is:
 
#! /bin/bash
# This file is to limit the number of cores used by Alfresco transformation
# and prevent cpu throttling. The script limits ImageMagick convert to use less resources.
# Check the number of available cpu:s with
# cat /proc/cpuinfo | grep processor | wc -l
# If you have more, change to -c 0,1 if you have 4, -c 0,1,2 if you have 6 and so on.
# Check man taskset for more info.
# Copyright 2013 Loftux AB, Peter Löfgren
# Distributed under the Creative Commons Attribution-ShareAlike 3.0 Unported License (CC BY-SA 3.0)
# -------
 
taskset -c 0 /usr/bin/convert $@
 
Empaquetando aplicaciones java para MACOS

A continuación voy a da algunas referencias que nos han ayudado en la automatización de la generacion de empaquetados para MACOS, de aplicaciones java. En zylk.net empezamos a hacer nuestros primeros desarrollos multiplataforma allá por el año 2009 cuando desarrollamos, junto a otros miembros de la comunidad, la primera versión de sinadura. Después de 6 o 7 años el proceso de empaquetar aplicaciones para MACOS lo hemos ido mejorando mientras hacíamos proyectos con izenpe, lantik etc... Este mes he estado involucrado en el desarrollo de un cliente de firma que use lo que se conoce como firma por protocolo. Este cliente funcinará con MACOS y se distribuirá como un .dmg[0] con su .app para MACOS.

Para poder automatizar la generación de los instaladores para las distintas plataformas usamos estrategias diferentes para cada sistema operativo.

 * Linux (Izpack[1][2] y la generación de un .run[3])
 * Windows (Izpack y launch4j[4])
 * MACOS (JarBundle[5] y genisoimage[6])

En todos estos sabores de sistemas operativos y arquitecturas, automatizamos las generaciones usando ant o maven para que desde nuestra máquina de QA se puedan generar los empaquetados sin necesidad de disponer de maquinas específicas que generen los empaquetados para cada Sistema operativo.

A continuación mostramos unas imágenes de nuestra herramienta de integración continua desde la que podemos generar y publicar los instaladores de sus distintos sabores.





Para este proyecto también hemos hecho que los instaladores registren los protocolos necesarios para que la firma por protocolo funcione. En este caso para windows se usa el registro de windows, en linux se usa xdg[7] y en MACOS se usa el Info.plist[8] de la app


[0] https://en.wikipedia.org/wiki/Apple_Disk_Image
[1] http://izpack.org/
[2] http://izpack.org/documentation/izpack-utils.html
[3] https://coderwall.com/p/ssuaxa/how-to-make-a-jar-file-linux-executable
[4] http://launch4j.sourceforge.net/
[5] http://informagen.com/JarBundler/
[6] http://www.debianadmin.com/genisoimage-creates-iso-9660-cd-rom-filesystem-images.html
[7] https://wiki.archlinux.org/index.php/Xdg-open
[8] https://en.wikipedia.org/wiki/Property_list#Mac_OS_X
 

¿Conoces el Marketplace de Liferay?

Hace ya un tiempo que Liferay Portal anunció su propio Marketplace de aplicaciones. Cómo sabéis en zylk.net desarollamos aplicaciones tanto para Liferay Portal como para Alfresco ECM en su market de addons y por eso vamos a dedicar una serir de post a analizar estos markets y contaros algunas cosas que hemos visto Itsaso ugalde y yo mismo en el market y que esperamos sean de vuestro interés.

Un marketplace es un portal online que permite a vendedores y compradores relacionarse para llevar a cabo una transacción comercial. En este caso aplicaciones compatibles con vuestro portal de Liferay. En palabras del propio Liferay su Markeplace es  "..an exciting new hub for selling, sharing, and downloading 
Liferay-compatible applications" 

Hemos realizado un análisis (Datos a Julio de 2015) de las aplicaciones para saber lo que podemos encontrar en el portal. Por ejemplo saber cuales cuantas veces se descargan, cual es el país o la empresa más aplicaciones aporta, cual es el coste medio de las mismas, el tipo de licencia que tienen, etc. Cosas como por ejemplo que a la fecha del análisis el Marketplace de Liferay tiene un total de 387 programas con más de 280.000 descargas;  25 de ellos son de pago el 6,46% y los otros 362 son gratuitos el 93,54% o, que por ejemplo; de las de las 127 empresas que ofrecen sus productos en el marketplace solo 17 son españolas. Todo esto os lo detallaremos en los siguientes post y, si queréis aportarnos algún dato vuestro o saber alguna cosa más no dudés en preguntarnoslo. Si tenemos la información identificada la compartimos con vosotros.

Para realizarlo hemos analizado una a una las fichas de los productos publicados en el Market. 

 

Para buscar una de las aplicaciones por ejemplo, lo hemos realizado así:

Simplemente con poner el nombre del programa hubiese servido, pero aquí en esta búsqueda hemos especificado también la categoría en la que se encuentra esta app.

Una vez que realiza la búsqueda, nos sale el programa que hemos buscado, junto con otros que tienen un nombre parecido o algunas mismas palabras. Entramos en la página del programa concreto que hemos buscado, en este caso Newsletter plugin by Zylk.net, y de ahí comenzamos con el análisis.


Como hemos marcado en la imagen anterior, los datos más importantes son los que están redondeados en verde. El primer dato son las descargas totales que tiene el producto, en este caso 123 descargas. El otro dato son las versiones necesarias para el uso de la app. Por supuesto un dato muy importante para todos los programas es el precio. Aquí en este caso, el programa es gratuito. Si fuese de pago, vendría abajo especificado el precio exacto así como cualquier otro coste que tuviese dicho programa. También es muy importante saber para qué versión es compatible. Recordad que con vuestra versión Enterprise contáis con algunas aplicaciones del Marketplace Extra que os harán ganar productividad.

Poniendo otro programa de Zylk.net como ejemplo, vamos a ver otros datos que utilizamos para nuestro análisis. Con CMIS content viewer os mostramos los votos y puntuaciones que se han dado a los programas.

Se nos muestra cual es la puntuación media del cliente y cuántas puntuaciones se le ha dado.

Esta demostración que os hemos enseñado con estos pantallazos, lo hemos hecho con todos los programas del marketplace de Liferay, en todas sus categorías. Más adelante en el blog os daremos más detalles. Mientras, podéis echarle un vistazo directamente al marketplace ver si encontráis alguna aplicación que cubra vuestras necesidades o directamente en las de zylk.net que ha desarrollado tres aplicaciones gratuitas para que las disfrutéis y que podéis descargar aquí. Y, si no,  siempre podéis encargarnos alguna para que evaluemos su desarrollo. :)

Tips de Libreoffice para transformaciones en Alfresco
Como ya sabéis el subsistema de transformación de Alfresco delega en el servidor Libreoffice / OpenOffice, que interviene en la transformación de diferentes formatos de Office y OpenOffice para la previsualización (transformaciones a PDF), e incluso indexación de documentos. En la versión Enterprise (EE) Alfresco, este subsistema se apoya en las librerías JodConverter que mejoran su funcionamiento y rendimiento, pudiendo dedicar varios procesos simultáneos de transformación. Los procesos de transformación son procesos (por defecto) en la instancia de Alfresco, lo que seguramente nos quitará numerosos recursos si vamos justitos con ellos, y tiene especial relevancia si nuestro caso de uso requiere de muchas transformaciones o previsualizaciones. Una buena estrategia es dedicar un servidor externo a las transformaciones, aliviando la carga de nuestras instancias con:
  • Un servidor LibreOffice o OpenOffice externo. Os dejo un post util para configurarlo aquí.
  • Para la versión EE existe también un servidor de transformación de archivos MS-Office nativo externo, que podría ser interesante en determinadas situaciones. Tiene ciertas ventajas de partida en cuanto a que las transformaciones de MS-Office deberían ser mucho más fidedignas y que no minora el rendimiento de nuestras instancias, pero el requerimiento de un servidor Windows y sobre todo de java de 32 bits (con el añadido de una licencia complementaria), me hacen recelar de que sea una solución de transformación estable, rápida y escalable.
En la instalación del bundle de Alfresco (tanto en la CE como en la EE) existe la opción de instalarlo, y es la opción que suelo preferir puesto que es el "stack más probado" o certificado (en el caso de la EE) por Alfresco. Normalmente funciona a la primera pero en ocasiones es necesario instalar librerías complementarias.
 
 
Si tampoco va como debería se puede optar por instalar el servidor a partir de la paquetería de LibreOffice / OpenOffice de tu distribución Linux preferida.
 
Una vez funcionando Alfresco, el subsistema de transformación debería encargarse de que si cae el proceso de Libreoffice, levantarlo, pero en ciertos casos como en Alfresco 5.0.c no es así. El otro día hablábamos aquí de unos cambios en el script de Libreoffice para que funcionase correctamente en esta versión CE. Si no podemos dedicarle un servidor LibreOffice con más recursos, una opción para monitorizarlo es este simple script de cron ejecutado cada 15 minutos.
 
#! /bin/bash
# m h  dom mon dow   command
#0,15,30,45 * * * * /opt/alfresco/bin/check_libre.sh
ALF_EXE=/opt/alfresco/alfresco.sh
ALF_LOG=/opt/alfresco/tomcat/logs/libreffice.log
ALF_DATE=`/bin/date`
if [ -z `/bin/pidof ".soffice.bin"` ]; then
  $ALF_EXE start libreoffice
  echo "$ALF_DATE" >> $ALF_LOG
fi 
 
También suele ser interesante limitar el tamaño de los archivos a transformar / previsualizar en Alfresco via alfresco-global.properties sobre todo si LibreOffice se ejecuta en la propia instancia de Alfresco. Por ejemplo:
 
# Transforms to PDF
# =================
content.transformer.OpenOffice.mimeTypeLimits.doc.pdf.maxSourceSizeKBytes=20248
content.transformer.OpenOffice.mimeTypeLimits.docx.pdf.maxSourceSizeKBytes=20248
content.transformer.OpenOffice.mimeTypeLimits.ppt.pdf.maxSourceSizeKBytes=20248
content.transformer.OpenOffice.mimeTypeLimits.pptx.pdf.maxSourceSizeKBytes=20248
content.transformer.OpenOffice.mimeTypeLimits.xls.pdf.maxSourceSizeKBytes=20248
content.transformer.OpenOffice.mimeTypeLimits.xlsx.pdf.maxSourceSizeKBytes=20248
 
# Transforms to SWF
# =================
content.transformer.OpenOffice.Pdf2swf.mimeTypeLimits.doc.swf.maxSourceSizeKBytes=20248
content.transformer.OpenOffice.Pdf2swf.mimeTypeLimits.docx.swf.maxSourceSizeKBytes=20248
content.transformer.OpenOffice.Pdf2swf.mimeTypeLimits.ppt.swf.maxSourceSizeKBytes=20248
content.transformer.OpenOffice.Pdf2swf.mimeTypeLimits.pptx.swf.maxSourceSizeKBytes=20248
content.transformer.OpenOffice.Pdf2swf.mimeTypeLimits.xls.swf.maxSourceSizeKBytes=20248
content.transformer.OpenOffice.Pdf2swf.mimeTypeLimits.xlsx.swf.maxSourceSizeKBytes=20248
 
Nota: En la versión 5.x de Alfresco se alivian ciertos procesos de transformación (de PDF a SWF), debido a la inclusión de los previewers en HTML5, y estas últimas properties sólo son necesarias para los navegadores muy antiguos.
 
Por último, siempre es interesante revisar la documentación de Alfresco al respecto:
 
Como añadir un nuevo idioma a sinadura desktop

La semana pasada un miembro de la comunidad de sinadura (Luís Jorge Pinho), aportó la traducción al portugues. Desde zylk.net queremos agradecerle el trabajo realizado mediante este post. Además queremos explicar como se añaden estos nuevos idiomas al producto sin que tengáis que esperar a que publiquemos una nueva versión con dicha traducción añadida. Para hacerlo basta con seguir estos simples pasos

1) Localizar el path donde se instaló el producto y dentro de este path localizar el fichero configuration.properties, editarlo para añadir el idioma deseado a la propiedad idiomas.soportados=es_ES,eu_ES,en_US,ca_ES,pt_PT

2) Añadir el fichero de traducciones a la carpeta resources/i18n/

Una vez hechos estos dos pasos ya podemos arrancar sinadura y veremos un nuevo idioma en las preferencias.

 

Mostrando el intervalo 1 - 5 de 294 resultados.
Resultados por página 5
de 59