Logotipo de Orbis Sapientia Elearning Services

Servicios de formación. Especialistas en E-learning.

LIFERAY. PROPIEDADES DE PORTAL.PROPERTIES MODIFICADAS QUE AFECTAN A FREEMARKER Y VELOCITY

Velocity y Freemarker: portal.properties

Hay propiedades en el fichero portal.properties que afectan al procesamiento de plantillas realizadas en Freemarker o Velocity y aquí, aparece uno de los problemas comúnmente asociados al software libre: una nueva versión de la herramienta, puede implicar cambios que afectan a código desarrollado para versiones anteriores.

Es precisamente lo que ha ocurrido con las clases y variables restringidas en Freemarker y Velocity a partir de la versión 6.2 de Liferay. En versiones anteriores nos encontrábamos con:

Sin embargo, si nos bajamos el código fuente de Liferay

Selección de Bundle Liferay

Atención: Datos actualizados a 09/01/2017.

En la actualidad, la zona de descarga de Liferay ha cambiado bastante y se ha orientado totalmente hacia la última versión de Liferay en este momento: Liferay 7. Para cualquier descarga de versiones anteriores o de recursos relacionados a esas versiones: Descargas de Liferay.

…, abrimos el fichero /portal-impl/src/portal.properties con un buen editor y buscamos la palabra Velocity o Freemarker, nos daremos cuenta que ya no existen. Lo que ahora tenemos a nuestra disposición es (se indican las propiedades con los valores que vienen por defecto):

Atención: Datos actualizados a 21/12/2015.

Por tanto, si queremos acceder a esas variables y clases desde nuestras plantillas Freemarker o Velocity, el clásico fichero portal-ext.properties que sobrescribe a portal.properties contendrá algo como:

Parece ser que la razón del cambio es hacer más genéricas estas clases y variables que pueden ser usadas en diferentes contextos.

En cualquier caso, acceder a esas variables y clases en plantillas, implica generalmente que vamos a usar lógica en ellas, lo cual no es recomendable, como tampoco es recomendable el uso de serviceLocator en plantillas, recomendándose mejor usar el método getClass().forName(‘…’). Sobre esto tengo pensado realizar un artículo, así que lo veremos con más profundidad más adelante.

Nada más, un cordial saludo y hasta otra.

Deja un comentario

Contáctanos

Logotipo Orbis Sapientia E-Learning Services© 2017. Orbis Sapientia E-Learning Services - José Manuel Domínguez Romero. Todos los derechos reservados.

Últimas noticias y eventos

Archivos

Sobre nosotros

Avenida Castilla la Mancha, 31, Bajo 1
28702 San Sebastián de los Reyes
Madrid
X