Índice

  1. Título del curso
  2. Objetivo de la formación
  3. Duración
  4. Modalidad
  5. Importe
  6. Requisitos técnicos
  7. Temario

 


1. Título del curso

Personalización y desarrollo de componentes para Liferay. Integraciones, tests y debugging.

 


2. Objetivo de la formación

Durante este curso aprenderás distintas técnicas para la personalización de los componentes ofrecidos out-of-the-box así como el desarrollo de nuevos componentes con diversas tecnologías de programación que permitirán modificar tanto la apariencia como la funcionalidad de Liferay.

Veremos cómo exponer los servicios web que desarrollaremos securizados con Oauth2 y aprenderemos a crear test de integración con Arquillian y debuggear nuestro código.

 


3. Duración

40 horas lectivas

 


4. Modalidad

Online o presencial (recomendada).

  1. En modalidad online no se recomienda más de 3 horas y media al día.
  2. En modalidad presencial se debe incrementar el importe con los gastos de transporte y alojamiento si los hubiera

 


5. Importe

Consultar. Ir al formulario de contacto.

Por favor, en su consulta indique el número de alumnos, el lugar de realización del curso si es presencial y si desea alguna modificación del temario para adaptarlo a sus necesidades.

 


6. Requisitos técnicos

El curso se impartirá para Liferay 7.4. El temario es prácticamente compatible al 90% con todas las versiones 7 de Liferay, si bien se indicará durante el curso las diferencias existentes.

Requisitos hardware

  • Un ordenador por alumno
  • 8 GB RAM mínimo (recomendado 16Gb)
  • 30 GB HD libres
  • Procesador dual core o superior

Requisitos software

  • Navegador web (chrome)
  • Java OpenJDK 11.x
  • PostgreSQL 13.x
  • NodeJS 14.x
  • GIT
  • Apache Maven 3.5.x
  • Telnet
  • UNZIP, UNRAR o similar
  • IDE para desarrollo: IntelliJ (recomendado), Eclipse

Requisitos del aula (modalidad presencial)

  • Conexión Wifi con salida a internet
  • Proyector y cable con conexión hdmi o vga (o chromecast)
  • Pizarra

 


7. Temario


Bloque 0. Presentación

Bloque I. Entorno de desarrollo

  • Instalando un bundle de Liferay
  • Usando blade
  • El workspace
  • El código fuente de Liferay

Bloque II. Themes

  • Configuraciones
  • Portlet decorators
  • Themelets
  • Theme contributor
  • Template context contributor (práctica)
  • Invocando portlets

Bloque III. Layouts

  • El grid en bootstrap 4
  • Clases css útiles
  • Invocando portlets

Bloque IV - ¿Qué es OSGI?

  • Ciclo de vida
  • Apache Félix
  • Gestión de dependencias con bnd

Bloque V. Traducciones

  • Globales
  • Modulares

Bloque VI. Personalizando

  • Ficheros JSP
    • Fragments. En modules y en el core (práctica)
    • Dynamic includes (práctica)
    • Portlet filters (práctica)
    • MVCCommands (práctica)
  • Java services
    • Service wrappers (práctica)
    • Model listeners (práctica)
    • MVCCommands (práctica)
    • Marketplace override (práctica)
    • Entorno de extensión

Bloque VII. Portlets

  • Las especificaciones portlet (jsr 168, 286 y 362). Portlet 1.0, 2.0 y 3.0
  • Desarrollo e instalación de portlets con operaciones CRUD y AJAX (prácticas)
    • Logs y debugging
    • MVCPortlet
    • Liferay Faces (primefaces)
    • React
  • Comunicación entre portlets

Bloque VIII. El service builder

  • Desarrollando la capa de negocio (práctica)
  • Entities y finders. Relaciones 1..n y m..n
  • Uso de dynamic query y custom sql. Cacheando lo no cacheado.

Bloque IX. Integraciones con los frameworks de Liferay

  • Integración con el sistema de permisos (práctica)
  • Integración con el asset Framework (práctica)
  • Integración con el search system. (práctica)
    • Uso y configuración de Elasticsearch
    • Liferay indexers
  • Otras integraciones comunes
    • Workflow Kaleo
    • Papelera de reciclaje
    • ADT

Bloque X. Tests

  • Tests de integración con Arquillian

Bloque XI. Servicios web

  • JSONWS (práctica)
  • REST JAX-RS (práctica)
  • Securizando con Oauth2 (práctica)
  • GraphQL (práctica)

Bloque XII. El proceso de actualización de Liferay

Bloque XIII. Buenas prácticas