Uncategorized

Minimizando conflictos de aui en nuestros Themes de Liferay

Cuando queremos crear un Theme en Liferay en muchas ocasiones nos podemos encontrar con que los estilos aui entran en conflicto con los estilos que nosotros queremos aplicar. Un caso típico es el choque producido entre el bootstrap que utiliza aui y bootstrap 3. ¿Cómo podemos mantener los estilos Liferay para el propio Liferay sin que afecte a los estilos de nuestra web? Pues no existe una fórmula mágica, pero podemos mitigar el impacto y […]

Liferay Dynamic Queries

Liferay define una serie de procedimientos (API) para obtener datos de la base de datos. Liferay Dynamic es una de ellos. Esta forma puede añadir complejidad a las búsquedas que hagamos en la base de datos respecto a las finders que podemos encontrar en los servicios locales de las entidades. Unos casos de uso (especificados por el equipo de Liferay) pueden ser los siguientes: Hacer agregados como MAX, MIN y AVG entre otros. Necesitas ciertas columnas […]

Controlar meta tags en Liferay de forma dinámica

Liferay permite añadir meta tags desde el apartado Site Pages > Page > SEO del panel de control, pero estos meta tags se aplican a la página sin importar lo que contenga y sus opciones son bastante limitadas. Esta funcionalidad en según qué casos no es suficiente. Vamos a poner un ejemplo para entender mejor lo que queremos hacer. Tenemos un portlet que genera las fichas de todas las personas que pertenecen o han pertenecido […]

Liferay Security Manager con PACL

¡Muy buenas! Hace unas semanas tuvimos la necesidad de añadir una lista de control de acceso al portal o Portal Access Control List (PACL) a uno de nuestros portlets. La razón es que algunos portales Liferay pueden tener activado el Security Manager. Básicamente lo que hace es controlar todas las acciones que hacen los portlets i que no ejecuten código malicioso. El Security Manager distinguirá un código malicioso (no tiene porqué ser malicioso per se) […]

Compartir la Capa de Servicios

¡Buenas! Hoy os explico diferentes maneras de compartir la capa de servicios que hayáis creado con el service builder entre diferentes portlets. Primero, tenemos que contar que tenéis un portlet base base-portlet, el cuál habéis creado entidades y servicios con el service builder. Si quisieramos que un segundo portlet y un hook, por ejemplo, accedieran a estos servicios, replicarlos para cada plugin sería ineficiente y causante d’errores de inconsistencia en el futuro. La mejor opción […]