Cuando se está trabajando en una instalación estándar de Drupal, se tienen contenidos y usuarios y los usuarios tienen una capa de permisos de acceso a todos esos contenidos, sin embargo en ocasiones usted podría querer lograr que algunas pequeñas secciones de su sitio se comporten como pequeñas comunidades o puede querer que solo ciertos usuarios tengan acceso o control sobre una pequeña parte del contenido, en esos casos es donde tiene sentido el módulo Group.
URL al módulo: https://www.drupal.org/project/group
El módulo group le permite crear pequeños grupos a los que le puede asociar contenidos y usuarios de su sitio y otorgar control sobre los permisos de esos grupos para ver, crear o editar contenido dentro de ese grupo, puede ocultar o hacer público el grupo y gestionar los miembros, algunos escenarios de uso podría ser:
- Cuando se quiere segmentar a los usuarios en pequeñas comunidades
- Establecer permisos específicos para esas comunidades
- Crear y compartir contenido dentro de esa comunidad
- Un uso más avanzado es la creación de subsitios o incluso la creación de multisitios
Toda la funcionalidad que este módulo tiene para ofrecer está basado en entidades personalizadas, abriendo la puerta a varias extensiones o alteraciones que el usuario vea qué se ajustan. La relación entre un grupo y su contenido o usuarios es también una entidad, permitiéndole agregar fácilmente metadatos a esta relación.
Una de las metas del módulo Group es ser amigable al usuario tanto como sea posible: Configurando escenarios involucrando:
- Comportamiento por grupo
- Permisos de acceso
- Subgrupos
- Entre otros...
Cuándo usar Group
Considere los siguientes casos de uso en lo que Group puede serle de utilidad para su proyecto
- Un sitio web para una base de usuarios que se dividen en un jerarquías como por ejemplo un colegio, en un donde un salón de clase tiene un profesor y estudiantes, pero encima de ellos tienen una facultad etc.., se puede usar grupos para dividir a los usuarios de acuerdo a la jerarquía, por ejemplo un profesor que tiene permisos sobre ciertos estudiantes en cierto salón de clase que es un grupo. Otro caso, son las secciones de noticias de un periódico donde ciertos reporteros solo tienen acceso a publicar noticias en la sección a donde están asignados.
- Una plataforma donde el contenido es solo visible para un selecto grupo de usuarios, incluso cuando compartan el mismo rol dentro del sitio
- En general cuando quiere tener mayor control de permisos granular sobre ciertos segmentos de contenido del sitio.
Cuándo NO usar Group
- Para categorizar contenido, mejor use las taxonomías
- Para categorizar usuarios, mejor use campos
- Como otro tipo de nodos, mejor use los tipos de contenidos
Conceptos claves de Group
- Un grupo es a un tipo de grupo como un contenido lo es a un tipo de contenido.
- Todos los grupos de un mismo tipo siguen las mismas reglas
- Los grupos son únicos en sus miembros, contenidos y datos en sus campos
- Un grupo no necesariamente debe tener miembros
Reglas definidas por un tipo de grupo
- Qué contenido puede ser puesto dentro del grupo
- Quien puede hacer que (Roles y permisos)
- Qué campos están disponibles (Similar a los tipos de contenido)
Explicación de la capa de permisos
- La interfaz es muy similar a la que usa Drupal en los permisos y roles globales, sin embargo esta es específicamente para los Grupos
- Hay tres tipos de usuarios, el anónimo (Anonymous), es decir, que no tiene una cuenta en el sitio, el que está autenticado pero no es un miembro del grupo (Outsider) y quien es miembro del grupo (Member).
- Algunos permisos podrían no estar disponibles para algunos tipos de usuarios (Ejemplo ingresar al grupo)
- Puede definir sus propios roles dentro del tipo de usuario miembro
Módulos importantes que complementan la experiencia del módulo Group
- Group Menu
- Group Media
- Group Taxonomy
- Group Domain
- Block visibility group
- Entre otros.
Esta es solo una introducción a este módulo que resulta muy útil para instalaciones muy especializadas.