A fondo: liferay-portlet.xml


¡Hola!

En esta entrada voy a explorar un poco lo que podemos llegar a hacer con el archivo ‘liferay-portal.xml‘. Este archivo describe mejoras del portlet JSR-286 en nuestro portal de Liferay.

La información mostrada va referida a la versión 6.2 por lo que no puedo asegurar que todo lo que especifique funcione para otras versiones de Liferay Portal.

Cuando generamos un nuevo portlet podemos autogenerar este archivo y ésta es su estructura base:

<liferay-portlet-app>       <portlet>              <portlet-name>my-greeting</portlet-name>              <icon>/icon.png</icon>              <instanciable>false</instanciable>              <header-portlet-css>/css/main.css</header-portlet-css>              <footer-portlet-javascript>/js/main.js</footer-portlet-javascript>              <css-class-wrapper>my-greeting-portlet</css-class-wrapper>       </portlet>       <role-mapper>              <role-name>administrator</role-name>              <role-link>Administrator</role-link>       </role-mapper>       <role-mapper>              <role-name>guest</role-name>  <role-link>Guest</role-link>       </role-mapper>       <role-mapper>              <role-name>power-user</role-name>  <role-link>Power User</role-link>       </role-mapper>       <role-mapper>              <role-name>user</role-name>              <role-link>User</role-link>       </role-mapper></liferay-portlet-app>

Para cada portlet tenemos las siguientes etiquetas base:

  • portlet-name: Tiene el nombre especificado para el portlet. Es necesario que tenga el mismo que el especificado en el archivo portlet.xml.
  • icon: Ruta hasta la imagen icono del portlet.
  • instanciable: Indica si un portlet se puede instanciar más de una vez en una misma página.
  • header-portlet-css: Ruta hasta un archivo css. Se añadirá dentro de la etiqueta <head> de la página (debido a la parte del nombre header).*
  • footer-portlet-javascript: Ruta hasta un archivo js. Se añadirá al final de la página, justo antes de la etiqueta </body> (debido a la parte del nombre footer).*
  • css-class-wrapper: Clase que se añade en el html al renderizar el portlet, se suele usar para aplicar estilos propios al portlet.

*Pueden existir varias etiquetas de este tipo en un mismo portlet.

Ahora que ya tenemos lo básico, voy a especificar unas cuantas cosas que podemos realizar:

Añadir el portlet en el Panel de Control

Para conseguir esto deberemos añadir dos etiquetas más: ‘<control-panel-entry-category>‘ y ‘<control-panel-entry-weight>‘.

La primera etiqueta especifica en que sección de nuestro panel de control se colocará nuestro portlet, tenemos las siguientes:

  • Panel de control: ‘users’, ‘sites’, ‘apps’ y ‘configuration’.
  • Administración del sitio web: ‘site_administration.pages’, ‘site_administration.content’, ‘site_administration.users’ y ‘site_administration.configuration’.
  • Mi cuenta: ‘my’.

La segunda etiqueta determina el peso que tendra tu portlet dentro de cada sección. A más peso más abajo estará tu portlet en la lista.

Hacer un cron

Este apartado ya lo especificamos en otra entrada de blog hecha por Sergi.

Además

A parte de lo mencionado anteriormente, este archivo también sirve para enlazar a clases que hagan una funcionalidad especifica. Por ejemplo, implementar búqueda e indexación, crear notificaciones para los usuarios y especificar friendly url del portlet entre otras cosas.

Para finalizar os dejo el listado con todas las etiquetas que pueden ir dentro del archivo ‘liferay-portal.xml‘.

Espero que os haya ayudado, ¡un saludo!


Leave a Reply

Your email address will not be published. Required fields are marked *