Wiki 的编辑权限与回复相关,而非创建

在一个分类中,我有三个组:成员(Members)、版主(Moderators)和专家(Specialists)。专家和版主应该能够编辑 wiki 帖子。成员不应该能够编辑 wiki,因为他们没有资格这样做。但是,他们应该能够回复 wiki,例如请求进一步的帮助。

目前的权限设置如下:

问题是,成员可以修改 wiki,因为 wiki 与回复权限相关联。因此,要么必须禁用成员的回复功能,要么需要将所有专家都设置为分类版主,以便他们可以编辑彼此的帖子,并且永远不使用 wiki。

我理解为什么权限会与回复而不是创建相关联,但是:

  1. 这种关系是隐含的
  2. 这种关系会导致利益冲突——该组应该能够发布新的回复,但不能编辑 wiki(在这种情况下,wiki 是已创建的帖子)。

本质上,这成为用户通过编辑已创建的主题来“创建”主题的后门。


可能的解决方案:
我在搜索时注意到有几个类似的功能请求:

是否可以通过创建第四个选项“可以编辑 wiki”来分离权限?

7 个赞

@codinghorror 你对此有何看法?

我担心添加第四个“编辑维基”权限是一个雷区。有很多东西需要向网站版主解释这个新的切换。

添加一个安全基础构建块不是一个小改变,我们可能需要一两周的时间才能把这一切做好,有很多接触点。

仅仅修改它,让你必须拥有“创建”权限才能编辑 OP 中的维基,就能解决你的问题吗?

这可能是一个可行的改变,并且不会引入新的原语。

4 个赞

是的,这样可以吗?这样更简洁。

3 个赞

这不正是 min_trust_to_edit_wiki 的用途吗?将回复权限授予所有人,将编辑最低信任级别设置为 TL3,并将专家和版主设置为 TL3。
我认为会员达到 TL3 并不是这里最大的威胁(他们也有东西会失去)。

2 个赞

你好 @sam

此更改将破坏我们使用 wiki 的方式。我们明确希望主题所有者保留所有权,以便只有选定的组在类别中拥有“创建”权限,而主题默认是 wiki,因此任何能够回复的人都可以编辑主题,从而使信息保持正确。

如果权限更改为创建,这将增加寻找不同途径来实现这一目标的开销,我们可能不得不允许所有人创建主题,而不是仅仅回复。

4 个赞

有多少用户真的关心TL?当然,这与细分市场、文化等密切相关,但如果/当用户因为活跃而获得TL3,而不是因为他们试图达到它,那么他们将一无所有。

活跃用户通常可以表现得体。但因为他们活跃,所以他们倾向于写作。这样他们在这里就构成某种威胁。事实上,不能有太多规则要记,一切都应该尽可能合乎逻辑。如果你有机会,你可以利用它。如果没有,那么……嗯,这不适合你。

2 个赞

哎哟

是的,在我们的案例中,这会奏效。这基本上在给定的类别中提供了所需的权限级别。

在大多数情况下是的。然而问题在于,这是一个全站范围的权限。如果我有 5 个类别,而一个用户有资格编辑其中一个类别的 wiki,那么他们就不应该能够编辑其他四个类别的 wiki。

回复类别中的用户编辑 wiki 的频率有多高?我完全理解你的方法的优势,但如果一个人不够资格创建主题,那么当他们有权限编辑已创建的主题的全部内容时,这是否是一种风险?我认为这基本上是一种权限后门。

在我们的用例中,开销实际上是一种优势。它确保了那些不够资格编辑 wiki 的用户将他们的更改作为回复提出,并且他们修改的愿望会公开讨论。它基本上为 wiki 的更改提供了一个同行评审系统。

在我们的案例中,信任级别已被禁用。在公司内部使用 Discourse 时,需要考虑额外的责任。一个系统会自动允许某人在明天编辑他们今天无法编辑且不具备编辑资格的内容,这可能导致错误信息被视为官方信息,从而导致其他人根据这些信息采取行动,最终导致产品故障,给客户带来伤亡 :frowning:

3 个赞

但那么解决方案就很清楚了?开始使用 TL,但将客户,也就是普通的约翰/简冻结到某个较低级别,并将更高的 TL 授予可以编辑维基的人。或者是否有其他原因根本不使用 TL?

如果我们授予用户更高的 TL,他们将获得整个站点的此权限。这意味着来自财务部门的 TL3 用户可以编辑工程类别的维基。当然,这种情况不太可能发生,但问题是它有可能发生。

更有可能发生的是,一位拥有 TL3 的工程师,他是工具 A 的专家,可能会编辑关于工具 B 的内容,因为他们认为自己有资格,或者仅仅因为他们看到了编辑功能。即使有通知,也不能保证这次编辑会在其他人遵循了新的、不正确的信息 之后 才被检测到。

看来很多。通常,主题作者是创建各种指南和教程的员工(或合同工),因此他们总是被分配到具有创建权限的作者组。然后,所有文章通常都留给读者,并由员工进行适当的审核,以便在必要时进行更新(例如,某些陈述已过时或被取代等)。

就我们而言,员工偶尔的审查足以阻止不合格的用户干扰任何维基。他们宁愿做的是回复该主题,询问某些内容是否已更改。如果其他成员同意更改,他们中的任何一个人都可以对维基进行更改,但如果有人进行了错误的更改,通常会在员工或其他成员注意到后立即将其删除。

然后,也许可以在管理员面板中添加一个设置,用于指定 wiki 权限是与“回复”还是“创建”相关联?这肯定不是最优雅的解决方案,而且我相信有一天会重新审视它,但目前它可以绕过为第四个权限所需的数周努力,允许您(以及其他人)保留您习惯的当前功能,但也提供了我们需要的替代功能。

这绝对不是一个长期的最佳解决方案,但可以解决可预见的未来的这个问题。

但正如你所说,在公司层面存在一定的责任。公司环境对我这个小联盟玩家来说完全是一个陌生的世界,但你们是不是想阻止普通用户停止编辑维基?在公司内部,这只关乎规则——你们(指公司)会像往常一样规定谁能做什么。

当然,Discourse 方面提供一个选项会更容易。但我能理解这里的痛苦——另一个有条件的选项和设置会让 Discourse 更难设置,但使用起来更通用,这是真的。

这在公司层面基本上只是一个边缘情况——而 Discourse 的商业模式建立在公司之上,这就是为什么你们可能会得到这个选项(除非它对 Discourse 来说成本太高,这也是另一个现实)。

但从我的角度来看,TL 将是让维基得以发布而不用担心客户会搞砸的最快方式。

我也可能大错特错。这样的事情有时会发生,虽然不那么频繁 :rofl:

在这种特定情况下,他们会失去维基编辑权限。

听起来我们需要一个特定于类别的 allow_groups_to_edit_wiki 设置。

这里似乎没有简单的改动。

也许我们可以做的最简单的事情是添加一个站点设置,做一个非破坏性更改:

restrict_first_post_wiki_editing_to_creators

然后 @Tris20 可以将其设置为 true,@itsbhanusharma 可以将其设置为 false。

站点设置的名称非常棘手。

3 个赞

别忘了:

例如,在我的用例中,我不希望用户创建更多的 wiki,我只希望他们能够编辑现有的 wiki 而无需回复。

在我的情况下并非如此,因为我不想授予创建权限,只想授予编辑权限。

真的吗?这听起来非常直接。

并非如此,我不会手动更改数百名用户的信任级别,而且我实际上希望新用户(从信任级别 1 开始)也能编辑 wiki。问题不在于不让他们回复。解决此问题的优雅方法是通过按类别设置的权限,而不是将信任级别系统与此挂钩。

希望更困难的更改最终能够通过。

1 个赞

也许一个小小的描述会有帮助。我不确定是否每个人都会阅读。

我认为该设置的标题非常清晰,但我不认为像这样的网站设置能真正解决问题。对我来说,这个设置只需要应用于某个特定类别,而且我不想给那些用户创建主题或回复的权限,只想给他们编辑维基的权限。

我们基本上在处理同一个问题。我的用例也需要在一个特定类别中拥有编辑权限,该类别中的主题仅由特定组创建,并且拥有该类别访问权限的每个人都应拥有编辑权限,但除非他们是特定组成员,否则不能创建新主题。

从外观上看,单独的权限是理想的长期解决方案,但估计的工作量实在不值得近期实施。

站点设置在创建和回复之间切换的建议将满足现有用户,同时也满足了请求。

这可以通过当前权限和关闭 wiki 来实现。

我想不出更好的名字了,而且我想任何寻找此设置的人都会找到这个主题。

这曾经实现过吗?如果实现过,是在哪个版本中?