Ya hemos visto en otros post como desarrollar porltets, la arquitectura de un portlet o incluso como Spring Framework maneja las peticiones para desarrollar portlets. Ahora ya es hora de entender un poco mejor la arquitectura de Liferay.
Para que un producto tan grande como Liferay hay muchas maneras de representar la arquitectura. Yo voy a basarme en la documentación oficial de Liferay http://www.liferay.com/documentation/liferay-portal/6.0/administration/-/ai/portal-architectu-4 para intentar explicar cómo funcionan los roles, las organizaciones, etc.
Vamos a ir desgranando cada uno de los elementos, empezando por el más importante. Los usuarios.
Usuarios
Son las personas físicas que usan el sistema.
- A los portales son acceden usuarios
- Los usuarios pueden concentrarse en grupos de usuarios.
- Los usuarios pertenecen a organizaciones
Por defecto, los usuarios tienen una serie de páginas públicas (que le servirán para tener su propio blog por ejemplo) y privadas (que le servirán para tener un calendario personalizado)
Organizaciones
Las organizaciones pueden establecerse como una jerarquía: Home Office – Regional Office – Satellite Office.
Web Site – Comunidad
En versiones anteriores se llamaba Comunidad, a partir de la versión 6.1 se le llama Web Site, o simplemente site.
Cuando usuarios, grupos de usuarios y organizaciones tienen intereses comunes pueden unirse en una Web Site. Podría definirse como un conjunto de usuarios sin jerarquía.
Equipos
Dentro de una web site u organización los usuarios pueden pertenecer a equipos. A veces estos equipos si se desea pueden organizarse en una estructura jerárquica.
Organizaciones –-miembro de–> Sitio Web –-miembro de–> Roles
*Los usuarios pueden ser miembros de cualquier cosa.
Si ya eres un usuario de Liferay te habrás dado cuenta de que no hemos hablado de Permisos y es que los permisos no influyen en estas colecciones. Los permisos sólo pueden asignarse a roles.
Roles
Los Roles son una colección de permisos. Existen 3 tipos de roles (también llamados ámbitos de los roles): roles de portal, roles de organización y roles de Sitio web.
Por defecto tenemos unos roles predefinidos y estos son:
- Guest, User, Power User, Administrador.
-
Community Administrator, Community member y Community Owner.
-
Organization Adminsitrator, Organization Member, Organization Owner.
Permisos
Los permisos son las diferentes acciones que se pueden ejecutar sobre un recurso
Recurso
Un recurso puede ser un portlet, un archivo o una entidad
Uniéndolo todo
Gracias a este video https://www.youtube.com/watch?v=JBIA_GQGAGI en inglés he podido sacar la captura de pantalla de aquí debajo. En ella podemos tener una imagen más clara de las relaciones entre los distintos elementos y al menos a mí me queda un poco más clara la definición de rol.
Puede ser miembro
Para poder «digerir» toda esta información he visto este video https://www.youtube.com/watch?v=0qNhph37-zs (inglés) que explica realmente bien las relaciones de cada uno de los elementos que componen la arquitectura de Liferay.
No debemos asustarnos al ver tantas flechas. Solo tenemos que imaginarnos que cada flecha significa “puede ser miembro de”.
Aquí dejo el vídeo, no os asustéis por el inglés se entiende muy bien:
Espero que esto haya aclarado un poco todos los roles, usuarios y organizaciones y como se pueden mezclar para obtener de ellos todo el rendimiento posible. Quizás modelar toda nuestro negocio en torno a estos elementos sea complicado, por ello Liferay permite personalizar tanto roles como permisos para poder “customizar” nuestra arquitectura.
Un comentario en “Arquitectura de Liferay – entendiendo permisos, roles, usuarios…”