嵌套群组或自动同步成员身份:使用单个 @提及 来提及所有子组成员

用例: 我为 NASA 的开放科学数据存储库 管理 12 个分析工作组 (AWG),在全球 60 多个国家/地区拥有约 1,700 名成员。每个 AWG 都有自己的 Discourse 小组(例如 @AIMLawg@AnimalAWG@HUMANawg 等,共 12 个,并且还在增加)。当我和我的团队需要向整个社区发送公告时,我们必须在每篇帖子中手动 @ 提及所有 12 个小组:这容易出错、乏味,而且很容易忘记其中一个。

我想要一个单一的 @AWGall 小组,它可以自动反映所有 12 个子小组的成员身份,这样一次 @ 提及就能覆盖所有人。

我尝试过的方法:

  1. 手动创建了一个 @AWGall 小组,并编写了一个 API 脚本来批量添加所有子小组成员——这可以作为一次性快照,但无法保持同步。每当有新成员加入这 12 个 AWG 中的任何一个(这种情况经常发生)时,@AWGall 就会过时。
  2. 搜索了原生的嵌套小组/群组之群组功能——它不存在。最接近的先前讨论是 2021 年的分层群组隶属关系(群组内的群组),该讨论确认当时没有计划实施此功能。

我请求的:

以下任何一种方法都可以解决问题:

  • 选项 A — 嵌套群组: 允许一个群组将其他群组作为成员,从而实现成员身份的传递解析。当有人加入 @AIMLawg 时,他们会自动出现在 @AWGall 中。
  • 选项 B — 自动同步触发器: 当用户被添加到或从群组中移除时,触发一个可配置的成员身份同步,将他们添加到/从指定的父群组中移除。

为什么这在我的案例之外也很重要:

任何拥有子社区(部门、队列、团队、年龄组、地区)的社区都会遇到这个障碍。当前的解决方法——手动维护一个单独的扁平化群组——随着成员身份的变化会立即失效。这是一个普遍的 Discourse 限制,而不是一个细微的边缘案例。

很乐意讨论实施的权衡。是否有现有的插件可以处理这种情况,或者是否有意愿将其作为原生功能构建?

1 个赞

您可以使用 Discourse Dynamic Groups 插件创建一个包含所有其他组成员的自动群组。

2 个赞

太棒了!我会试试的。多谢。