Entradas

Mostrando las entradas con la etiqueta liferay

OpenJDK + Liferay + MySQL, en contenedores

Imagen
  Estamos en el mundo de la contened.. conteneni...contenedoriza ... bueno, que todo lo colocan en contenedores. Lo cual es un gran alivio en la configuración y puesta en producción de servidores. No tendríamos de qué preocuparnos más que esté bien configurado a través de un archivo YAML. Una de los temas más recurrentes que he hablado en este humilde blog es sobre el CMS hecho en Java llamado Liferay. Siempre la parte que más me preocupaba era: ¿cómo diablos podemos ponerlo en producción con algunos pasos?. Pues bueno, aquí lo explico en este post: usando Docker.

Liferay 7.2. Service Layer + Portlet. Un CRUD básico

Imagen
En este post conoceremos cómo implementar un CRUD muy básico, pero consiste en unir el Service layer con el Portlet. Aquí ya unimos las piezas que forman el MVC en Liferay.

Liferay 7.2. Service Layer - Consultas personalizadas

Imagen
Hasta el momento hemos creado consultas simples, como listar todos los registros con un campo u otro campo iguales. Pero necesitamos que nuestros registros puedan ser leídos con cualquier combinación de los cambios. El Service Layer nos cubre grandes funcionalidades con las características básicas del CRUD. Además, podemos agregar otros tipos de consultas. Estos tipos de consulta se llama DynamicQuery , y es lo que veremos en este post.

Liferay 7.2. Service Layer - Creando entidades y servicios

Imagen
Sigamos con Liferay, ahora con el tema Service Layer. Liferay Service Builder es una herramienta de generación de código que permite, usando un archivo xml, generar una capa completa de servicios. La generación de código incluye definciones de base de datos, código para caché y persistencia, clases de servicios con métodos CURD y la capa de servicios remotos con compatibilidad con JSON y SOAP Web Services. ¡Y todo esto con un solo archivo service.xml !

Liferay 7.2. Atendiendo peticiones en un Portlet

Imagen
Continuamos con las peticiones de un Portlet. En el anterior post vimos como navegar entre páginas. Esto es análogo a las peticiones GET de HTTP. Lo que ahora veremos es cómo atender peticiones tipo POST que generalmente están asociadas a las peticiones de un formulario.

Liferay 7.2. Navegando entre páginas

Imagen
Como en toda página web es necesario conocer cómo navegar entre páginas. Naturalmente usaremos un tag a , pero un portlet de Liferay necesita cierto cuidado dado que se deben pasar parámetros específicos, además de considerar valores precargados dependiendo del caso. En este post conoceremos un poco la navegación de Liferay considerando el tag liferay-portlet:renderURL .

Liferay 7.2: Creando nuestro primer portlet

Imagen
Siguiendo con nuestros vídeos de Liferay, ahora veremos cómo crear un portlet.

Liferay 7.2: Preparando nuestro entorno de desarrollo con Eclipse

Imagen
Comenzaremos una serie de vídeos (adicional a la de Jakarta EE 8) para aprender a desarrollar con Liferay 7.2 En este vídeo veremos cómo configurar nuestro Eclipse IDE junto con nuestro Liferay 7.2.

Usando una base de datos externa en Liferay a través de Spring

Imagen
Todos los aplicativos (portlets) de Liferay, usando a través del Service Builder , utilizan la misma base de datos donde se configuró el servidor. Si deseamos utilizar otra base de datos ya existente, podemos hacer una integración en nuestro portlet. En este post veremos cómo hacer esta integración, pero en esta manera no usaremos el Service Builder.

Consumiendo servicios JSON de Liferay usando Jersey

Imagen
Liferay viene con servicios RESTful llamados " Servicios Web JSON ", porque utiliza el formato JSON. En este post voy a compartir una manera de consumir desde Jersey para acceder a sus datos.

Instalación de Liferay 6.2 en GlassFish 4.0

Imagen
Aquí un nuevo tutorial sobre la instalación de la última versión de Liferay (6.2) sobre la última versión de GlassFish  4.0. Uno puede descargar la versión empaquetada de Liferay + GlassFish desde SourceForge . Pero solo incluye la versión 3 del contenedor. Así que, les comparto mi experiencia en la instalación de ese CRM, guiándome de la documentación de Liferay: Installing Liferay on GlassFish 4 .

Biblioteca compartida en plugins de Liferay

Imagen
Volviendo un rato con  +Liferay  (y como son apuntes principalmente para que yo no me olvide), voy a compartir un truco (¿?) que no lo vi en algún tutorial, pero que lo usan mucho en el desarrollo de plugins para este CMS.

Mostrar únicamente el contenido del portlet en Liferay

Imagen
Este es un post corto, ya que es un tip. Los portlets  tienen tres estados de ventana: Minimizado (minimized) Maximizado (maximized) Normal (normal) El primero hace que el portlet se muestre "cerrado", y que solo muestre el título. El segundo hace que el portlet se muestre en toda la página web del portal. El tercero es el común: se muestra dentro del diseño del portal. Pero estos tres estados tienen algo en común: muestra el portlet dentro del diseño del portal, incluyendo sus javascript, los diseños, la cabecera, su theme, etc etc etc. Está muy bien si lo que queremos es mostrar todo el look&feel del portal adornando nuestro portlet. Ahora bien: si estamos haciendo un portlet que su contenido queremos que no salga incrustado (la palabra ' embebido' suena feo en castellano) en el portal ¿cómo le hacemos?

Cómo agregar un javascript o css a un portlet

En liferay, cuando creamos un portlet, éste tiene un .js y un .css asociados directamente al portlet. Modificamos allí, creamos nuestras cascadas o funciones JavaScript y listo. ¿Pero si queremos agregar un .js de terceros únicamente a este portlet? Aquí dejo un tip. Primero, debemos considerar el taglib liferay-util <%@ taglib uri="http://liferay.com/tld/util" prefix="liferay-util" %> Luego, debemos agregar los siguientes tags, si queremos que aparezcan nuestro JavaScript o CSS al inicio de la página web. <liferay-util:body-top> <script type="text/javascript" src="<%=PortalUtil.getStaticResourceURL(request,request.getContextPath() + "/js/mi_archivo.js")%>"></script> </liferay-util:body-top> <liferay-util:body-bottom> <script type="text/javascript"> alert("cargado"); </script> </liferay-util:body-bottom> Y si queremos que aparezca al in...

JSON WebService Liferay 6.1 (GA2) (Queja)

Este es un post pequeño, y quizás un poco fastidiado por algo que encontré en esta nueva versión de Liferay 6.1 GA2 (es decir, la 6.1.1) Para crear un JSON WebService, basta con crear un Service en el Portlet y ya está publicado. (Leer aquí  http://www.liferay.com/community/wiki/-/wiki/Main/JSON+Web+Services ) Si usamos Tomcat, no existe ningún problema. Es más, podemos ver el API WebService en una web para hacer las pruebas desde la misma web. Por ejemplo: si creamos un portlet llamado "Test-portlet" y creamos un servicio llamado "Calc", podemos entrar a http://localhost:8080/Test-portlet/api/jsonws y vemos todo el API. Pero... si usamos el GlassFish, no aparecerá la página. Según la gente de LR, cada contenedor tiene manera diferente de reconocer su contexto. Me consta: depuré el código fuente, y desde GlassFish devuelve el contexto "null" mientras que con tomcat devuelve el contexto (o sea, Test-portlet) Y la salida que me dan es llamar a un URL c...

Liferay, más que un CMS

Imagen
Estamos desarrollando una Intranet 2.0 en una reconocida empresa, utilizando para ello Liferay. Y es que usar Liferay como un Sistema de Gestión de Contenido, no sería lo más justo para tal plataforma. Se puede hacer muchas cosas con este aplicativo.

Permisos por usuario para recursos de Liferay

Imagen
A partir del Liferay 5, los permisos a los recursos (blog, foro, contenido, etc) se hacen a través de "Roles". Es decir, si se quería compartir un solo archivo a una sola persona, habría que crear un "Rol" donde esté esa persona. Eso es algo complicado de mantener, si es que estamos usando el Liferay como una intranet y se les permite  a los usuarios que compartan información únicamente a ciertos usuarios.

Resultado de Encuesta: Tutorial de Instalación de Liferay

Imagen
Bueno, la cosa estuvo reñida. Pero aquí los resultados de la encuesta sobre qué software utilizar para el curso de Liferay que estoy elaborando.

Encuesta: Tutorial de Instalación de Liferay

Estoy preparando un tutorial de Liferay y - para que los que desean llevar el curso online - me gustaría conocer qué es lo que quieren encontrar ahí

Liferay 6.1

Imagen
De vuelta a la carga! Después de un año de descanso no merecido para actualizar el blog, aquí regreso con algunas novedades. Para comenzar, todo el año pasado he estado laborando en una empresa que no se dedica 100% a Java, por tanto no había mucho que aportar a la comunidad. Pero ahora - por Gracia de Dios - estoy laborando en una empresa grande donde trabajan casi el 100% en Java, así que me siento como pez en el agua :) Ahora bien, estoy en un proyecto donde se está implementando el Liferay como plataforma para la gestión de comunidades internas. Y bueno, Liferay ha evolucionado bastante desde la última vez que publiqué un post sobre él. Así que este post es básicamente mostrar las nuevas características que tiene la versión actual de Liferay 6.1.