sábado, 8 de diciembre de 2012

Liferay 6.1 : Dynamic Query

Descargar Track:
Dynamic query es una manera de hacer consultas directas usando las clases de Liferay para evitarnos la contruccion de un nuevo metodo en la capa de servicios asi ahorrandonos un despliegue innecesario, consultanto directamente mediante funciones de liferay a las tablas desde los portlets, para ello el portal nos proporciona la clase DynamicQuery asociada a todas las funciones LocalServiceUtil que Liferay genera automaticamente al mapear nuestro servicio.

El unico problema es tener el classloader necesario que dependera a que parte del portal llamamos:


CASO 1: Desde un portlet llamamos alguna clase de Liferay (Ejemplo Group)

  
    ClassLoader classLoader =  PortalClassLoaderUtil.getClassLoader();
DynamicQuery query =DynamicQueryFactoryUtil.forClass(Group.class,classLoader);
    


CASO 2: Desde un portlet llamamos alguna clase de otro portlet (Considerando la dependencia de portlets)
ClassLoader classLoader = (ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),"portletClassLoader");
DynamicQuery query =DynamicQueryFactoryUtil.forClass(MyEntity.class,classLoader)


CASO 3: Desde un portlet interno de Liferay llamamos alguna clase de Liferay (Ejemplo Group)

  
DynamicQuery query =DynamicQueryFactoryUtil.forClass(Group.class);
    


Estas son las maneras de generar una clase DynamicQuery segun la casuistica que manejemos.

martes, 30 de octubre de 2012

Liferay:Personalizar Acceso al panel de control

Anteriormente creamos un portlet y lo pusimos al a panel de control (Ver poner portlet en panel de control) esto hace que por defecto un usuario con el rol administrador podra ver dicho portlet en el panel de control.

Ahora queremos que un usuario con un rol diferente al de Administrador pueda ver el portlet en su panel de control, para ello haremos unas configuraciones propias:

Lo primero que debemos hacer es agregar una linea adicional al liferay-portlet.xml donde configuramos anteriormente para que nuestro portlet se despliegue en el panel de control, agregando el tag control-panel-entry-class justo debajo del tag control-panel-entry-weight quedando de la siguiente manera:


Liferay: Añadir portlet al panel de control

Si quisieramos poner un portlet creado por nosotros dentro del panel de control de Liferay para mantener el orden entre zonas lo podemos hacer de manera sencilla haciendo algunas configuraciones al portlet en mencion.

1.-Primero debemos configurar el portlet en el archivo liferay-portlet.xml en dicho archivo primero debemos verificar que la propiedad <instanceable> este en false, si no lo esta  lo ponemos en false.

<instanceable>false</instanceable>

Luego debemos agregar algunas etiqueta adicionales encima de la etiqueta <instanceable>false</instanceable> que son:

<icon>/icon.png</icon>
  <control-panel-entry-category>content</control-panel-entry-category>
  <control-panel-entry-weight>3.0</control-panel-entry-weight>
  <instanceable>false</instanceable>


jueves, 25 de octubre de 2012

Liferay: Creación de Tema básico


Cuando enfrentamos un proyecto de desarrollo sobre Liferay enfrentamos no solamente el desarrollo de las caracteristicas funcionales del portal sino tambien el de las caracteristicas graficas del portal es decir la "cara " de nuestra web que normalmente esta compuesta por estilos , imagenes, banner y demas adiciones graficas que haran mas vistoso nuestro proyecto.

En liferay se maneja uno de sus plugins para toda este trabajo denominado theme, un theme es un plugin de Liferay sobre le cual se desarrollara e integrara todos los componente graficos del portal (maqueta grafica) conformado por : estilos css, librerias  javascript, imagenes, distribucion de componentes graficos, logos, banners y demas componentes que conformen el esqueleto grafico del proyecto.

En este post desarrollaremos la base para un theme liferay sobre el cual agregaremos nuestros componentes graficos.

viernes, 13 de julio de 2012

Compartir variables de sesion en Liferay

El manejode variables de sesion dentro de liferay es un poco diferente a lo normal a nivel de servlets, se tiene varios casos que implican soluciones diferentes tales como:
-Compartir sesion de Theme a Portlet.
-Compartir sesion de Portlet a Theme.
-Compartir sesion de Portlet a Portlet.

Se tomaran los casos mas resaltantes encontrados, para lo cual ....

Recuperar Parametros de URL en Theme Liferay

Una parte importante de la estructura visual de un portal Liferay es el tema (Theme) que como bien saben esta codificado en Apache Velocity, un interrogante en algunos casos es como puedo acceder a los parametros pasador por un url desde mi tema Liferay.

Esto podemos hacerlo de la siguiente manera:

Sea la URL http://localhost:8080/?utm_source=facebook&utm_medium=free podemos recuperar los valores de utm_source y de utm_medium dela siguiente manera

viernes, 8 de junio de 2012

Liferay 6.0 : Spring MVC Portlet

Una vez desarrollado el portlet simple con el IDE de desarrollo de Liferay [ver portlet simple] podemos usar varios frameworks java para desarrollar portets tales como Struts,Spring, JSF, IceFaces,etc.

Convertiremos el portlet simple creado anteriormente en un portlet Spring MVC usando ciertas configuraciones sobre archivos del portlet.

lunes, 4 de junio de 2012

Liferay 6.0 : Creación Portlet Simple

Luego de Haber instalado nuestro Liferay IDE integrado con Eclipse [ver integración Eclipse - Liferay] y tener nuestro ambiente de desarrollo configurado [ver configuración de ambiente],  procederemos a crear un plugin del tipo portlet con nuestro IDE de desarrollo.

PASO 1 : Damos New Liferay Project.
Seleccionamos un nuevo proyecto Liferay
Seleccionamos un nuevo proyecto Liferay


sábado, 2 de junio de 2012

Liferay 6.1 : Instalación con WebSphere 7 sobre Windows

Realizaremos la instalación de Liferay 6.1 sobre IBM WebSphere Application Server 7.0 (WAS 7) sobre Windows.

Cabe recalcar que  existe un bug en la version 6.1 sobre Windows para el WebSphere su correcion se encuentra en esta ruta [ver correcion de bug], que en resumen dice :

En la clase ClassPathUtil  de portal-service.jar linea 183 modificar:

Line 183:

pos = path.lastIndexOf(CharPool.SLASH, pos);

// BEGIN - WAS UNDER WINDOWS STARTUP FIX

if (pos == -1) pos = path.lastIndexOf(CharPool.BACK_SLASH);

// END - WAS UNDER WINDOWS STARTUP FIX

dir = new File(path.substring("file:".length(), pos));

Instalación de IBM WebSphere Application Server 7

Proceremos a la Instalación de un servidor IBM WebSphere Application Server 7 (WAS) para usarlo con Liferay 6.1 sobre Windows.

En la carpeta de instalación del WAS se ejecuta launchpad.exe e inicia la instalación del WAS.

PASO 1. Ejecutar el programa de instalación de WAS y en la ventana que se muestra dar click en “Iniciar el asistente de instalación de Webphere application Server”.
Asistente de Instalacion de WebSphere 7
Asistente de Instalacion de WebSphere 7