Liferay mantis y OpenSearch


Una de las características que puden resultar interesantes a la hora de integrar servicios dentro de un gestor de portales es la posibilidad de integrar las búsquedas de los servicios ofrecidos por el portal en un buscador único.
Para cubrir esta necesidad liferay propone el uso de OpenSearch.

Como ejemplo de implementación de esta característica vamos a utilizar un portlet de gestión de incidencia desarrollado internamente por www.zylk.net. Este portlet se utiliza a nivel interno en algunos proyectos y a nivel público en la página de sinadura, para que los usuarios/clientes puedan reportar incidencias desde un interfaz web sin tener que darles acceso a la herramienta de gestión de incidencias. Es un portlet que utilizando la capa de servicios web  ofrecida por el gestor de incidencias mantis sirve para dar de alta incidencias en propio gestor de incidencias.
El problemas del portlet es que solo permite la busqueda de las incidencias por id y desde el buscador implementado en el propio portlet.
Para solventar este tema podemos configurar el descriptor de despliegue del portlet (liferay-portlet.xml) y añadirle la siguiente opción:

       <open-search-class>net.zylk.search.MantisIssuerSearcher</open-search-class>

Que es una clase que implementa la interfaz

       public class MantisIssuerSearcher implements com.liferay.portal.kernel.search.OpenSearch

Con esto al desplegar el portlet en nuestro liferay y hacer uso del portlet de búsqueda genérico, se añadirá al resultado de la busqueda una nuevo aparado que contendrá los resultados devueltos por la implementación de la clase.

Otra característica interesante siguiendo esta linea es la de implementar la interfaz

com.liferay.portal.kernel.search.Indexer

Para que el motor de indexación del portal (lucene o solr) indexe los contenidos dados de alta desde este portlet, pero eso lo dejaremos para otro artículo...

00

Más entradas de blog

Añadir comentarios