Índice
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).
- En modalidad online no se recomienda más de 3 horas y media al día.
- 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)