Get it on Google Play

Desarrollo de Hooks en Liferay

28-01-2011
 

Los hooks se utilizan para para desarrollar pluggins que sobreescriben partes del ‘core’ de Liferay pero sin tener que tocarlo, ni usar el entorno de extensión EXT. Se trata de una forma elegante de modificar el comportamiento de Liferay ya que nos permite mantener una buena gestión de esas modificaciones. El concepto de hook no solamente lo podemos encontrar en Liferay, en otros CMS como por ejemplo Drupal también se utilizan.

Concretamente en Liferay se pueden crear Hooks de estos tipos:

– Sobreescribir ficheros JSP.
– Sobreescribir servicios del portal.
– Sobreescribir las traducciones.
– Sobreescribir Model Listeners.
– Insertar eventos en el ciclo de vida de Liferay.

En función del tipo de hook el desarrollo se hace de manera diferente, pero a grandes rasgos crear un hook es tan fácil como crearlo des del SDK, configuramos el fichero ‘liferay-hook.xml’ para que haga lo que queremos que haga y finalmente sobreescribimos lo que queramos(Esto varia en función del tipo de hook).

Interesado en formación Liferay?

 

Comments

10 Responses to “Desarrollo de Hooks en Liferay”
  1. Berto says:

    Hola, acabo de leer esta entrada sobre los Hooks, y tengo un problemilla.
    He creado un hook para ampliar las funcionalidades del portlet agenda sobreescribiendo los jsps.
    El problema viene es que el hook funciona en todas las comunidades y organizaciones de mi instalación de Liferay, y solo quiero que funcione en una comunidad, y en el resto que utilizen los jsps originales.
    ¿Se puede conseguir eso, o tendre que crear un portlet nuevo para clonar el portlet agenda con mis modificaciones?
    uns aludo.

  2. albert says:

    Hola Berto, Así a bote pronto, la manera mas fácil que se me ocurre es que tengas dos versiones del JSP, la sobrescrita y la normal en el Hook. Luego, comprueba en cual comunidad estas y cargas una o la otra.

    No se pueden tener Hooks funcionando por comunidad o organización.

    Saludos,

  3. Berto says:

    Gracias por responder tan rápido. Probaré esa solución.

    Un saludo.

  4. Elizabeth says:

    Hola acabo de hacer un Hook, para que cuando tenga un registro exitoso me lleve automáticamente a una pagina privada sin necesidad de autenticarme pero no me funciono, no se si se pueda realizar esto.
    Muchas gracias!!!!!!!.

  5. Hola Elizabeth,

    No lo he probado nunca, pero no deberías tener problemas. Yo haría loggin a trabé de la classe ‘com.liferay.portal.service.UserLocalServiceUtil’ con el método ‘authenticate…’ .

    Saludos,

  6. Gerardo says:

    Hola quisiera saber si hay alguna forma rapida (configuracion) de que el registro de usuario SIEMPRE tenga que ser validado por un administrador o sino si se te ocuurre alguna manera de hacerlo a traves de un hook ?

  7. Hola Gerardo, creo que hay la opción en alguna parte de decir que los usuarios por defecto no estén activados. Si eso no te vale, puedes decirle que por defecto los usuarios no tengan el rol Power User y tengas que assignarselo tu.

    Espero que te sirva de ayuda.

  8. charles says:

    Hola Albert,soy novato en liferay,estoy tratando de colocar un check adicional dentro de la configuracion del Visor de contenido web,para ser mas especifico debajo del check de Activar el incremento de contador de vistas,estoy haciendolo con hook,pero no me muestra ningun cambio,no se donde esta el bendito error,ayudame por favor,no se podrias elaborar algun tutorial.
    muchas Gracias de antemano.

  9. Hola Charles,

    Pues ya me miraré el tema. Aunque no será pronto, porque últimamente voy super atareado. Lo siento.

    Saludos,

  10. charles says:

    Ola de nuevo, ya logre adicionar un check adicional mediante un hook,ahora como hago para agregarle una accion a ese hook….ayuda porfis…

Leave a Reply

© Albert Coronado Calzada