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:
 
00

Más entradas de blog

Añadir comentarios