En la versión más usada de Liferay Portal, la 6.2 (al menos hasta no hace mucho) y, para mí la mejor, existía la entidad de organización con país. Esto cambió hace a partir de la versión 7, donde ya, no son una excepción, sino una generalidad que puedes usar o no, según las necesidades.
En aquel momento, se creaban de ese tipo o no, desde hace tiempo, puedes aplicar esos atributos a una organización, o no.
🚧 If you prefer to see the post in English, you can see it on Medium 🔗.
3️⃣ Dificultad: se debe tener un cierto nivel de conocimientos a nivel de usuario y configuración de la herramienta Liferay Portal.
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.
Hoy en día, es algo irrelevante, pero he querido actualizar esta entrada para hacerla más acorde a los tiempos actuales.
Patrocina Fiverr
Finalmente, organizaciones con país
Podemos modificar esto desde el fichero portal-ext.properties mediante la propiedad:
organizations.country.enabled[regular-organization]=trueEl 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]=trueEl 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()))
#endTeniendo 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.
A partir de la versión 6.2, la propiedad journal.template.velocity.restricted.variables ya no existe. En su lugar (hoy día tampoco útil en las nuevas versiones de Liferay Portal), optamos por usar el siguiente código en la configuración:
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=Insisto, desde la versión 7 de Liferay Portal, ya no existen este tipo de localizaciones, todas las organizaciones son iguales y su localización en cuanto a asignarle un país, una región, etc., se trata como características de éstas.

Si quieres saber un poco más sobre organizaciones, no te pierdas este artículo y vídeo que trata las organizaciones de Liferay Portal con buena profundidad.
Conclusión
Liferay Portal es una herramienta gigantesca que va evolucionando, cambiando con mucha frecuencia. Excesiva frecuencia, no siempre ni necesaria ni para mejor. Es complicado mantenerse al día de todos estos cambios que afectan también (por supuesto) a toda la parte de configuración.
Un cordial saludo y hasta otra ocasión.
🥇 Ayúdanos con una pequeña donación y conseguiremos ofrecer más contenidos gratuitos con más frecuencia. Gracias. 🥇 (Puedes cambiar la cantidad)
📘 🤔 ¿Quieres ampliar lo que acabas de leer? Busca más lecciones, guías y recursos en nuestro portal
📚 Recursos relacionados
Liferay. Organizaciones con país
En la versión más usada de Liferay Portal, la 6.2 (al menos hasta no hace mucho) y, para mí la mejor, existía la entidad de organización con país. Esto cambió hace a partir de la versión 7, donde ya, no son una excepción, sino una generalidad que puedes usar o no, según las necesidades. En…
Liferay CE. Organizaciones
Liferay CE. Organizaciones. Un nuevo artículo sobre Liferay. Éste actualiza al tiempo que repasa, una de las bases de esta herramienta. Efectivamente, Liferay CE. Organizaciones, nos explica esta entidad, importantísima a la hora de jerarquizar en nuestros proyectos Liferay. Ya tocaba. Hacía mucho que no podía escribir una nueva entrada en el blog y menos…
Fragmentos en Liferay 7.x
Fragmentos en Liferay 7.x El artículo Fragmentos en Liferay 7.x muestra cómo se utilizan los fragmentos de página. Aparecen desde la versión 7 pero es en la 7.1 dónde podemos crearlos desde la interfaz del propio Liferay Portal y dónde están consolidados como tal. Editor de Fragmentos Su aparición obedece una vez más a la…
Liferay Portal 7.2. Qué novedades trae
Liferay Portal 7.2. Qué novedades trae En Liferay no paran: positivamente. No hace demasiado que apareció Liferay Portal 7.1 que comentaba en otro artículo. Nuevamente, con este «Liferay Portal 7.2. Qué novedades trae», intento mostrar la nueva versión. Debo decir que a pesar de los evidentes cambios y avances en la versión 7 de Liferay…
Liferay 7.1. Plantillas de interfaz de la aplicación
Liferay 7.1. Plantillas de interfaz de la aplicación En esta entrada Liferay 7.1. Plantillas de interfaz de la aplicación hacemos un acercamiento a las anteriormente llamadas plantillas de aplicación. Pero, ¿qué son las plantillas de interfaz de la aplicación? ¿Qué son las plantillas de interfaz de la aplicación? Las llamadas plantillas de interfaz de la…
Liferay 7.1. HikariCP
Liferay 7.1. HikariCP Después de cierto tiempo: Liferay 7.1. HikariCP. Un nuevo artículo sobre Liferay. Por unas razones u otras, me es muy complicado escribir en el blog. Afortunadamente, en esta ocasión no han sido temas de salud si no todo lo contrario: un viaje de placer que, inesperadamente, me ha reportado ánimos para continuar…
Liferay 7.1. Qué novedades trae
Liferay 7.1. Qué novedades trae Esta entrada de «Liferay 7.1. Qué novedades trae», intenta mostrar a aquellos usuarios interesados, las novedades (valga la redundancia) de esta versión estable de Liferay CE. Interfaz – theme clásico Lo primero que salta a la vista es que ha cambiado el interfaz que, a mi personalmente, me gusta bastante…
Liferay 7 y expandos o campos personalizados
Liferay 7 y expandos o campos personalizados. Flexibilidad en entidades Liferay Primeramente, con este artículo de Liferay 7 y expandos o campos personalizados pretendo explicar esta funcionalidad, muchas veces mal usada. Veamos. En Liferay gestionamos diferentes entidades como usuarios, roles, contenidos y un muy largo etcétera. Los formularios que permiten su gestión, se componen de…
Liferay 7 y fechas
Liferay 7 y fechas En Liferay gestionamos fechas para casi todo. Incluyo aquellas gestionadas automáticamente para temas de auditoría. A día de hoy, sobre todo cuando desarrollamos, podemos encontrarnos con algunos problemas derivados de la clase java.util.Date que Liferay sigue usando en esta versión más reciente. En este artículo «Liferay 7 y fechas» aprenderemos algunas…
Liferay 7: localizar páginas
Liferay 7: localizar páginas Casi desde el primer momento en que empresas y organismos públicos o privados comienzan a tener presencia en internet, se hace necesario que estos sitios web se encuentren en varios idiomas. Con esta funcionalidad de Liferay 7: localizar páginas, cubrimos esa necesidad en lo que a las páginas se refiere. Cuando…



