Discourse 群组用户状态

:information_source: 摘要 将用户状态功能限制在特定群组
:hammer_and_wrench: 仓库链接 \u003chttps://github.com/Lillinator/discourse-group-user-status\u003e
:open_book: 安装指南 如何在 Discourse 中安装插件

:woman_technologist:t2: 概述

这个简单的插件赋予论坛管理员将用户状态限制在特定用户群组或信任级别上的能力。

目前,Discourse 核心中的用户状态只能为整个论坛启用。然而,此插件引入了更精细的控制,允许管理员指定哪些用户群组可以设置和显示用户状态,从而为定制化的社区管理提供更大的灵活性。

特性

  • 基于群组的权限 - 将用户状态设置限制在选定的群组(信任级别、自定义群组或两者皆有)
  • 管理员覆盖 - 无论群组选择如何,管理员始终保留状态权限
  • 自动清理 - 当用户失去权限时(通过设置更改或群组移除),会清除其状态
  • 用户界面集成 - 隐藏未经授权的用户的状态控件

:gear: 安装与配置

  1. 遵循标准插件安装指南

  2. 前往 Admin -> All site settings 并搜索“user status”以获取相关的管理员设置。

  3. 确保现有的管理员设置 Enable_user_status 已启用。

  4. 然后前往新的管理员设置 User_status_allowed_groups 并选择被允许使用和显示用户状态功能的群组。

  5. 不在 User_status_allowed_groups 设置列表中的群组将无法从用户菜单的标签页或其 preferences/account 标签页访问用户状态模态框。

  6. 如果您已启用 Enable_user_status 并且一些用户已设置了用户状态,此插件将清除他们的状态,除非他们立即被添加到新的设置中。

  7. 如果用户通过 /admin/users//admin/groups/ 路径被从允许的群组中移除(或者如果他们被允许自行离开群组并执行了此操作),它也会移除其现有状态。

  8. 选择伪群组 everyone 与将其默认留空或根本不安装此组件没有区别!

  9. 无论选择哪个群组,管理员始终可以设置和更改他们的状态;因此,仅选择 admins 群组会将用户状态的使用限制在论坛管理员。


:wrench: 设置

该插件添加了一个新的管理员设置 - User_status_allowed_groups,它是一个论坛群组的下拉列表。您可以在“所有站点设置”中搜索 user status 来找到它,它列在管理员侧边栏的“群组权限”部分下。


:briefcase: 示例用例

  • 如果用户状态功能仅与论坛员工相关,而他们可能希望向论坛其余部分显示用户状态。

  • 只允许版主设置他们的状态。

  • 可用于防止不太受信任的用户群组滥用(或其他误用)用户状态功能。

  • 只有特殊群组才能显示其用户状态——例如,技术支持团队、产品销售商、类别专家、赞助人、大师级悠悠球技巧师等。

  • 只有管理员可以去喝咖啡 :wink: :coffee:


:bulb: 注意事项:通知和日历集成

此插件仅影响用户状态,不影响通知设置:

  • 状态模态框中的“暂停通知”选项是一个独立功能。
  • 如果用户的状态被此插件清除,其暂停的通知仍然保持活动状态。
  • 暂停通知指示器会保留在其头像上,直到持续时间到期或他们手动取消暂停。

如果您安装了Discourse 日历插件

  • 日历插件设置的假日状态不受此插件影响。
  • 极少数边缘情况: 如果用户手动覆盖了他们的假日状态,并且管理员在他们预定的假日期间将他们从 user_status_allowed_groups 中移除,则手动设置的状态将被清除。
  • 日历插件每 10 分钟自动重置假日状态,因此任何被清除的状态将在下一次预定运行时恢复。
  • 如果用户不在允许的群组中,但当前有预定的假日状态,他们将无法手动设置或编辑状态。

:camera_flash: 更多截图

Screenshots of setting effect on user status

使用用户状态功能的权限在 User_status_allowed_groups 设置中授予。例如,一个 test-pilot 用户是 TL_2 并且在 purple 群组中;在这里,他们被允许设置和显示用户状态,与 StaffTL_4 一起:

\u003cbr\u003e

一旦更改了 User_status_allowed_groups 设置并将 purple 群组从设置中移除,test-pilot 用户使用用户状态功能的能力就会从用户菜单和他们的 preferences/account 页面中移除,如果他们设置了现有的用户状态,它将在他们下次刷新页面时被清除。当用户被从群组中移除(或如果允许他们自行离开,他们离开了)时,也会发生同样的效果。

14 个赞

干得好!文档写得也很漂亮。我期待着试一试。

1 个赞