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:
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.
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.
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.
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:
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.
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:
de Alfresco al respecto: