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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Logotipo de Orbis Sapientia Elearning Services

Protegemos tus datos

En este portal web procesamos datos personales como, por ejemplo, tus datos de navegación. Si sigues navegando por nuestro portal, nosotros y otras compañías seleccionadas, podrán instalar cookies o acceder a información no sensible de tu dispositivo con el objetivo de crear perfiles, personalizar contenidos, servir anuncios adaptados a tus preferencias y elaborar estadísticas. Es imprescindible para acceder al sitio web, aceptar:
Con este acto reconoces que has leído y comprendido todos ellos.
Algunas cookies son esenciales para la carga del portal y que puedas ver este mensaje por lo que ya han sido cargadas.
Si lo deseas, puedes eliminar y bloquear todas las cookies de esta web tal como se indica en las Políticas de cookies, aunque de hacerlo, el portal no funcionará correctamente.
X