Professional Documents
Culture Documents
ndice
1. Qu es Liferay?............................................................................................................ 3
1.2 Versiones ............................................................................................................................. 3
1.3 Licencias .............................................................................................................................. 3
1.4 Tipos de servidor ................................................................................................................. 4
1.4 Plugins Liferay ..................................................................................................................... 4
1.5 ALLOY................................................................................................................................... 4
4. ALLOY .......................................................................................................................... 33
4.1 Documentacin ................................................................................................................. 33
4.2 Plugins, widgets y utilidades ............................................................................................. 34
4.2.1 Widget ........................................................................................................................ 34
4.2.2 Plugin .......................................................................................................................... 35
4.2.3 Utilidades.................................................................................................................... 35
4.2.4 Ejemplo de uso ........................................................................................................... 35
4.3 Crea tu propio plugin......................................................................................................... 37
2
Visita www.chekis.es
1. Qu es Liferay?
Liferay es un gestor de contenidos de cdigo abierto escrito en Java que nos permite crear
un portal web de una forma muy sencilla y rpida y administrar sus contenidos mediante
un panel de control muy intuitivo.
Fue creado en el ao 2000 y desde entonces no ha parado de crecer, tanto es as, que cada
ao su cuota de mercado crece sin parar y ya se ha convertido en uno de los principales
CMS del momento dando soluciones a un gran nmero de importantes empresas
nacionales y multinacionales.
1.2 Versiones
Desde su creacin, Liferay ha pasado por numerosas versiones, cada una ms
evolucionada que la anterior. Actualmente, su versin ms reciente es la 6.1 pero an
se siguen utilizando, y mucho, las versiones 6.0 y 5.2.x.
Por supuesto, desde este libro os vamos a recomendar siempre que utilicis la versin
ms actual del producto ya que ser la ms estable y solucionar muchas de las
deficiencias de versiones anteriores.
1.3 Licencias
Liferay se distribuye bajo 2 tipos de licencias diferentes. La denominada CE y la EE.
La CE es la licencia gratuita y de libre distribucin que se aplica a todos aquellos
productos que te descargas directamente desde su web. Esta licencia te da permiso
para usar su producto, crear plugins y distribuirlos si fuese el caso.
La EE es la licencia Enterprise y como ya habris imaginado es de pago. Como para la
mayora de productos de este tipo, las licencias Enterprise son bastante caras y
suelen estar slo al alcance de proyectos con un presupuesto relativamente elevado.
3
Visita www.chekis.es
problemas que surjan en las versiones con licencias EE ya que son las que les reportan
beneficios.
1.5 ALLOY
A partir de la versin 6.0, Liferay incluy en su portal de forma nativa este framework
javascript. En versiones anteriores a la 6.0 inclua la librera jQuery para dar soporte a
todas sus funcionalidades dinmicas.
Este nuevo framework fue desarrollado a partir de YUI 3, un framework desarrollado
por la compaa Yahoo y que, aunque en Europa no est muy extendido su uso, s lo
est en EEUU.
4
Visita www.chekis.es
En esta pantalla podis configurar los datos del portal, del administrador y la base de datos
que utilizar Liferay (por defecto Hypersonic).
Tras finalizar la configuracin tendremos que esperar unos pocos minutos (2-3min) para
que configure y una vez termine nos mostrar una pantalla de confirmacin.
6
Visita www.chekis.es
Tras este ltimo paso nos llevar directamente a nuestro portal que estar accesible
mediante la URL http://localhost:8080
3. Plugins
Un plugin Liferay es una extensin del mismo que permite ampliar las funcionalidades y
servicios que ofrece el portal. Existen 4 tipos de plugins principales diferentes: Theme,
Layout, Hook y Portlet.
7
Visita www.chekis.es
9
Visita www.chekis.es
Para probar que todo funciona abrimos la consola cmd(Inicio y ejecutamos CMD) y
escribimos ant -version y deberamos de obtener respuesta.(Acordaros que debemos
tener instaladas las JDK de java).
10
Visita www.chekis.es
Para instalar el eclipse que nos hemos bajado slo tenemos que descomprimir el
fichero donde nosotros queramos y una vez descomprimido ejecutamos el fichero
"eclipse.exe" .
Una vez dentro de eclipse debemos de mostrar la vista de Liferay. Para ello, arriba a la
derecha se sita un cuadrado en forma de tabla que nos abre las perspectivas. Tan solo
debemos clicar sobre la de Liferay y en caso de que no est visible elegimos Other>Liferay.
11
Visita www.chekis.es
Una vez hecho esto, ya estamos preparados para empezar a configurar el eclipse con
nuestro servidor Liferay.
Ahora debemos se situarnos en la pestaa de Server(abajo a la izquierda). Clic derecho
-> New -> Server.
12
Visita www.chekis.es
13
Visita www.chekis.es
Lo siguiente es instalar el SDK plugins de Liferay. Para ello vamos al men superior y le
damos a Window->Preferences->Liferay->Installed Plugin SDKs->Add.
14
Visita www.chekis.es
Ahora debemos seleccionar la ruta donde tenemos el SDK de Liferay, en nuestro caso
"D:\Liferay 6.1 GA2\plugins". Le damos a OK y vemos como se aade una nueva
entrada en preferences con el plugin que acabamos de aadir.
15
Visita www.chekis.es
Una vez hecho todo esto ya tenemos nuestro entorno de desarrollo en Eclipse listo
para empezar a crear nuestros propios componentes Liferay. Podemos controlar el
servidor desde la ventana de Servers, compilar y desplegar componentes, etc.
Para comprobar que todo va bien vamos a la pestaa de servers y le damos al botn
verde en forma de "play". Una vez lanzado el servidor(tarda unos minutos)
comprobamos que se lanza correctamente entrando en http://localhost:8080
As, de esta forma, hemos instalado el plugin de Liferay para Eclipse de una forma muy
fcil y sencilla y hemos dejado todo preparado para empezar a desarrollar
componentes.
En la carpeta de css podris encontrar todos los css que se aplican desde nuestro tema
al portal. A pesar de que incluye muchos ficheros .css os recomiendo que todo cambio
css que debis hacer lo realicis sobre custom.css ya que es el ltimo css que se incluye
a travs de main.css, el cual se encarga de incluir todos los ficheros .css.
Luego tenemos la carpeta de templates, y dentro de ella unos cuantos archivos .vm .En
ella podemos encontrar el archivo portal-normal.vm. Este es el archivo que le da forma
a nuestra web. Se encarga de crear tanto el head como el body y sobre ellos cargar
todo lo necesario para crearla (cabecera, pie, navigation, bloques definidos por
nosotros, etc).
El resto de archivos .vm de esta carpeta no son ms que pequeos bloques que
mejoran la organizacin y modularidad de la pgina cuyo fin ltimo es el de ser
cargados desde portal-normal.vm en la pgina.
La tercera carpeta que tenemos es la de images y no creo que necesite explicacin.
Contiene todas las imgenes que se utilizan en los css.
17
Visita www.chekis.es
Y por ltimo tenemos la carpeta de javascript que, como su propio nombre indica,
tendr todos los archivos javascript que utilicemos en nuestro tema.
Si aadimos nuevos archivos .JS a esta carpeta deberamos de incluirlos en el head
declarado en portal-normal.vm para que se puedan incluir en el tema.
Vamos a pasar ahora a explicar cmo debemos de crear los temas de apariencia.
Para crear un tema de apariencia abriremos una consola cmd y nos desplazaremos a la
carpeta themes dentro de los plugins. En nuestro caso D:\Liferay 6.1
GA2\plugins\themes
Una vez en la carpeta themes ejecutamos el siguiente comando.
create new "Esto es mi primer tema"
Donde "new" es el nombre del tema y "Esto es mi primer tema" es la descripcin del
tema que veremos a la hora de elegir el tema a aplicar en la administracin de pginas.
Ahora ya tenemos creado el tema pero est vaco, por tanto, el siguiente paso ser
copiar las carpetas de un tema por defecto que trae Liferay y, a partir de l, nosotros lo
personalizaremos a nuestra manera.
Para ello ,hemos elegido el tema classic que est en D:\Liferay 6.1
GA2\bundles\tomcat-7.0.27\webapps\ROOT\html\themes\classic .Copiaremos las
carpetas css, templates, images y javascript y las pegaremos en la carpeta _diffs dentro
de nuestro nuevo tema creado. Ahora ya estamos preparados para empezar a
personalizar nuestro tema a nuestro gusto pero eso ya ser trabajo de cada uno.
Cuando queramos aplicar los cambios del tema en nuestro portal deberemos hacer lo
siguiente: nos desplazaremos como antes, mediante la consola a la ubicacin
D:\Liferay 6.1 GA2\plugins\themes y ejecutaremos el siguiente comando:
ant deploy
18
Visita www.chekis.es
Con esto, tendremos ya compilado el tema y listo para usarse en el portal. Para
aplicarlo, como ya se explic antes vamos a nuestro portal y nos logueamos.
Una vez logueados vamos al dockbar y le damos a "Administrar" -> Pgina ->
Apariencia -> Defina un estilo especfico para esta pgina .En este punto veremos
todos los temas que tenemos disponibles, incluido el que acabamos de compilar
recientemente y con darle un simple click aplicaremos el tema, as de sencillo. Siempre
y cuando estemos trabajando de manera local.
En caso de tener que trabajar con una mquina remota, deberemos subir el tema a ella
una vez compilado y para ello haremos lo siguiente: vamos al Panel de control->
Instalacin de plugins->Temas de apariencia->Instalar ms temas de apariencia->Subir
y aqu elegimos el war correspondiente a nuestro tema.
Estos WAR estn en la carpeta D:\Liferay 6.1 GA2\plugins\dist
(NOTA: acordaros de hacer el ant deploy al tema antes de subirlo)
Y con esto ya tendramos nuestro tema subido y listo para usarse.
19
Visita www.chekis.es
Llegados a este punto, vamos a hacer que nuestra plantilla cumpla con los requisitos
bsicos de Liferay y para ello, como en los temas, copiamos la estructura bsica de una
plantilla ya creada por Liferay. Nosotros hemos elegido D:\ Liferay 6.1
GA2\bundles\tomcat-7.0.27\webapps\ROOT\layouttpl\2_column_i. Copiamos el
contenido de los 3 archivos correspondientes a esta plantilla:
2_column_i.png,2_column_i.tpl y 2_column_i.wap.tpl en los archivos de la nueva
plantilla. Slo copiamos el contenido de cada uno.
20
Visita www.chekis.es
Del mismo modo que los temas, si trabajamos en local nos aparecer la plantilla
directamente en el Dockbar->Administrar->Disposicin de la pgina pero si estamos
trabajando remotamente deberemos de subir el war al servidor y para ello vamos al
Panel de control->Instalacin de plugins->Plugins de plantillas de pgina->Instalar ms
plantilla->Subir y aqu elegimos el war de la plantilla que estar en D:\liferay-portal6.0.6\plugins\dist y listo.
Las plantillas se aplican siempre de forma local, por tanto, deberemos de ir pgina por
pgina aplicando la que corresponda en cada caso.
21
Visita www.chekis.es
Le damos y nos aparece una nueva ventana donde seleccionamos el nombre del
proyecto(MiHook) y ms abajo seleccionamos como tipo de plugin Hook.
22
Visita www.chekis.es
Podemos observar tambin en esta ventana que podemos seleccionar tanto el plugin
SDK a usar como el servidor, en nuestro caso, slo tendremos uno y no deberemos de
modificar nada pero si tuviramos ms de 1 servidor nos apareceran ah todos los que
tuviramos.
23
Visita www.chekis.es
24
Visita www.chekis.es
25
Visita www.chekis.es
26
Visita www.chekis.es
27
Visita www.chekis.es
Una vez termine de desplegar tendremos listo nuestro hook. Tan solo debemos ir al
navegador y abrir Liferay( http://localhost:8080 ) acordndonos de lanzarlo antes de
abrirlo ,obviamente, y una vez abierto aadimos el portlet blogs a cualquier pgina.
Aadimos una entrada al blog y podremos ver como se muestra el mensaje "FECHA:"
junto a la fecha de publicacin de cada entrada.
28
Visita www.chekis.es
Una vez rellenemos todos los campos le damos a Next en la siguiente pantalla
debemos marca la casilla Create custom portlet class.
29
Visita www.chekis.es
En la siguiente pantalla vamos a modificar la ruta de las JSPs para que estn en
/html/jsps y adems, vamos a marca la casilla Edit en Portlets Modes para que cree esa
vista. Ms adelante explicaremos para qu son cada vista del portlet y que representa
cada una.
30
Visita www.chekis.es
Por ltimo, en la pantalla final nos permite seleccionar si queremos que nuestro
portlet tenga mltiples instancias, si queremos que se aada al panel de control y
adems, a qu categora se aade. En nuestro caso, dejaremos desmarcada la opcin
de instancias mltiples pero marcaremos que se aada al panel de control, a la
categora Samples.
31
Visita www.chekis.es
Una vez hecho guardamos y, al igual que con los Themes o Layouts, abrimos una
consola CMD, nos desplazamos a la ruta del portlet y escribimos el comando:
ant deploy
Con esto ya tendremos disponible para su uso el portlet por lo que solo nos quedar
irnos al navegador web, entrar en nuestro Liferay local, loguearnos y una vez
logueados vamos al Dock -> Add -> More
32
Visita www.chekis.es
De esta forma podemos crear los portlets de una manera sencilla y en apenas unos
minutos. Otra cosa muy diferente ser programarlos para que hagan exactamente lo
que queramos.
4. ALLOY
En un apartado anterior definamos lo que era ALLOY y cules eran sus pros y , sobretodo,
sus contras. En este apartado vamos a resaltar cuales son las bondades de este framework
desarrollado para hacernos la vida dentro de Liferay mucho ms fcil.
4.1 Documentacin
En http://alloyui.com/deploy/api/ disponis de toda la informacin relacionada
con este framework aunque como ya decamos anteriormente no encontraris
muchos ejemplos completos.
33
Visita www.chekis.es
En la siguiente direccin http://www.liferay.com/community/liferayprojects/alloy-ui/demos podris encontrar todos los plugins, widgets y utilidades
adicionales de que dispone el framework
34
Visita www.chekis.es
4.2.2 Plugin
Loading Mask: Muestra una mscara de Loading que evita la
interaccin del usuario con el portal hasta que desaparece.
4.2.3 Utilidades
CSS Forms: Es un framework de CSS que nos permite maquetar los
formularios de forma homognea mediante una serie de class.
CSS Layouts: Es un framework CSS que permite dar anchos a los
columnas de las Layouts mediante la utilizacin de una serie de
class(aui-w30, aui-w75,)
Live Search: Permite filtrar el contenido por los datos introducidos en
la bsqueda.
Nested List: Son listas que permiten ordenar sus elementos mediante
un drag&drop (arrastrar y soltar).
Overlay Manager: Crea una coleccin de capas superpuestas que
pueden ser manejadas en grupo.
Resize: Permite redimensionar prcticamente cualquier elementos de
la pgina.
Sortable: Permite ordenar elementos mediante drag&drop.
SWF Writer Utility: Es una utilidad que nos permite renderizar archivos
SWF(flash) en una pgina.
4.2.4 Ejemplo de uso
Vamos a ver un ejemplo til de uso como es la generacin de ventana
modales o Dialogs:
Para generar un bocadillo nos valdremos de la librera "aui-dialog" de
ALLOY que nos ofrece las funciones necesarias para generarlo todo. Las
opciones de configuracin de la ventana son numerosas pero nosotros
vamos a abordar unas cuantas en el ejemplo y explicar ms adelante para
qu sirve cada una, las principales.
<script type=text/javascript>
AUI().ready('aui-dialog', function(A) {
var instance = new A.Dialog({
bodyContent: 'Dialog body',
centered: true,
constrain2view: true,
destroyOnClose: true,
draggable: true,
height: 250,
resizable: false,
35
Visita www.chekis.es
stack: true,
title: 'Dialog title',
width: 500,
modal:true,
cssClass: 'clasePrueba',
id: 'identificadorDialog',
buttons: [
{
text: 'Alerta1',
handler: function() {
alert('alerta1');
}
},
{
text: 'Alerta2',
handler: function() {
alert('alerta2');
}
}
]
}).render();
});
</script>
Option
bodyContent:
centered:
constrain2view:
destroyOnClose:
draggable:
height:
resizable:
title:
Descripcin
Es el contenido del dialog. Puede contener tanto
texto plano, como cdigo, como portlets.
Establece si queremos que el dialog salga centrado
en la pantalla.
Comprime el dialog para que solo se vea la regin
visible del portlet.
Destruye el dialog cuando lo cerramos. En caso de
no destruirlo, quedara creado en el cdigo pero
oculto. Admite valores true o false.
Establece si queremos que podamos arrastrar el
bocadillo o no. Admite valores true o false.
La altura del bocadillo.
Permite redimensionar el bocadillo creado
mediante un pequeo icono que sale en una
esquina. Admite valores true o false.
Establece el ttulo del bocadillo. Necesita un string.
Tipo
string
true/false
true/false
true/false
true/false
int
true/false
string
36
Visita www.chekis.es
width:
modal:
buttons:
close:
cssClass:
id:
int
true/false
true/false
string
string
37
Visita www.chekis.es
}
});
}, "0.1", { requires : [ "base", "plugin", "node" ] });
Como veis, el uso del cdigo anterior se reduce a declarar una serie de parmetros que
sern los que se le puedan introducir al plugin y luego simplemente se crea el cdigo
personalizado del plugin.
Una vez creado el plugin podremos utilizarlo de la siguiente manera:
Donde #elemento es le ID del bloque al que afecta el plugin y sobre el que se construye.
38
Visita www.chekis.es
39
Visita www.chekis.es