Configurando el entorno de desarrollo para Liferay 7

Publicado por Miguel Ángel Júlvez el 09 de abril de 2016

Lo único que necesitamos tener instalado previamente es java, la JDK 8 (ohhh, sí, por fín Liferay con Java8)

 

Instalando BLADE

BLADE es la nueva herramienta de desarrollo que ayuda en la generación de los módulos osgi

miguel@anacleto:~$ curl https://raw.githubusercontent.com/gamerson/liferay-blade-tools/master/installers/global | sudo sh

 

Una vez termine el comando, tendrás disponible 'blade' en el path. Para comprobarlo:

miguel@anacleto:~$ blade version 1.0.0.201604062221 (en el momento de escribir este post)

 

Creando el entorno de desarrollo para liferay 7

Crea un directorio sobre el que configuraremos en el entorno de desarrollo

miguel@anacleto:~$ mkdir repository && cd repository

 

Y por último

miguel@anacleto:~/repository$ blade init

 

Descargando el bundle con tomcat en nuestro entorno de desarrollo

miguel@anacleto:~/repository$ gradlew initBundle

El  resultado es un nuevo directorio 'bundles' con Liferay 7 CE GA1 (en el momento de escribir el post)

 

Creando nuestro portlet servicebuilder

Vamos al directorio donde se almacenan los módulos

miguel@anacleto:~/repository$ cd modules

 

Creando el portlet

miguel@anacleto:~/repository/modules$ blade create -t servicebuilder -p com.miguelangeljulvez.contacto -c ContactoPortlet contacto

Vamos al módulo recien creado

miguel@anacleto:~/repository/modules$ cd contacto

Si listas el contenido del módulo veras esta estructura de archivos

 

Para generar la capa de servicios

miguel@anacleto:~/repository/modules/contacto$ blade gw buildService

 

Para compilar

miguel@anacleto:~/repository/modules/contacto$ blade gw build

 

En el momento de escribir este post, hay un error en las dependencias de los  build.gradle que se generan. La solución es usar estas versiones:

- com.liferay.portal:com.liferay.portal.kernel:2.0.0
- com.liferay:com.liferay.portal.spring.extender:2.0.2
- com.liferay:com.liferay.osgi.util:3.0.0

 

Para desplegar

Copia los módulos generados al directorio <liferay-bundle>/osgi/modules o ejecuta este otro comando

blade gw deploy

 

Cuando arranque el tomcat, en logs/catalina.out podrás ver si los módulos se han desplegado correctamente

Se puede ver mas claramente en gogo shell. 

$ telnet localhost 11311

Y ahí ejecutáis ss para ver los módulos.

g! ss

Si algún módulo no está activo puedes ver el motivo usando este otro comando

g! diag <numeroModulo>

 

En lugar de usar el telnet ortopédico blade también ofrece un comando para conectar a gogo

blade sh <comando>

Por ejemplo, para ejecutar el listado ss de los módulo habrá que ejectuar

blade sh ss

 

Creando nuestro tema de apariencia

Lo primero que hay que hacer es instalar (si no los tienes ya) las herramientas para construir el tema de apariencia

 

Instalar Node

miguel@anacleto:~$ curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash - miguel@anacleto:~$ sudo apt-get install build-essential nodejs

 

Instalar yeoman y gulp

miguel@anacleto:/tmp$ sudo npm install -g yo gulp generator-liferay-theme

Asegúrate que el comando anterior esté tal cual, todos los componentes en la misma línea para ahorrarte avisos de depéndencias insatisfechas

 

Generar el theme

miguel@anacleto:~/repository/themes$ yo liferay-theme

En este punto empezarán a descargarse todas las dependencias necesarias. En un rato se mostrará lo siguiente.

Como nota comentar aqui que si seleccionáis velocity como template language, al desplegar el theme aparece en los logs que dentro de poco va a dejar de tener soporte, así que si sois pro-velocity como yo, ya va siendo hora de que empecemos a cambiar a freemarker.

Cuando hay que introducir el path to our app server directory, yo he puesto el path al bundle que hemos descargado al comienzo de este post.

 

Compilar el theme

miguel@anacleto:~/repository/themes$ cd my-liferay-theme

miguel@anacleto:~/repository/themes/my-liferay-theme$ gulp build

 

Desplegar el theme

Para desplegar el theme, hay que copiar el war generado en el directorio 'dist' del theme que hemos creado al directorio deploy de liferay

miguel@anacleto:~/repository/themes/my-liferay-theme$ gulp deploy

 

Y ya está todo. Bueno, lo único que falta es probarlo.  Podéis levantar el bundle con este comando

blade server start -b

Pero antes aseguraros de que existe el directorio de logs del tomat, porque sino el comando anterior falla

mkdir bundles/tomcat-8.0.32/logs

 

Mientras tanto, en los logs....

 

Al cabo de un buen rato liferay estará disponible en http://localhost:8080 esperando a que lo configures

 

Cuando termines, verás que está desplegado el tema de apariencia que hemos creado y verás el portlet que hemos realizado listos para probar :)