Crear un tema de apariencia en Liferay 7

por

Symposium Liferay 2015Ya todos sabemos que Liferay 7 está en el horno y ya le queda poco para salir, por ello vamos a ir adelantándonos a la salida y vamos a empezar a saber un poco más de la nueva mecánica que han implementado.

Hoy toca el turno de los temas de apariencia y como van a funcionar a partir de ahora. Han sacado bastantes novedades respecto a ellos asi que vamos a verlo poco a poco.

Vamos a tomar como punto de inicio la forma en la que se crean los temas de apariencia.

Ant a muerto y han nacido trillizos!

A partir de ahora ya no utilizaremos ANT para hacer la creación y los despliegues de los temas de apariencia. En lugar de esto, utilizaremos: Yeoman, Gulp y Bower.

Yeoman Gulp Bower

Yeoman hará las veces de wizard y nos permitirá crear nuevos plugins a través de su asistente de creación o importarlos, por el momento.

Gulp nos permitirá, entre otros, realizar los despliegues, compilaciones, comprobar errores de CSS, etc.

Por último, Bower nos permitirá gestionar las dependencias de los plugins aunque este aún no lo hemos probado.

Nuestro primer tema de apariencia en Liferay 7

Si aún nos te has instalado todo lo que he indicado en el artículo anterior ¡No sé a que esperas!

Para crear un tema de apariencia lo primero que debemos hacer es descargarnos todo el software que os indicaba más arriba. Para ello, debemos abrir una consola CMD(Inicio -> Ejecutar -> CMD) y escribir lo siguiente:

npm install -g yo gulp bower

Instalar yeoman gulp y bower

Esto nos instalará Yeoman, Gulp y Bower.

Instalado yeoman gulp y bower

(NOTA:Antes de seguir aseguraros de que habéis arrancado Liferay 7 ya que si no a la hora de crear el tema no os encontrará la carpeta deploy)

Lo siguiente será instalar el generador de tema de Liferay, pero antes debéis colocaros con la consola sobre el directorio en el que queréis crear el tema de apariencia. A continuación escribís lo siguiente:

npm install -g generator-liferay-theme

Instalar y liferay theme generator

Si todo ha ido bien se mostrará esto:

Instalado liferay theme generator

En este punto ya estamos listos para crear el tema de apariencia. Empezamos ejecutando:

yo liferay-theme

Crear tema de apariencia liferay 7

Lo siguiente que nos pide es el nombre del tema de apariencia, en nuestro caso pulsamos intro para que coja el por defecto(My Liferay Theme).

Nombre del tema

Nos pide el ID del tema que queremos crear. AL igual que antes, lo vamos a dejar por defecto(my-liferay-theme).

Id del tema de apariencia

Ya queda poco, ahora toca la versión del tema de apariencia, en este caso, 7.0. Lo elegimos moviendo las flechas arriba y abajo y pulsando intro.

Version del tema de apariencia

Ahora el lenguaje que vamos a utilizar en nuestras templates, yo me decanto por velocity.

Lenguaje de las templates

¿Soporte para Compass? Esto dependerá de si váis a usar compass o no. Liferay ya lo está deprecando asi que queda a vuestra elección pero yo le voy a dar a no.

Una vez terminado este último paso nos creará el tema de apariencia después de ejecutar una serie de comandos de npm.

Por último, nos pedirá la ruta del tomcat de Liferay 7, en mi caso D:\liferay-portal-7.0-ce-a1\tomcat-7.0.62.

Ruta del tomcat

¡Y ya esta! Fácil, sencillo y para toda la familia :)

Tema de apariencia creado

En la carpeta SRC ya veréis que hay una carpeta CSS creada con un _custom.css creado. Esto ya funciona como en versiones anteriores, creamos los archivos con las rutas que queremos modificar(templates, js, images, etc).

Una vez modificado lo que queráis necesitamos desplegar el tema de apariencia, para ello, debemos ejecutar el siguiente comando(siempre situándonos sobre la carpeta del tema de apariencia):

gulp deploy

Esto compilará nuestro tema de apariencia y lo desplegará en el portal. Si entráis al portal y os váis a Sites -> Site Pages podéis ver abajo como está creado y listo para usarse.

Para terminar, quiero dar un agradecimiento especial a Marcos Castro, miembro del equipo de Liferay España por el fantástico Workshop de temas de apariencia que nos impartió.

COMENTARIOS

19-02-2017 21:17:25
Hola, me podrías pegar aquí el código de error que te da Liferay con el tema de la cache. Este error que me comentas me suena de que ya me sucedió en el pasado con Liferay 7. Te has bajado la ultima versión de Liferay? Un saludo
13-02-2017 11:17:02
Hola Sergio gracias por responder El log no tira error. Tengo el theme aplicado por defecto, siempre que hago una modificación en el CSS, hago el "gulp build" y luego corto y pego el .war generado en la carpeta deploy del proyecto (por si acaso). Sé que el deploy se hace porque si reinicio el tomcat puedo ver los cambios que hago, por ejemplo: "background-color:red;". Pero, si luego hago otro cambio "background-color:blue;", si no reinicio el servidor, no se ven. Veo que el problema es por la memoria cache, como puedo poner el sitio en modo desarrollo? he probado varias cosas pero no funcionan Te digo lo que he hecho: - desde el eclipse antes de iniciar el servidor, hice check en el campo "Use develope mode" - edite el archivo "tomcat/bin/setenv.bat" y agregue a al final de la variable "CATALINA_OPTS", la cadena: "-Dexternal-properties=portal-developer.properties" - reinicie el servidor, pero aun así, no funciona el modo de desarrollo. saludos!
12-02-2017 19:46:25
Hola Alice, asegúrate que has aplicado el theme a tu site en liferay. Cuando hace gulp deploy automáticamente debería desplegar directamente tu theme en el servidor si al crear el theme le indicaste la ruta del tomcat. Sino lo que puedes hacer es coger el .war generado y tirarlo en la carpeta deploy del servidor. Con gulp no es necesario saber como funciona ya que no tienes que modificarlo, sino simplemente usarlo con los comandos que te he indicado en el post. ¿En algún momento has tenido algún error en el log? Un saludo
08-02-2017 14:54:39
Hola Sergio, estoy empezando con los temas de apariencia en Liferay 7 y nunca he usado glup. ¿Cómo puedo ver los cambios que hago dentro de mi theme? es decir, cree un theme basándome en este tutorial, pero si cambio el CSS dentro de src/css y hago "gulp deploy" no veo los cambios en el sitio al refrescar. Recomienda me por favor un buen tutorial sobre el uso de estas tecnologías. Saludos
26-12-2016 11:22:32
Hola Esteban, no habría problema en daros las indicaciones para realizar este tipo de migraciones. Podéis contactarme a través de info@chekis.es para seguir tratando este tema. Un saludo,
30-11-2016 04:22:25
Buenas noches. Durante algún tiempo trabajamos aplicaciones web en Wordpress, donde lo que hacíamos era nuestro propio diseño en HTML y CSS. Ahora deseamos hacer estas aplicaciones web en Liferay y deseamos subir nuestro propio diseño en HTML y CSS. Nuestro diseñador está teniendo problemas en esto. Podrían darnos una guía, un paso a paso de como hacerlo en Liferay??
18-05-2016 15:36:29
Hola @Jorge, lo primero de todo muchas gracias. para poder trabajar con Liferay en entornos Unix es igual que en windows prácticamente. Descomprimes el bundles en la carpeta que desees y arrancas ejecutando el startup.sh. En cuanto a las dependencias para crear plugins, tan solo es necesario instalar Node y con NPM instalas bower, gulp y yeoman. En teoría te debería de funcionar asi.
11-05-2016 15:29:18
Muy bueno tu bog pero tengo una duda muchas personas en el mundo trabajamos con SO Linux y no veo en el blog ejemplos de como se instala en linux o como se implementa un tema o un porlet, que me aconsejan ya yo lo tengo instalado. Pero quisiera ver ejemplos de temas en Linux, yo trabajo con el eclipse para Liferay.
02-05-2016 22:26:13
Hola @David, lo primero gracias. para poder extender tu tema de apariencia debes ejecutar desde CMD, situándote sobre la carpeta del tema el comando "gulp extend" de esta forma saldrá un wizard parecido al de yeoman que te preguntará si quieres extender desde un themelet o desde un tema base. Luego te preguntará el repositiorio: local o online y por úlitmo te dejará elegir los themelets que puedes añadir del repositorio que habías elegido. Al tema de la dependencia del Visual, tengo que decirte que sigue siendo necesario. Pensaba que iba a ser solo para la versión Alpha pero definitivamente en la versión GA1 de Liferay 7 lo pide también por lo que no queda más remedio que instalarlo al igual que el resto de dependencias que os indiqué en el post. Cualquier problema que tengas me dices y espero haberte ayudado :)
02-05-2016 16:46:13
Saludos Sergio excelente articulo y muy bien explicado; por el momento me surge esta duda, como podría extender un tema con los nuevos themelets? tengo entendido que ahora son componentes que se incluyen dentro del tema, pero no lo he conseguido extender. Y otra pregunta relacionada con las dependencias para Liferay 7, es obligatorio descargar el Visual Studio en Windows? Gracia por tu ayuda.

DEJA TU COMENTARIO