ORGANIZACIONES CON PAÍS. LIFERAY 6.2.

Liferay Portal

Índice de contenidos

Liferay. Organizaciones con país.

Importante:

Atención, en la actualidad, las organizaciones con país no son una excepción sino una generalidad. Ya no es necesario realizar esta serie de pasos a partir de la versión 7.

Localizaciones de tipo organización normal con Liferay Portal CE 6.2

Esta herramienta nos permite tener organizaciones con país tal y como se comportan las localizaciones. La ventaja es que además pueden tener organizaciones hijas. Las localizaciones no pueden tenerlas.

En esta entrada en particular, toco un tema que recientemente ha aparecido en uno de los proyectos en los que colaboré con Tracom Consulting S.L. en este caso. Fue necesario planificar con extremo detenimiento el sistema jerárquico que utilizará Liferay en el proyecto. Un grupo de empresas, diferentes localizaciones, organizaciones que contienen a otras, sitios web privados por organización…

Aquí Liferay se ha prestado de manera excepcional para abordar el proyecto gracias a su sistema de sitios, organizaciones, roles, usuarios, etc.

Aún así, nos encontramos con el problema de que no podíamos usar una localización para un país concreto, por el hecho de que una organización normal en Liferay no permite tener organizaciones hijas, un requisito que necesitábamos. La solución: por supuesto usar una organización.

Pero esto nos lleva a otro problema. Por defecto, Liferay no permite asignar un país a una organización normal (regular) y era un requerimiento importante.

Finalmente, organizaciones con país

Podemos modificar esto desde el fichero portal-ext.properties mediante la propiedad:

				
					organizations.country.enabled[regular-organization]=true
				
			

El valor entre corchetes [regular-organization], indica el tipo de organización sobre el que tendrá efecto este cambio. En este caso, la organización normal de Liferay.

Como era un requisito imprescindible, también hicimos uso de otra propiedad más, muy similar, que hace que indicar el país para la organización sea necesario:

				
					organizations.country.required[regular-organization]=true
				
			

El proyecto nos exigía igualmente obtener el país asignado a la organización, desde un contenido web, por lo que desde una plantilla Velocity, teníamos que obtenerlo:

				
					#if($page.getGroup().isOrganization())
        #set($organizationService = $serviceLocator.findService("com.liferay.portal.service.OrganizationLocalService"))
        #set($countryService = $serviceLocator.findService("com.liferay.portal.service.CountryService"))
        #set($organizacionActual = $organizationService.getOrganization($page.getGroup().getOrganizationId()))
        #set($pais = $countryService.getCountry($organizacionActual.getCountryId()))
#end
				
			

Teniendo en cuenta que existen variables en el contexto de Velocity que están reservadas en los contenidos web, modificamos otra de las propiedades de portal-ext.properties (con el correspondiente reinicio del servidor de aplicaciones):

				
					journal.template.velocity.restricted.variables=
				
			

Con esto, ya no estarán restringidas y todo lo que necesitábamos quedará cubierto.

Importante:

A partir de la versión 6.2, la propiedad journal.template.velocity.restricted.variables ya no existe.

Actualización realizada el 22/01/2015
La propuesta para sustituir la anterior línea obsoleta es esta:

				
					freemarker.engine.restricted.classes=
freemarker.engine.restricted.variables=
velocity.engine.restricted.classes=
velocity.engine.restricted.variables=

// Y para guardar compatibilidad hacia versiones anteriores:
journal.template.freemarker.restricted.variables=
journal.template.velocity.restricted.variables=
				
			

Organizaciones con paísHasta la fecha solamente una entrada adorna este blog. La siguiente entrada pretendía ser una apología al software libre y un reconocimiento público hacia la herramienta Liferay. Sin embargo, he preferido desestimar la idea y reservar esa entrada para otro momento aunque ello suponga tardar un poco más en publicar una nueva entrada. Quería ofrecer algo práctico, útil, que es para lo que realmente decidí crear el blog.


Publicidad: construye tu portal Wordpress fácilmente con Elementor
Construye tu portal Wordpress fácilmente con Elementor

Conclusión

Liferay Portal es una herramienta gigantesca que va evolucionando, cambiando con mucha frecuencia. Es complicado mantenerse al día de todos estos cambios que afectan también (por supuesto) a toda la parte de configuración. Intentaré en el blog ir añadiendo artículos sobre Liferay Portal que hagan que sea un poco más llevadero.

Un cordial saludo y hasta otra ocasión.

Deja un comentario

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

Foto Perfil
JOSÉ MANUEL DOMÍNGUEZ ROMERO
Más de 20 años formando y desarrollando, siempre aprendiz, ahora emprendedor que intenta compartir toda esa experiencia y conocimientos.

Nos permitirás agregar más contenido gratis de tu interés con mayor frecuencia

¿Necesitas clases particulares de programación?

Reserva conmigo y recíbelas a través de Skype, Zoom, Hangouts, Discord o similar.

Clases particulares
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.