Cuando nos decidimos a utilizar Liferay una de las cosas que debemos tener en cuenta es que debemos aprender sobre portlets.
Pero por dónde empiezo a la hora de desarrollar un portlet, que métodos tengo que implementar, como es el ciclo de vida de un portel.
Estas son muchas de las preguntas que nos surgen y que vamos a recopilar aquí.
Donde se ejecuta un portlet
Los portlets se ejecutan en un contenedor de portlets, existen muchos contenedores de portltes como JetSpeed o Liferay.
Qué métodos debe implementar
Esta es la interfaz que debe implementar un portlets. Normalmente lo que se hace es extender a javax.portlet.GenericPortlet
Ciclo de vida
Cuando el contenedor de portlet crear un instancia del portlet , al primer método que llama es a init(…).
Cuando el portlet recibe una solicitud (request) de representacion se invoca al método render(…)
ProcessAction se invoca como respuesta a una solicitud de acción. Por ejemplo este método se ejecuta al enviar un formulario.
El metodo destroy() se ejecuta al eliminar un portlet.
Entendiendo las peticiones
Como hemos visto existen dos tipos de peticiones «action request» y «render request»
- Peticiones de acción (action request): Son peticiones que modifican el estado del portlet o que causan una redirección. Se procesan redefiniendo el método processAction
- Petición de renderización (render request) son peticiones que solicitan el markup (<<visuzalización>>) del portlet. Se invoca al método render(…)
*Una petición de acción sobre un portlet siempre va seguida de una petición de renderización sobre ese portlet, y sobre el resto de portlets de esa página (cuyo contenido no esté cacheado)
Modos de un portlet
Los modos de un portlet permiten generar el contenido de manera diferente dependiendo de la funcionalidad que ha solicitado el usuario.
Los portlets usan el concepto de mode para indicar qué está haciendo el usuario. Cuando usamos una aplicación de correo electrónico, puede ser usada para leer, escribir o revisar los mensajes del correo — Estas se esperan que sean las funcionalidades que posee una aplicación de correo electrónico. Los portlets normalmente proporcionan esto en un modo Vista (VIEW). Pero hay otras actividades, como especificar el tiempo de actualización o la (re-)configuración de datos como el nombre de usuario y la contraseña. Estas actividades permiten al usuario configurar el comportamiento de la aplicación, por lo que se encuentran bajo el modo EDITAR (EDIT). La funcionalidad de ayuda de una aplicación de correo se enmarca sobre el modo de AYUDA (HELP).
Referencias
Libro «Manning Portlets in Action»
Transparencias de Fernando Bellas http://www.tic.udc.es/~fbellas/