Grupos anidados o membresía de sincronización automática: mencionar a todos los miembros de subgrupos con una sola @mención

Caso de uso: Gestiono 12 Grupos de Trabajo de Análisis (AWG) para el Repositorio de Datos de Ciencia Abierta de la NASA, con aproximadamente 1.700 miembros en más de 60 países. Cada AWG tiene su propio grupo de Discourse (por ejemplo, @AIMLawg, @AnimalAWG, @HUMANawg, etc., hasta 12 en total, y creciendo). Cuando yo o mi equipo necesitamos enviar un anuncio a toda la comunidad, tenemos que mencionar manualmente a los 12 grupos en cada publicación: lo cual es propenso a errores, tedioso y fácil de olvidar uno.

Quiero un único grupo @AWGall que refleje automáticamente la membresía de los 12 subgrupos, de modo que una sola mención @ llegue a todos.

Lo que he intentado:

  1. Creé un grupo @AWGall manualmente y escribí un script de API para agregar miembros masivamente de todos los subgrupos; esto funciona como una instantánea única, pero no se mantiene sincronizado. Cada vez que un nuevo miembro se une a cualquiera de los 12 AWG (lo que sucede constantemente), @AWGall queda obsoleto.
  2. Busqué una función nativa de grupos anidados/grupo de grupos; no existe. La discusión previa más cercana es Membresía de grupo jerárquica (grupos dentro de grupos) de 2021, que confirmó que no había planes de implementar esto en ese momento.

Lo que estoy pidiendo:

Cualquiera de estas opciones resolvería el problema:

  • Opción A: Grupos anidados: Permitir que un grupo incluya a otros grupos como miembros, de modo que la membresía se resuelva de forma transitiva. Cuando alguien se une a @AIMLawg, aparece automáticamente en @AWGall.
  • Opción B: Activador de sincronización automática: Cuando se agrega o elimina un usuario de un grupo, se activa una sincronización de membresía configurable que lo agrega/elimina de un grupo principal designado.

Por qué esto es importante más allá de mi caso:

Cualquier comunidad con subcomunidades (departamentos, cohortes, equipos, grupos de edad, regiones) se enfrenta a este obstáculo. La solución alternativa actual —mantener manualmente un grupo plano separado— falla inmediatamente a medida que evoluciona la membresía. Esta es una limitación general de Discourse, no un caso extremo de nicho.

Estaré encantado de discutir las compensaciones de implementación. ¿Existe un complemento que ya maneje esto, o hay interés en construirlo de forma nativa?

1 me gusta

Podrías crear un grupo automático con miembros de todos los demás grupos usando el plugin Discourse Dynamic Groups

3 Me gusta

¡Genial! Lo intentaré. Muchas gracias