Discourse 群组用户状态
| 摘要 | 将用户状态功能限制在特定群组 | |
|---|---|---|
| 仓库链接 | \u003chttps://github.com/Lillinator/discourse-group-user-status\u003e | |
| 安装指南 | 如何在 Discourse 中安装插件 |
概述
这个简单的插件使论坛管理员能够将用户状态限制在特定的用户群组或信任级别。
目前,Discourse 核心中的用户状态只能为整个论坛启用。然而,此插件引入了更精细的控制,允许管理员指定哪些用户群组可以设置和显示用户状态,从而为定制化的社区管理提供更大的灵活性。
特性
- 基于群组的权限 - 将用户状态设置限制在选定的群组(信任级别、自定义群组或两者)
- 管理员覆盖 - 无论群组选择如何,管理员始终保留状态权限
- 自动清理 - 当用户失去权限时(通过设置更改或群组移除),会清除他们的状态
- UI 集成 - 向未经授权的用户隐藏状态控件
安装和设置
-
遵循标准插件安装指南。
-
前往
管理 -> 所有站点设置并搜索“user status”(用户状态)以获取相关的管理员设置。 -
确保现有的管理员设置
Enable_user_status已启用。 -
然后转到新的管理员设置
User_status_allowed_groups并选择允许使用和显示用户状态功能的群组。 -
不在
User_status_allowed_groups设置列表中的群组将无法从用户菜单中的选项卡或其preferences/account(偏好设置/账户)选项卡访问用户状态模态框。 -
如果您已启用
Enable_user_status并且一些用户已设置了用户状态,此插件将清除他们的状态,除非他们立即被添加到新的设置中。 -
如果用户通过
/admin/users/或/admin/groups/路径从允许的群组中移除(或者如果他们被允许自行离开群组并这样做了),此插件也会移除他们现有的状态。 -
选择伪群组
everyone(所有人)与将其默认留空或根本不安装此组件没有区别! -
无论选择哪个群组,管理员始终可以设置和更改他们的状态;因此,仅选择
admins(管理员)群组会将用户状态的使用限制为论坛管理员。
设置
此插件添加了一个新的管理员设置 - User_status_allowed_groups,它是一个论坛群组的下拉列表。您可以在所有站点设置中搜索 user status(用户状态)找到它,它列在管理员侧边栏的 Group permissions(群组权限)部分下。
示例用例
-
如果用户状态功能仅与论坛员工相关,而他们可能希望向论坛其余部分显示用户状态。
-
只允许版主设置他们的状态。
-
可用于防止不太受信任的用户群组滥用(或其他误用)用户状态功能。
-
只有特殊群组才能显示其用户状态——例如,技术支持团队、产品销售商、类别专家、赞助人、大师级悠悠球技巧师等。
-
只有管理员可以去喝咖啡
。
注意事项:通知和日历集成
此插件仅影响用户状态,不影响通知设置:
- 状态模态框中的“暂停通知”选项是一个单独的功能。
- 如果用户的状态被此插件清除,他们的暂停通知仍然保持活动状态。
- 暂停通知指示器会保留在其头像上,直到持续时间到期或他们手动取消暂停。
如果您安装了Discourse 日历插件:
- 日历插件设置的假日状态不受此插件影响。
- 极罕见边缘情况: 如果用户手动覆盖了他们的假日状态,并且管理员在他们预定的假日期间将他们从
user_status_allowed_groups中移除,则手动设置的状态将被清除。 - 日历插件每 10 分钟自动重置假日状态,因此任何被清除的状态将在下一次计划运行时恢复。
- 如果用户不在允许的群组中,但当前有预定的假日状态,他们将无法手动设置或编辑状态。
截图
设置对用户状态影响的截图
使用用户状态功能的权限在 User_status_allowed_groups 设置中授予。例如,一个 test-pilot(测试先锋)用户是 TL_2 并且在 purple(紫色)群组中;在这里,他们可以设置和显示用户状态,与 Staff(员工)和 TL_4 一起:
\u003cbr\u003e
一旦更改了 User_status_allowed_groups 设置并将 purple 群组从设置中移除,test-pilot 用户使用用户状态功能的能力将从用户菜单和他们的 preferences/account(偏好设置/账户)页面中移除,如果他们设置了现有的用户状态,则在他们下次刷新页面时会被清除。当用户从群组中移除(或如果允许他们自行离开)时,会发生同样的效果。




