Discourse 动态群组

:information_source: 摘要 自动管理组成员身份
:hammer_and_wrench: 代码库链接 https://github.com/communiteq/discourse-dynamic-groups
:open_book: 安装指南 如何在 Discourse 中安装插件

功能特性

Discourse 社区通常需要根据徽章拥有情况或现有组成员身份等条件来自动化管理组成员身份。

常见用例包括:

  • 不在“订阅者”组中的用户

  • 未被禁止在 Marketplace 发帖的用户

  • 信任等级为 TL0 或 TL1,但不是 TL2 的用户

  • 已完成新用户教程或加入社区超过一年的用户

  • 属于 client_1、client_2 或 client_3 且不是实习生的用户

以前,解决这些问题需要自定义脚本来定期同步组。动态组插件消除了这一需求。

该插件在组设置中引入了一个布尔表达式字段,允许管理员定义动态确定组成员身份的规则。

示例:

  • 不在“订阅者”组中的用户
    trust_level_0 AND NOT subscribers

  • 未被禁止在 Marketplace 发帖的用户
    trust_level_2 AND NOT banned_users

  • 信任等级为 TL0 或 TL1 但不是 TL2 的用户
    trust_level_0 AND NOT trust_level_2

  • 已完成新用户教程或加入社区超过一年的用户
    badge:certified OR badge:anniversary

  • 属于客户 1、2 或 3 且不是实习生的用户
    (client_1 OR client_2 OR client_3) AND NOT interns

配置

安装并启用插件后,组管理界面中将出现一个新选项卡:

当您输入或更新布尔表达式时,系统将花费几秒钟时间将匹配的用户填充到组中。此后,随着用户状态的变化,组成员身份将自动更新。

重要提示:
当定义规则时,该组将被标记为自动,从而禁用手动成员更改。要将组恢复为手动管理,只需清除表达式字段即可。现有成员将保留,您将重新获得手动控制权。

28 个赞