Guia Basica de Liferay
Guia Basica de Liferay
Guia Basica de Liferay
En este curso bsico de Liferay aprenders qu es Liferay, qu ofrece y, en unos sencillo pasos, aprenders a crear tus propios plugins para ampliar este fantstico CMS.
ndice
$. %&u es Liferay'............................................................................................................ (
$.) ersiones ............................................................................................................................. ( $.( Licencias .............................................................................................................................. ( $.* +ipos de ser,idor ................................................................................................................. * $.* -lugins Liferay ..................................................................................................................... * $.. /LL01................................................................................................................................... *
*. /LL01 .......................................................................................................................... ((
*.$ 7ocumentaci<n ................................................................................................................. (( *.) -lugins, !idgets y utilidades ............................................................................................. (* 4.2.1 Widget ........................................................................................................................ 34 4.2.2 Plugin .......................................................................................................................... 35 4.2.3 Utilidades.................................................................................................................... 35 4.2.4 E em!lo de uso ........................................................................................................... 35 *.( Crea tu propio plugin......................................................................................................... (3
2 isita !!!.c"e#is.es
1. Qu es Liferay?
Liferay es un gestor de contenidos de c<digo abierto escrito en 6a,a que nos permite crear un portal !eb de una forma muy sencilla y rpida y administrar sus contenidos mediante un panel de control muy intuiti,o. =ue creado en el a>o )999 y desde entonces no "a parado de crecer, tanto es as, que cada a>o su cuota de mercado crece sin parar y ya se "a con,ertido en uno de los principales CMS del momento dando soluciones a un gran n?mero de importantes empresas nacionales y multinacionales.
1.2 Versiones
7esde su creaci<n, Liferay "a pasado por numerosas ,ersiones, cada una ms e,olucionada que la anterior. /ctualmente, su ,ersi<n ms reciente es la :.$ pero a?n se siguen utili@ando, y muc"o, las ,ersiones :.9 y ..).A. -or supuesto, desde este libro os ,amos a recomendar siempre que utilicis la ,ersi<n ms actual del producto ya que ser la ms estable y solucionar muc"as de las deficiencias de ,ersiones anteriores.
1.3 Licencias
Liferay se distribuye baBo ) tipos de licencias diferentes. La denominada CE y la EE. La CE es la licencia gratuita y de libre distribuci<n que se aplica a todos aquellos productos que te descargas directamente desde su !eb. 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 "abris imaginado es de pago. Como para la mayora de productos de este tipo, las licencias Enterprise son bastante caras y suelen estar s<lo al alcance de proyectos con un presupuesto relati,amente ele,ado.
3 isita !!!.c"e#is.es
problemas que surBan en las ,ersiones con licencias EE ya que son las que les reportan beneficios.
1.# $LL%&
/ partir de la ,ersi<n :.9, Liferay incluy< en su portal de forma nati,a este frame!or# Ba,ascript. En ,ersiones anteriores a la :.9 inclua la librera B&uery para dar soporte a todas sus funcionalidades dinmicas. Este nue,o frame!or# fue desarrollado a partir de 1H2 (, un frame!or# desarrollado por la compa>a 1a"oo y que, aunque en Europa no est muy eAtendido su uso, s lo est en EEHH.
4 isita !!!.c"e#is.es
/LL01 da soluciones y funcionalidades para la mayora de c<digo desarrollado para Liferay y, gracias a ser desarrollado a partir de 1H2(, dispone de todas sus funcionalidades originales. Como todo frame!or# tiene sus pros y sus contras, en este caso, a pesar de dar infinidad de funcionalidades adaptadas a las necesidades de Liferay y e,itar la necesidad de cargar otras libreras Ba,ascript "emos de decir que su gran incon,eniente es su escasa documentaci<n. Es cierto que dispone de una /-2 completa donde podis encontrar toda la documentaci<n con las diferentes funcionalidades que ofrece pero carece casi por completo de eBemplos completos de uso a diferencia de otros frame!or#s como B&uery. Es por estos moti,os que "oy en da toda,a no est muy eAtendido su uso a la "ora de desarrollar nue,as funcionalidades para un proyecto y muc"os programadores optan por incluir la librera B&uery o cualquier otra para e,itar impre,istos o problemas. -ersonalmente opino que es un frame!or# muy potente, que ofrece infinidad de posibilidades pero que si no tienes unos conocimientos mediosIaltos no te renta utili@arlo ya que en cuanto te encuentres un problema tardars tiempo en solucionarlo por la escasa documentaci<n, problemas que con frame!or#s como B&uery no pasara ya que si buscas tu problema en Google te saldrn miles de entradas con la soluci<n y con /LL01 eso no pasara. /?n as os animo a adentraros en el mundo de /LL01 ya que os resultar muy interesante y "ar que os esforcis.
isita !!!.c"e#is.es
En esta pantalla podis configurar los datos del portal, del administrador y la base de datos que utili@ar Liferay Mpor defecto ;ypersonicN. +ras finali@ar la configuraci<n tendremos que esperar unos pocos minutos M)J(minN para que configure y una ,e@ termine nos mostrar una pantalla de confirmaci<n.
! isita !!!.c"e#is.es
Lo siguiente ser establecer la tpica pregunta secreta y su respuesta para recuperar nuestra contrase>a en caso de que se nos ol,ideC
+ras este ?ltimo paso nos lle,ar directamente a nuestro portal que estar accesible mediante la HFL "ttpCIIlocal"ostC4949
3.
!u"ins
Hn plugin Liferay es una eAtensi<n del mismo que permite ampliar las funcionalidades y ser,icios que ofrece el portal. EAisten * tipos de plugins principales diferentesC +"eme, Layout, ;oo# y -ortlet.
3$% &i'os de (lugins 3$%$% &heme Hn +"eme o +ema de /pariencia es un plugin que permite modificar el estilo o dise>o de un portal !eb o de una pgina concreta. Cada +ema de /pariencia puede disponer de una serie de Esquemas de color que permiten "acer ,ariantes del mismo +ema de /pariencia y mantenerlo todo en un mismo plugin. -or eBemplo, podemos "acer que un +ema de /pariencia tenga ) ,ariantes de tonalidades, una en a@ul y otra en roBo. 3$%$2 )ayout Hna Layout o -lantilla es un plugin que permite definir una disposici<n de pgina diferente para cada pgina. Son sobre ellas sobre las que se colocan los portlets y afectan ?nica y eAclusi,amente al contenido central de la pgina. La cabecera, na,egaci<n principal y footer se definiran directamente en el t"eme. -or eBemplo, podemos tener plantillas de ) columnas al .9O, ( columnas al ((O, $ fila al $99O y ) columnas al .9O, etc. 3$%$3 (ortlet Los -ortlets son el componente principal de programaci<n de Liferay. =uncionan como m<dulos independientes y cada uno tiene una funcionalidad diferente. Cualquier c<digo creado dentro de un portlet no afectar nunca al c<digo nati,o del portal. -or eBemplo, podemos tener un portlet de /genda, otro de Dlog, otro de FSS, etc. Liferay dispone de numerosos -ortlet nati,os pero nosotros podemos crear tantos como queramos para dar soluci<n a todas nuestras necesidades o modificar los que ya nos ofrece Liferay mediante ;oo#s 3$%$4 *oo+ / diferencia de los portlets, este tipo de plugin permite modificar el c<digo nati,o del portal. Se utili@an, sobretodo, para modificar el c<digo de alg?n portlet nati,o del portal, definir ,ariables de idioma o modificar alguna funcionalidad del portal. EAisten * tipos de "oo#s principalesC ,ustom -S(s. -ermiten modificar el c<digo de uno o ,arios portlets mediante la modificaci<n de sus 6S-s. (ortal 'ro'erties. -ermiten modificar las propiedades del portal o definir nue,as propiedades. # isita !!!.c"e#is.es
Ser0ices. -ermiten modificar los ser,icios del portal directamente o a>adir nue,os. )anguage 'ro'erties. -ermiten declarar nue,as ,ariables de idiomas para facilitar la internacionali@aci<n del portal. Estas ,ariables luego ser usadas en diferentes puntos del portal como, por eBemplo, para traducir alg?n teAto de un +ema de /pariencia o de un -ortlet.
/ isita !!!.c"e#is.es
-ara probar que todo funciona abrimos la consola cmdM2nicio y eBecutamos CM7N y escribimos ant J,ersion y deberamos de obtener respuesta.M/cordaros que debemos tener instaladas las 678 de Ba,aN.
%1 isita !!!.c"e#is.es
-ara instalar el eclipse que nos "emos baBado s<lo tenemos que descomprimir el fic"ero donde nosotros queramos y una ,e@ descomprimido eBecutamos el fic"ero Leclipse.eAeL . Hna ,e@ dentro de eclipse debemos de mostrar la ,ista de Liferay. -ara ello, arriba a la derec"a se sit?a un cuadrado en forma de tabla que nos abre las perspecti,as. +an solo debemos clicar sobre la de Liferay y en caso de que no est ,isible elegimos 0t"erJ QLiferay.
%% isita !!!.c"e#is.es
Hna ,e@ "ec"o esto, ya estamos preparados para empe@ar a configurar el eclipse con nuestro ser,idor Liferay. /"ora debemos se situarnos en la pesta>a de Ser,erMabaBo a la i@quierdaN. Clic derec"o JQ Ge! JQ Ser,er.
%2 isita !!!.c"e#is.es
/"ora debemos de seleccionar la ruta donde est el +omcat de nuestro ser,idor Liferay. En nuestro caso L7CKLiferay :.$ G/)KbundlesKtomcatJ3.9.)3L. El resto lo deBamos por defecto y le damos a L=inis"L.
%3 isita !!!.c"e#is.es
Lo siguiente es instalar el S78 plugins de Liferay. -ara ello ,amos al men? superior y le damos a Pindo!JQ-referencesJQLiferayJQ2nstalled -lugin S78sJQ/dd.
%4 isita !!!.c"e#is.es
/"ora debemos seleccionar la ruta donde tenemos el S78 de Liferay, en nuestro caso L7CKLiferay :.$ G/)KpluginsL. Le damos a 08 y ,emos como se a>ade una nue,a entrada en preferences con el plugin que acabamos de a>adir.
% isita !!!.c"e#is.es
Hna ,e@ "ec"o todo esto ya tenemos nuestro entorno de desarrollo en Eclipse listo para empe@ar a crear nuestros propios componentes Liferay. -odemos controlar el ser,idor desde la ,entana de Ser,ers, compilar y desplegar componentes, etc. -ara comprobar que todo ,a bien ,amos a la pesta>a de ser,ers y le damos al bot<n ,erde en forma de LplayL. Hna ,e@ lan@ado el ser,idorMtarda unos minutosN comprobamos que se lan@a correctamente entrando en "ttpCIIlocal"ostC4949 /s, de esta forma, "emos instalado el plugin de Liferay para Eclipse de una forma muy fcil y sencilla y "emos deBado todo preparado para empe@ar a desarrollar componentes.
7onde Sne!T es el nombre del plugin y SEste es mi primer tema de aparienciaT es la descripci<n del plugin. +ras eBecutar el comando anterior automticamente creara un plugin de tema de apariencia con el nombre ne!Jt"emeMya que estbamos en pluginsIt"emes N. 7e esta forma tan fcil y encilla podremos crear plugins. En las siguientes secciones podris ,er como se crea cada uno de los plugins detallando a fondo cada uno de ellos.
En la carpeta de css podris encontrar todos los css que se aplican desde nuestro tema al portal. / pesar de que incluye muc"os fic"eros .css os recomiendo que todo cambio css que debis "acer lo realicis sobre custom.css ya que es el ?ltimo css que se incluye a tra,s de main.css, el cual se encarga de incluir todos los fic"eros .css. Luego tenemos la carpeta de templates, y dentro de ella unos cuantos arc"i,os .,m .En ella podemos encontrar el arc"i,o portalJnormal.,m. Este es el arc"i,o que le da forma a nuestra !eb. Se encarga de crear tanto el "ead como el body y sobre ellos cargar todo lo necesario para crearla Mcabecera, pie, na,igation, bloques definidos por nosotros, etcN. El resto de arc"i,os .,m de esta carpeta no son ms que peque>os bloques que meBoran la organi@aci<n y modularidad de la pgina cuyo fin ?ltimo es el de ser cargados desde portalJnormal.,m en la pgina. La tercera carpeta que tenemos es la de images y no creo que necesite eAplicaci<n. Contiene todas las imgenes que se utili@an en los css. %" isita !!!.c"e#is.es
1 por ?ltimo tenemos la carpeta de Ba,ascript que, como su propio nombre indica, tendr todos los arc"i,os Ba,ascript que utilicemos en nuestro tema. Si a>adimos nue,os arc"i,os .6S a esta carpeta deberamos de incluirlos en el "ead declarado en portalJnormal.,m para que se puedan incluir en el tema. amos a pasar a"ora a eAplicar c<mo debemos de crear los temas de apariencia. -ara crear un tema de apariencia abriremos una consola cmd y nos despla@aremos a la carpeta t"emes dentro de los plugins. En nuestro caso 7CKLiferay :.$ G/)KpluginsKt"emes Hna ,e@ en la carpeta t"emes eBecutamos el siguiente comando.
create new "Esto es mi primer tema"
7onde Lne!L es el nombre del tema y LEsto es mi primer temaL es la descripci<n del tema que ,eremos a la "ora de elegir el tema a aplicar en la administraci<n de pginas.
/"ora ya tenemos creado el tema pero est ,aco, por tanto, el siguiente paso ser copiar las carpetas de un tema por defecto que trae Liferay y, a partir de l, nosotros lo personali@aremos a nuestra manera. -ara ello ,"emos elegido el tema classic que est en 7CKLiferay :.$ G/)KbundlesKtomcatJ3.9.)3K!ebappsKF00+K"tmlKt"emesKclassic .Copiaremos las carpetas css, templates, images y Ba,ascript y las pegaremos en la carpeta Rdiffs dentro de nuestro nue,o tema creado. /"ora ya estamos preparados para empe@ar a personali@ar nuestro tema a nuestro gusto pero eso ya ser trabaBo de cada uno. Cuando queramos aplicar los cambios del tema en nuestro portal deberemos "acer lo siguienteC nos despla@aremos como antes, mediante la consola a la ubicaci<n 7CKLiferay :.$ G/)KpluginsKt"emes y eBecutaremos el siguiente comandoC
ant deploy
%# isita !!!.c"e#is.es
Con esto, tendremos ya compilado el tema y listo para usarse en el portal. -ara aplicarlo, como ya se eAplic< antes ,amos a nuestro portal y nos logueamos. Hna ,e@ logueados ,amos al doc#bar y le damos a L/dministrarL JQ -gina JQ /pariencia JQ 7efina un estilo especfico para esta pgina .En este punto ,eremos todos los temas que tenemos disponibles, incluido el que acabamos de compilar recientemente y con darle un simple clic# aplicaremos el tema, as de sencillo. Siempre y cuando estemos trabaBando de manera local. En caso de tener que trabaBar con una mquina remota, deberemos subir el tema a ella una ,e@ compilado y para ello "aremos lo siguienteC ,amos al -anel de controlJQ 2nstalaci<n de pluginsJQ+emas de aparienciaJQ2nstalar ms temas de aparienciaJQSubir y aqu elegimos el !ar correspondiente a nuestro tema. Estos P/F estn en la carpeta 7CKLiferay :.$ G/)KpluginsKdist MG0+/C acordaros de "acer el ant deploy al tema antes de subirloN 1 con esto ya tendramos nuestro tema subido y listo para usarse.
%/ isita !!!.c"e#is.es
Llegados a este punto, ,amos a "acer 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. Gosotros "emos elegido 7CK Liferay :.$ G/)KbundlesKtomcatJ3.9.)3K!ebappsKF00+KlayouttplK)RcolumnRi. Copiamos el contenido de los ( arc"i,os correspondientes a esta plantillaC )RcolumnRi.png,)RcolumnRi.tpl y )RcolumnRi.!ap.tpl en los arc"i,os de la nue,a plantilla. S<lo copiamos el contenido de cada uno.
En )RcolumnRi.png tenemos el t"umb que mostrar Liferay en el panel de administraci<n de plantillas. La estructura de la plantilla estar en )RcolumnRi.tpl. / partir de esta plantilla bsica de Liferay que distribuye las columnas con un anc"o del .9O nosotros ,amos a con,ertirla en una de ) columnas pero con una distribuci<n del *9O :9O. -ara ello tan s<lo debemos de cambiar donde trae auiJ!.9 por auiJ!*9 y auiJ!:9 respecti,amenteMa la columna $ le ponemos el *9 y a la segunda el :9N. 7ependiendo de la ,ersi<n de Liferay que tengis este c<digo ,ariar un poco pero todo el proceso de creaci<n es igualMnosotros estamos usando Liferay :.$N. /"ora tan s<lo deberamos de compilar la plantilla con Sant deployT y tendramos ya la plantilla lista para usarse.
21 isita !!!.c"e#is.es
7el mismo modo que los temas, si trabaBamos en local nos aparecer la plantilla directamente en el 7oc#barJQ/dministrarJQ7isposici<n de la pgina pero si estamos trabaBando remotamente deberemos de subir el !ar al ser,idor y para ello ,amos al -anel de controlJQ2nstalaci<n de pluginsJQ-lugins de plantillas de pginaJQ2nstalar ms plantillaJQSubir y aqu elegimos el !ar de la plantilla que estar en 7CKliferayJportalJ :.9.:KpluginsKdist 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.
2% isita !!!.c"e#is.es
Le damos y nos aparece una nue,a ,entana donde seleccionamos el nombre del proyectoMMi;oo#N y ms abaBo seleccionamos como tipo de plugin ;oo#.
22 isita !!!.c"e#is.es
-odemos obser,ar tambin en esta ,entana que podemos seleccionar tanto el plugin S78 a usar como el ser,idor, en nuestro caso, s<lo tendremos uno y no deberemos de modificar nada pero si tu,iramos ms de $ ser,idor nos apareceran a" todos los que tu,iramos.
Hna ,e@ "ec"o todo le damos a L=inis"L. 1a tenemos el "oo# creado pero est ,aco.
23 isita !!!.c"e#is.es
/"ora debemos ir al SFC de Liferay y buscar donde se encuentra el portlet a modificar, en nuestro caso el de blogs. Se encuentra en portalJQportalJ!ebJQdocrootJQ"tmlJQportletJQblogs. -ara "acer el "oo# debemos de copiar el arc"i,o a modificar del portlet, en este caso sera L,ie!RentryRcontent.BspL, y copiarlo en nuestro "oo# pero de la siguiente maneraC 7ebemos de reproducir toda la ruta del arc"i,o a modificar del portlet en nuestro "oo# desde la carpeta ;+ML a partir de IdocrootIPEDJ2G= del "oo#. En nuestro caso, el arc"i,o ,ie!RentryRcontent.Bsp del portlet blogs a modificar esta enC IportalJ!ebIdocrootI"tmlIportletIblogsI,ie!RentryRcontent.Bsp Guestro "oo# quedara de la siguiente forma estructuradoC Mi;oo#J "oo#IdocrootIPEDJ2G=I"tmlIportletIblogsI,ie!RentryRcontent.Bsp. En ,ie!RentryRcontent.Bsp es donde debemos de copiar el c<digo del fic"ero del portlet y es aqu donde modificaremos el c<digo para que el "oo# sobrescriba las funciones del portlet.
24 isita !!!.c"e#is.es
Hna ,e@ creada la estructura del "oo# ,amos a modificar el arc"i,o ,ie!RentryRcontent.Bs del "oo# para mostrar el mensaBe L=EC;/CL para que salga delante de la fec"a de publicaci<n de cada entrada del blog. En nuestro caso, deberamos de buscar el bloque que tiene por class LentryJdateL y a" dentro a>adir una lnea como la siguienteC Wdi,Q=EC;/CWIdi,Q
Como ,emos es muy simple de modificar lo que nosotros queramos. /cordaros siempre de "acerlo sobre la copia de la 6S- sobre el "oo#. -or ?ltimo debemos indicar la ruta a partir de la cual Liferay debe buscar los cambios de nuestro "oo#. Esto se debe "acer sobre el fic"ero liferayJ"oo#.Aml que se encuentra en IMi;oo#J"oo#IdocrootIPEDJ2G=IliferayJ"oo#.Aml /qu dentro debemos de a>adir entre las etiquetas lo siguienteC W"oo#QWcustomJBspJdirQIPEDJ2G=WIcustomJBspJdirQ
2 isita !!!.c"e#is.es
7e esta forma indicamos que la carpeta ;+ML cuelga de PEDJ2G=. Si quisiramos podramos cambiar la estructuraci<n de nuestro "oo# e indicarle aqu donde se "alla la carpeta ;+ML. -ara terminar, s<lo nos queda desplegar el "oo# yendo a la ,entana de /nt en el eclipse que se encuentra abaBo a la derec"a.
2! isita !!!.c"e#is.es
Hna ,e@ termine de desplegar tendremos listo nuestro "oo#. +an solo debemos ir al na,egador y abrir LiferayM "ttpCIIlocal"ostC4949 N acordndonos de lan@arlo antes de abrirlo ,ob,iamente, y una ,e@ abierto a>adimos el portlet blogs a cualquier pgina. />adimos una entrada al blog y podremos ,er como se muestra el mensaBe L=EC;/CL Bunto a la fec"a de publicaci<n de cada entrada.
2# isita !!!.c"e#is.es
En la siguiente pantalla debemos elegir el nombre de nuestro plugin, el ser,idor sobre el que se crear y sus S78. -or ?ltimo debemos seleccionar el tipo de pluginMportletN.
Hna ,e@ rellenemos todos los campos le damos a SGeAtT en la siguiente pantalla debemos marca la casilla SCreate custom portlet classT.
2/ isita !!!.c"e#is.es
Continuamos a la siguiente pantalla y escribimos el nombre que queremos dar a la class CSS de nuestro portlet, en nuestro casoT Mi-rimer-ortletT.
En la siguiente pantalla ,amos a modificar la ruta de las 6S-s para que estn en I"tmlIBsps y adems, ,amos a marca la casilla Edit en -ortlets Modes para que cree esa ,ista. Ms adelante eAplicaremos para qu son cada ,ista del portlet y que representa cada una.
31 isita !!!.c"e#is.es
-or ?ltimo, en la pantalla final nos permite seleccionar si queremos que nuestro portlet tenga m?ltiples instancias, si queremos que se a>ada al panel de control y adems, a qu categora se a>ade. En nuestro caso, deBaremos desmarcada la opci<n de instancias m?ltiples pero marcaremos que se a>ada al panel de control, a la categora SSamplesT.
+ras marca estas casillas, le damos a GeAt y en la siguiente pantalla le daremos a S=inis"T y automticamente se crear el -ortlet. 7ebera de quedarnos una estructura parecida a la siguienteC
3% isita !!!.c"e#is.es
Lo ms importante en lo que debemos fiBarnos es en las 6S-s edit.Bsp y ,ie!.Bsp. ie!.Bsp corresponde a la ,ista p?blica del portlet, la que cualquier persona con los mnimos permisos puede ,er. Edit.Bsp corresponde a la ,ista de preferencias desde la que podremos configurar cualquier parmetro que creemos. -ara nuestro eBemplo de creaci<n de un -ortlet ,amos a modificar ,ie!.Bsp y desplegaremos el -ortlet para saber que todo "a ido bien. En ,ie!.Bsp ,amos a escribir lo siguienteC
<h1>Este es mi primer portlet</h1> <p>Hola mundo. </p>
Hna ,e@ "ec"o guardamos y, al igual que con los +"emes o Layouts, abrimos una consola CM7, nos despla@amos a la ruta del portlet y escribimos el comandoC
ant deploy
Con esto ya tendremos disponible para su uso el portlet por lo que solo nos quedar irnos al na,egador !eb, entrar en nuestro Liferay local, loguearnos y una ,e@ logueados ,amos al 7oc# JQ /dd JQ More
32 isita !!!.c"e#is.es
7e esta forma podemos crear los portlets de una manera sencilla y en apenas unos minutos. 0tra cosa muy diferente ser programarlos para que "agan eAactamente lo que queramos.
4. $LL%&
En un apartado anterior definamos lo que era /LL01 y cules eran sus pros y , sobretodo, sus contras. En este apartado ,amos a resaltar cuales son las bondades de este frame!or# desarrollado para "acernos la ,ida dentro de Liferay muc"o ms fcil.
4.1 +ocu/en(aci6n
En "ttpCIIalloyui.comIdeployIapiI disponis de toda la informaci<n relacionada con este frame!or# aunque como ya decamos anteriormente no encontraris muc"os eBemplos completos.
33 isita !!!.c"e#is.es
En la siguiente direcci<n "ttpCII!!!.liferay.comIcommunityIliferayJ proBectsIalloyJuiIdemos podris encontrar todos los plugins, !idgets y utilidades adicionales de que dispone el frame!or#
34 isita !!!.c"e#is.es
4.2.2 !u"in )oading 9as+. Muestra una mscara de Loading que e,ita la interacci<n del usuario con el portal "asta que desaparece. 4.2.3 :(i!idades ,SS :orms. Es un frame!or# de CSS que nos permite maquetar los formularios de forma "omognea mediante una serie de class. ,SS )ayouts. Es un frame!or# CSS que permite dar anc"os a los columnas de las Layouts mediante la utili@aci<n de una serie de classMauiJ!(9, auiJ!3.,YN )i0e Search. -ermite filtrar el contenido por los datos introducidos en la b?squeda. ;ested )ist. Son listas que permiten ordenar sus elementos mediante un dragUdrop Marrastrar y soltarN. <0erlay 9anager. Crea una colecci<n de capas superpuestas que pueden ser maneBadas en grupo. 6esize. -ermite redimensionar prcticamente cualquier elementos de la pgina. Sortable. -ermite ordenar elementos mediante dragUdrop. S=: =riter >tility. Es una utilidad que nos permite renderi@ar arc"i,os SP=Mflas"N en una pgina. 4.2.4 -;e/p!o de uso amos a ,er un eBemplo ?til de uso como es la generaci<n de ,entana modales o 7ialogsC -ara generar un bocadillo nos ,aldremos de la librera LauiJdialogL de /LL01 que nos ofrece las funciones necesarias para generarlo todo. Las opciones de configuraci<n de la ,entana son numerosas pero nosotros ,amos a abordar unas cuantas en el eBemplo y eAplicar ms adelante para qu sir,e 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,
3 isita !!!.c"e#is.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>
/ continuaci<n se muestra una tabla con todas las options utili@adas y su eAplicaci<nC
<'tion
body,ontent. centered. constrain20ie8. destroy<n,lose. draggable. height. resizable. title.
3escri'ci?n
Es el contenido del dialog. -uede contener tanto teAto plano, como c<digo, como portlets. Establece si queremos que el dialog salga centrado en la pantalla. Comprime el dialog para que solo se ,ea la regi<n ,isible del portlet. 7estruye el dialog cuando lo cerramos. En caso de no destruirlo, quedara creado en el c<digo pero oculto. /dmite ,alores true o false. Establece si queremos que podamos arrastrar el bocadillo o no. /dmite ,alores true o false. La altura del bocadillo. -ermite redimensionar el bocadillo creado mediante un peque>o icono que sale en una esquina. /dmite ,alores true o false. Establece el ttulo del bocadillo. Gecesita un string.
&i'o
string trueIfalse trueIfalse trueIfalse trueIfalse int trueIfalse string 3!
isita !!!.c"e#is.es
8idth. modal.
buttons.
El anc"o del bocata. Si se pone a true, "ace que al mostrar el dialog se muestre un o,erlay oscuro por detrs de l que des"abilita todo lo que "ay por detrs de l. /dmite ,alores true o false. -ermite a>adir botones al dialog estableciendo simplemente el titulo del bot<n y una acci<n a lle,ar a cabo tras clicarlo. -odemos ,er su modo de uso en el eBemplo. Muestra el icono de cerrar el bocadillo. /dmite ,alores true o false. />ade una clase al dialog. Gecesita un string. />ade un id al dialog. Gecesita un string.
int trueIfalse
Como ,eis, el uso del c<digo 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 c<digo personali@ado del plugin. Hna ,e@ creado el plugin podremos utili@arlo de la siguiente maneraC
A.use("node", "basic-plugin", function(A) { A.all("#elemento").plug(A.MyPlugins.PluginEjemplo, { parametro1 : 'valor1', parametro2 : 'valor2' }); });
7onde Z[elemento\ es le 27 del bloque al que afecta el plugin y sobre el que se construye.
3# isita !!!.c"e#is.es
3/ isita !!!.c"e#is.es