Open IT Experts for Enterprise

Zylk empresa de desarrollo de ecommerce

Ampliando el portlet de notificaciones de liferay 6.x

Gustavo Fernández
Gustavo Fernández

La semana pasada Alfredo Sanchez, del equipo de zylk.net, estuvo
haciendo algunas pruebas de desarrollo con la versión 6 del gestor de
portales de Liferay. Los conceptos que se querían probar eran los siguientes:

  • El servicio de notificaciones, que está accesible en el core del producto
  • La posibilidad de añadir portlets de manera estática desde el
    portal-ext.properties, tal como está añadido el portlet de chat.

Para ello hizo el siguiente desarrollo, un portlet que verifica las
notificaciones para un usuario/role/comunidad/portal y muestra la
notificación en un pop-up si el usuario logueado tiene pendiente leer
alguna notificación concreta destinada a él. Las notificaciones a
comunidad/role/portal se pueden añadir desde el panel de
administración de notificaciones del producto, pero las de usuario,
pese que el servicio las permite, deben añadirse de manera
programática. La comprobación de si existe o no una notificación se
hace en cada petición, no se ha implementado un patrón poll tipo el
que hay implementado en el portlet de chat dado que no hemos
considerado crítico que se notifique instantaneamente.

Las conclusiones son las siguientes:

  • El servicio de notificaciones se puede utilizar como canal de
    comunicaciones entre usuarios de manera más o menos sencilla, para
    ello se podría ampliar el portlet de notificaciones para que permita
    la comunicación user to user.
  • Sería interesante poder añadir código html con un rich-editor a
    las notificaciones creadas desde el panel de administración
  • Sería interesante que las notificaciones fueran internacionalizables.
  • Sería interesante que los conceptos que se manejan en el portlet
    de actividades, tipo de objeto (classname) origen de la actividad y
    objeto origen de la actividad classPK, estuvieran accesibles para su
    uso en el servicio de notificaciones del core.


A continuación mostramos unas capturas del portlet y un link
para la descarga
del mismo. Para añadirlo basta con incluir en el portal-ext.properties
la referencia al mismo:

Ampliando el portlet de notificaciones de liferay 6.x

 En esta primera captura vemos el popup con las notificaciones
pendientes de leer.

Ampliando el portlet de notificaciones de liferay 6.x

Si pinchamos en el botón de cierra las notificaciones no volverán a
mostrarse hasta que no se vuelva al portal.

Ampliando el portlet de notificaciones de liferay 6.x

Marcamos una notificación como leída:

Ampliando el portlet de notificaciones de liferay 6.x

Y nos quedan por leer el resto de notificaciones.

El parámetro que hay que modificar en el portal-ext.properties es el siguiente,

layout.static.portlets.all=notifications_WAR_notificationsportlet

Si te ha parecido interesante comparte este post en RRS

Facebook
LinkedIn
Telegram
Email

Leer más sobre temas relacionados

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *