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

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

管理仪表板

11 个赞

保留供未来使用……

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

2 个赞

新增两项设置:

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

1 个赞

我一直在将这个插件与 Discourse 默认的类别版主功能进行对比,但始终没弄清楚 MiniMod 插件存在的意义。

我可能遗漏了什么,希望有人能告诉我具体是什么,因为这对我为社区选择最合适的方案至关重要。

有没有人愿意分享自己使用这个插件的经验,或者具体的使用场景?

无论如何,感谢你们开发了它。TL4 开关确实是个不错的加分项。

1 个赞

权限有所提升,但仍低于版主

我们已将此权限授予了部分用户,结果他们后来都成为了版主,因此目前这些额外功能对我们来说一直处于闲置状态。

2 个赞

明白了,谢谢。那么我想请问:有没有办法在你之前分享到 Meta 上的那个捆绑插件中正确禁用 Minimod?

我尝试在管理设置中使用通用选择器,但它似乎在我的实例中仍然在加载。最终我使用了 Discourse 默认的版主和/或分类版主行为,所以我真的希望将其禁用。

也许我遗漏了什么。如果你需要关于它的任何信息,我都愿意尝试、测试或与你分享。

@TripleU 能帮个忙吗?我其实一直没怎么参与主插件的开发,我的代码只是被合并进去了。

1 个赞