Discourse MiniMod

discourse-mini-mod

此插件解决了我们 Discourse 论坛中的一个问题:我们需要“组织者”,但不一定想授予完整的版主权限。

非常欢迎贡献!

如有任何问题,请通过 GitHub 问题跟踪。

迷你版主可以重新排列书架。版主可以将人踢出商店。

这是一个 Discourse 插件,赋予普通用户管理分类、标签和主题的能力,而无需版主或管理员身份。

它基于 Discourse 现有的分类组版主功能,并扩展了其授予的权限。

工作原理

  1. 创建一个组并将用户添加到其中
  2. 进入某个分类,点击扳手图标,然后将该组添加到“除工作人员外,本分类的内容还可由以下人员审核:”
  3. 在站点设置中启用 mini_mod_enabled
  4. 这些用户现在可以管理他们负责的分类

可选地启用 mini_mod_manage_all_categories 以允许他们管理所有分类,并在任意分类之间移动主题。启用 mini_mod_manage_tags 以允许他们创建、编辑和删除标签。

注意: 必须至少为该组添加一个分类,mini_mod_manage_all_categories 才能生效。

设置

设置 默认值 描述
mini_mod_enabled false 启用插件
mini_mod_manage_all_categories false 允许分类组版主管理所有分类,并在所有分类之间编辑/移动主题
mini_mod_manage_tags false 允许分类组版主创建、编辑和删除标签
mini_mod_can_post_in_closed_topics false 允许分类组版主在他们负责的分类中回复已关闭的主题。默认禁用——启用即授予;网站工作人员不受影响
mini_mod_can_reopen_topics false 允许分类组版主重新打开他们负责的分类中已关闭的主题。默认禁用——启用即授予;网站工作人员不受影响

所有设置都需要同时启用 Discourse 核心的 enable_category_group_moderation。标签管理还需要启用 tagging_enabled

授予的权限

操作 默认(按分类) 管理所有分类 管理标签
创建分类 受管理分类下的子分类,或顶级分类 所有分类
编辑分类 仅受管理的分类 所有分类
删除分类 仅受管理的分类(必须为空且无子分类) 所有分类(相同限制)
编辑主题 仅在受管理的分类中(核心功能) 所有可见主题
批量更改主题分类 到/从受管理的分类 任何可见分类
移动帖子 在受管理的分类中(核心功能) 在受管理的分类中(核心功能)
创建标签
编辑/重命名标签
删除标签
管理标签同义词

另有两项功能默认关闭,但可通过启用相应的站点设置来授予:

操作 默认 由以下设置授予
在受管理分类中回复已关闭的主题 关闭 mini_mod_can_post_in_closed_topics: true
重新打开受管理分类中已关闭的主题 关闭 mini_mod_can_reopen_topics: true

无论这些设置如何,关闭开放主题、归档、置顶、拆分/合并以及其他所有版主操作,迷你版主在其负责的分类中仍然可用。

安装

将插件的仓库 URL 添加到您的 app.yml 中:

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/alltechdev/discourse-mini-mod.git

然后重新构建容器:

./launcher rebuild app

此后的更新可在管理仪表板中完成。

管理仪表板

10 个赞

保留供未来使用……

注意:我在此处并不活跃,因此 GitHub 问题追踪是最佳选择。我会定期回来查看此处。

2 个赞

新增两项设置:

不清楚为何核心中硬编码了允许信任等级 4 执行这些操作,因此我提供了一个选项以更改此设置。