将“允许组删除所有帖子和主题”拆分为自有内容和全局内容权限

我建议将“允许删除所有帖子和主题的群组”设置拆分为更细粒度的权限。

目前,该设置范围较广:它允许选定的群组删除其他用户创建的帖子和主题,并查看已删除的帖子/主题。这对于版主或受信任的 moderating 群组来说是有意义的,但在我只想让用户对自己的内容拥有更强控制力的使用场景中,这一权限过于强大。

需要澄清的是,我并非指从数据库中永久删除/硬删除。

我主要关注的是面向普通用户的删除/修订历史行为:例如,当用户删除自己的帖子时,是否会保留常规的已删除帖子占位符,之前的编辑内容是否仍可通过修订历史界面访问,以及是否可以针对用户仅管理自己帖子的场景设置更细粒度的权限。

一种可能的拆分方式如下:

  1. 允许删除自己帖子和主题的群组
  2. 允许删除所有帖子和主题的群组

第一个设置仅适用于当前用户创建的内容。第二个设置则保留当前的广泛行为,供受信任可删除其他用户内容并查看已删除内容的群组使用。

这将更便于遵循最小权限角色设计原则。例如,某个站点可能希望 TL4/Leader 用户或自定义受信任群组在删除自己帖子/主题时拥有更多控制权,而无需同时授予他们对其他用户内容的类似版主权限。

我意识到这需要一些 safeguards,尤其是在删除首帖会影响包含其他用户回复的主题时。在这种情况下,Discourse 可以保留当前的限制,要求版主介入,或将“仅管理自己内容”的权限限制为仅适用于无回复的回复帖或主题。

核心诉求是将“仅管理自己内容的删除/修订历史”权限与当前的全局删除权限分离,这样管理员就不必在“普通用户的软删除”和范围大得多的“可删除其他用户帖子/主题”权限之间做出二选一的选择。