Está en la página 1de 8

UPC

Conocimiento en Lnea
Liferay: Tutorial
Version 0.2

Conocimiento en Lnea
Liferay: Tutorial
Conocimiento-en-Linea - Lucene: Tutorial

Version:
0.2
Date: 06/03/2009

Revision Histrica
Date
06/03/2009

Confidencial

Version
0.2

Description
Creacin del documento. Incluye:
Introduccin, Informacin general,
Instalacin y configuracin,
StrutsPortlet y Liferay framework.

UPC, 2015

Author
Ivn Alonso Fernndez Cavero

Page 2 of 8

Conocimiento en Lnea
Liferay: Tutorial
Conocimiento-en-Linea - Lucene: Tutorial

Version:
0.2
Date: 06/03/2009

ndice
1.

Introduccin
1.1
Propsito
1.2
Alcance
1.3
Definiciones, Acrnimos, and Abreviaciones
1.4
Referencias
1.5
Resumen

2.

Informacin General
2.1
Descarga
2.2
Documentacin e Informacin

3.

Instalacin y Configuracin del portal

4.

Liferay StrutsPortlet
4.1
Flujo y definicin de los XMLs
4.2
Vista a una clase PortletAction

5.

Liferay Framework
5.1.1 Clases:
5.1.2 Tags

Confidencial

8
8

UPC, 2015

Page 3 of 8

Conocimiento en Lnea
Liferay: Tutorial
Conocimiento-en-Linea - Lucene: Tutorial

Version:
0.2
Date: 06/03/2009

Liferay: Tutorial
1.

Introduccin
Liferay es un portal Open Source. Liferay ofrece un entorno de desarrollo para la creacin de portlets y un
framework para que los portlets se comuniquen y hagan operaciones con el portal. As mismo viene con
muchos portlets de ejemplo como para dar rienda suelta la imaginacin del desarrollador.

1.1

Propsito
El propsito de este documento es documentar todos los conocimientos obtenidos con Liferay durante el
desarrollo del Proyecto Conocimiento en Lnea.

1.2

Alcance
El presente documento tiene como alcance explicar solo las funcionalidades utilizadas con Liferay para el
desarrollo del Proyecto Conocimiento en Lnea.

1.3

Definiciones, Acrnimos, and Abreviaciones

1.4

Referencias
Manual Configurar Entorno Ext por Ivn Fernndez.

1.5

Resumen
Se dar a conoce links importantes de liferay, seguido de como instala y configurar un entorno ext. Luego
se explicara el uso de StrutsPortlet y; finalmente, una vista bsica del framework de liferay.

2.

Informacin General

2.1

Descarga
Puede descargar la ltima versin de Liferay aqu: http://www.apache.org/dyn/closer.cgi/lucene/java
Archivos adicionales para desarrolladores: http://www.liferay.com/web/guest/downloads/additional

2.2

Documentacin e Informacin
Documentacin: http://www.liferay.com/web/guest/community/documentation/5_2
JavaDocs: http://docs.liferay.com/portal/5.2/javadocs
Forum: http://www.liferay.com/web/guest/community/forums
Wiki: http://www.liferay.com/web/guest/community/wiki

3.

Instalacin y Configuracin del portal


Ver Manual Configurar Entorno Ext

4.

Liferay StrutsPortlet
Struts es un Open Source de Apache que implementa el patrn de diseo MVC. Para el desarrollo de
portlets es necesario usar StrutsPortlet que ofrece Liferay.

Confidencial

UPC, 2015

Page 4 of 8

Conocimiento en Lnea
Liferay: Tutorial
Conocimiento-en-Linea - Lucene: Tutorial
4.1

Version:
0.2
Date: 06/03/2009

Flujo y definicin de los XMLs


Definir el portlet: portlet-ext.xml, liferay-portlet-ext.xml
Definir el flujo de las paginas: struts-config.xml: tiles-defs.xml
Crear un JSP: view.jsp
Conceptos claves:
Diferencia entre JSP Portlet y Struts Portlet: En JSP Portlet en el struts-config.xml se puede redirecionar de
frente al JSP, pero en Struts Portlet en el struts-config.xml se define el flujo de la pgina y en el tilesdefs.xml se define el layout de la pgina.
Una vista de cmo es el flujo

Apenas carga el portlet, en el portlet-ext.xml, se define la ruta de la accin. Luego se busca dicha ruta en el
struts-config.xml y despus se hace forward al tiles-def.xml en donde se define el layout y la direccin del
JSP.

Confidencial

UPC, 2015

Page 5 of 8

Conocimiento en Lnea
Liferay: Tutorial
Conocimiento-en-Linea - Lucene: Tutorial

Version:
0.2
Date: 06/03/2009

Definicin de un portlet en portlet-ext.xml


<portlet>
<portlet-name>conocimiento-en-linea</portlet-name>
<display-name>Conocimiento en Linea</display-name>
<portlet-class>com.liferay.portlet.StrutsPortlet</portlet-class>
<init-param>
<name>view-action</name>
<value>/ext/conocimientoenlinea/view</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
</supports>
<resource-bundle>com.liferay.portlet.StrutsResourceBundle</resource-bundle>
</portlet>

portlet-name: el nombre del portlet. Debe ser nico.


Display-name: el nombre del portlet a mostrar.
Portlet-class: la clase de portlet. Siempre debe ser com.liferay.portlet.StrutsPortlet a menos que uno
implemente su propia clase que extienda de StrutsPortlet.
init-param: Parmetros de inicio. Debe de haber un parmetro de inicio que indique la ruta de la accin en
la que se quiere empezar.
Expiration-cache: tiempo de expiracin del cache.
<mime-type>: indica el contenido de la pgina.
Resource-bundle: la clase a usarse para el uso de StrutsResourceBundle. Se recomienda no cambiarla.
Definicin de liferay-portlet-ext.xml
<portlet>
<portlet-name>conocimiento-en-linea</portlet-name>
<struts-path>ext/conocimientoenlinea</struts-path>
<use-default-template>false</use-default-template>
<css-class-wrapper>conocimientoenlinea</css-class-wrapper>
</portlet>

No influye en el flujo pero se debe definir.


Portlet-name: nombre del portlet.
Struts-path: es usado para la seguridad del portlet. Solo aquellos con permiso podran hacer uso de las rutas
que empiezen con ext/conocimientoenlinea
css-class-wrapper: se define para hacer uso de css desde el panel de configuracin de estilos en el liferay.

Confidencial

UPC, 2015

Page 6 of 8

Conocimiento en Lnea
Liferay: Tutorial
Conocimiento-en-Linea - Lucene: Tutorial

Version:
0.2
Date: 06/03/2009

Definicin de struts-config.xml
<!-- Conocimiento en Linea -->
<action path="/ext/conocimientoenlinea/Search" type="com.ext.portlet.conocimientoenlinea.action.SearchAction">
<forward name="portlet.ext.conocimientoenlinea.search" path="portlet.ext.conocimientoenlinea.search"/>
<forward name="portlet.ext.conocimientoenlinea.view" path="portlet.ext.conocimientoenlinea.view"/>
</action>

Aqu se define la ruta =/ext/conocimientoenlinea/Search que va hacer usada cuando se necesite hacer una
bsqueda. type= define donde se localiza la clase para la accin. Los tags de forward definen el flujo de
la pgina. En este ejemplo solo se puede dirigir a search y a view.
Definicin de tiles-defs.xml
<definition name="portlet.ext.conocimientoenlinea.view" extends="portlet">
<put name="portlet_content" value="/portlet/ext/conocimientoenlinea/view.jsp" />
</definition>
<definition name="portlet.ext.conocimientoenlinea.search" extends="portlet">
<put name="portlet_content" value="/portlet/ext/conocimientoenlinea/search.jsp" />
</definition>

En tiles-defs.xml, se define el layout que usara el JSP y la ruta en onde se encuntra dicho JSP.
4.2

Vista a una clase PortletAction


Anteriormente, se habia mencionado una accin llamada "/ext/conocimientoenlinea/Search que era del
tipo "com.ext.portlet.conocimientoenlinea.action.SearchAction"
Estas clases tienen dos mtodos que se pueden sobrescribir y son el render y processAction
public class SearchAction extends PortletAction {
@Override
public void processAction(ActionMapping mapping, ActionForm form,
PortletConfig portletConfig, ActionRequest actionRequest,
ActionResponse actionResponse) throws Exception {
// Se llama a la logica del negocio
//finalmente se hace forward a una de los forwards definidos en struts-config.xml
setForward(actionRequest, "portlet.ext.conocimientoenlinea.view");
}

Confidencial

UPC, 2015

Page 7 of 8

Conocimiento en Lnea
Liferay: Tutorial
Conocimiento-en-Linea - Lucene: Tutorial

Version:
0.2
Date: 06/03/2009

public class SearchAction extends PortletAction {

@Override
public ActionForward render(ActionMapping mapping, ActionForm form,
PortletConfig portletConfig, RenderRequest renderRequest,
RenderResponse renderResponse) throws Exception {
// Se llama a la logica del negocio
//finalmente se hace forward a una de los forwards definidos en struts-config.xml
return mapping.findForward("portlet.ext.conocimientoenlinea.view");
}
}
La diferencia entre los dos mtodos es que siempre que cargue un JSP se llamara al mtodo render. Despus
cuando el usuario ejecute alguna accin se llamara al mtodo processAction. Tener en cuenta que si el
processAction hace un forward al mismo JSP se ejecutara el render.

5.

Liferay Framework
Liferay ofrece un API para comunicarse con el portal desde el portlet. Entre ellos se encuentra:

5.1.1

Clases:
com.liferay.portal.kernel.servlet.SessionErrors: Se encarga de mandar un mensaje de error a la pgina
com.liferay.portal.kernel.util.ParamUtil: Se encarga de extraer los parmetros de un formulario,
com.liferay.portal.util.PortalUtil: Se puede extraer la sesin del portlet.

5.1.2

Tags
liferay-ui:tabs: Se puede crear tabs en el portlet
liferay-ui:error: Muestra un mensaje de error si fue comunicado desde el PortletAction
portlet:actionURL: llama al processAction del PortletAction
portlet:renderURL: llama al render del PortletAction

Confidencial

UPC, 2015

Page 8 of 8

También podría gustarte