INTEGRAR IMAGEMAGICK CON LIFERAY

Patrocinador
Ebooks sobre Liferay




A fecha de hoy, Liferay utiliza un software llamado PDFBox para realizar previsualizaciones de documentos que pueden apreciarse si subimos un documento .pdf a Documentos y Multimedia.
La razón de utilizar por parte de Liferay, es, tal y como nos indican en el propio portal de Liferay, utilizar software Java, compatible con la licencia de Liferay.
En el log de arranque de Liferay, podemos apreciar un texto similar (todo depende de nuestra versión de Liferay) a:
"Liferay is not configured to use ImageMagick for generating Document Library previews and will default to PDFBox. For better quality previews, install ImageMagick and enable it in portal-ext.properties." 
Donde se nos insta a utilizar ImageMagick como alternativa a PDFBox para obtener unas previsualizaciones mejores. El proceso está descrito en la documentación online de Liferay, como puede verse aquí.

Sin embargo, el proceso de integración de ImageMagick con Liferay, puede no ser tan simple como se indica en el citado artículo, teniendo en cuenta además, que han habido bugs relacionados, aunque solucionados en versiones más recientes.

Describo en esta entrada el proceso de integración, de una forma más detallada para evitar posibles quebraderos de cabeza, aunque orientado a sistemas windows, por ser la plataforma más extendida.

El primer paso es descargar e instalar GhostScript.
 
Seleccionamos la opción indicada y en la siguiente pantalla...

Pulsamos en la versión adecuada para descargar el fichero conveniente para nosotros... 

Instalamos GhostScript en el lugar que queramos. Una vez instalado, añadimos la ruta hasta la carpeta bin (ejemplo: $RUTA_INSTALACIÓN_GHOSTSCRIPT/GS9.14/BIN), en la variable de entorno PATH. Con esto facilitamos el acceso a GhostScript.

Hecho esto, vamos al segundo paso que es instalar ImageMagick. Descargamos el software adecuado para nosotros, de alguno de los mirrors indicados en la siguiente página, o bien un instalador (más cómodo) de la esta otra: http://www.imagemagick.org/script/binary-releases.php#windows

Si nos hemos decidido por la primera opción, de entre todas las posibilidades, pulsamos en la que necesitamos (en este caso, windows). Aparece otra pantalla ofreciéndonos diferentes opciones. Elegiremos la indicada para nosotros.

Descomprimimos el fichero en la carpeta de nuestra elección y, al igual que hicimos con GhostScript, añadimos a la variable de entorno PATH (recordamos que hemos orientado el artículo a Windows) la ruta de la carpeta donde hemos instalado ImageMagick, para hacernos más cómodo todo el proceso. En el anterior enlace se indica como instalar y comprobar si ésta es correcta.

En este punto debemos estar seguros de que todo ha ido bien: tanto GhostScript como ImageMagick deben estar perfectamente instalados y funcionando.

Nos vamos a la carpeta donde tengamos instalado Liferay y editamos el fichero portal-ext.properties (que estará probablemente en $CARPETA_LIFERAY/WEBAPPS/ROOT/WEB-INF/CLASSES).

En este tercer paso, añadimos las siguientes líneas:
imagemagick.enabled=true
imagemagick.global.search.path=$_RUTA_GHOSTSCRIPT\\gs9.14\\bin;
$_RUTA_IMAGEMAGICK\\ImageMagick 

Nótense las rutas con dobles barras y que se indican tanto la ruta a la carpeta bin de GhostScript, como la ruta de instalación de ImageMagick.

En el cuarto paso, arrancamos nuestro Liferay y, logados como administrador nos vamos al Panel de Control:


Seguidamente pulsamos en Administración del servidor:
Pulsamos en Servicios externos, nos aseguramos de activar la casilla de verificación correspondiente y poner las rutas (tanto la ruta a la carpeta bin de GhostScript como a la carpeta de instalación de ImageMagick):

Hecho todo esto, reiniciamos el servidor asegurándonos que hemos eliminado cualquier caché. Al subir un fichero .pdf por ejemplo, se nos mostrará una viñeta previsualizándolo.

Espero que este artículo ayude a integrar esta herramienta con Liferay más fácilmente. En próximas entradas veremos como lograr lo mismo con Xuggler.

Un cordial saludo y hasta otra.

Etiquetas: , , ,