¡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!