Crear un portlet en Liferay
¿Qué es un portlet?
Los portlets son componentes de las interfaces de usuario gestionadas y visualizadas en un portal web como Liferay.
Como crear un portlet para liferay
A partir del arquetipo de maven (liferay-portlet-archetype) se crea un proyecto web java. El proyecto se crea con la siguiente estructura de directorios.
Estructura del portlet
Dentro de la carpeta WEB-INF se encuentran los archivos de configuración.
liferay-display.xml: describe la categoría en la cual se visualiza en el menú.
<display> <category name="category.sample"> <portlet id="demo" /> </category> </display>
liferay-portlet.xml: podemos declarar el nombre del portlet, los css, js.
<liferay-portlet-app> <portlet> <portlet-name>demo</portlet-name> <icon>/icon.png</icon> <header-portlet-css>/css/main.css</header-portlet-css> <footer-portlet-javascript>/js/main.js</footer-portlet-javascript> </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>
liferay-plugin-package.properties: podemos indicar entre otras cosas las versiones que soporte el portlet como dependencias que necesite.
name=demo module-group-id=liferay module-incremental-version=1 tags=demo, short-description= change-log= page-url=http://www.liferay.com author=Liferay, Inc. licenses=LGPL liferay-versions=6.1.1, 6.1.2+, 6.1.20+ required-deployment-contexts=\ portal-compat-hook
portlet.xml: define el nombre con el cual el portlet se identifica (éste es único), el nombre con el cual se visualiza, la declaración de los roles de seguridad.
<portlet> <portlet-name>demo</portlet-name> <display-name>demo</display-name> <portlet-class>com.liferay.util.bridges.mvc.MVCPortlet</portlet-class> <init-param> <name>view-jsp</name> <value>/view.jsp</value> </init-param> <expiration-cache>0</expiration-cache> <supports> <mime-type>text/html</mime-type> </supports> <portlet-info> <title>demo</title> <short-title>demo</short-title> <keywords>demo</keywords> </portlet-info> <security-role-ref> <role-name>administrator</role-name> </security-role-ref> <security-role-ref> <role-name>guest</role-name> </security-role-ref> <security-role-ref> <role-name>power-user</role-name> </security-role-ref> <security-role-ref> <role-name>user</role-name> </security-role-ref> </portlet>
view.jsp: es la visualización del portlet.
Links
http://www.liferay.com/documentation/liferay-portal/6.0/development/-/ai/portlet-development