Configurando el entorno de desarrollo para Liferay 7
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
[email protected]:~$ 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:
[email protected]:~$ 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
[email protected]:~$ mkdir repository && cd repository
Y por último
[email protected]:~/repository$ blade init
Descargando el bundle con tomcat en nuestro entorno de desarrollo
[email protected]:~/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
[email protected]:~/repository$ cd modules
Creando el portlet
[email protected]:~/repository/modules$ blade create -t servicebuilder -p com.miguelangeljulvez.contacto -c ContactoPortlet contacto
Vamos al módulo recien creado
[email protected]:~/repository/modules$ cd contacto
Si listas el contenido del módulo veras esta estructura de archivos
Para generar la capa de servicios
migu[email protected]:~/repository/modules/contacto$ blade gw buildService
Para compilar
[email protected]:~/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
[email protected]:~$ curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash - [email protected]:~$ sudo apt-get install build-essential nodejs
Instalar yeoman y gulp
[email protected]:/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
[email protected]:~/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
[email protected]:~/repository/themes$ cd my-liferay-theme [email protected]:~/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
m[email protected]:~/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 :)