Crear un portlet en Liferay

De Dos Ideas.
Saltar a: navegación, buscar

Qué es un portlet?

Los portlets son componentes de las interfaces de usuario gestionadas y visualizadas en un portal web como Liferay.

PortletEnLiferay.png

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.

CrearPortlet.png

Estructura del portlet

EstructuraPortlet.png


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