您好,
我正在搭建一个新的 Discourse 平台,在此过程中需要您提供一些帮助。在我打算开发的 Discourse 平台中,我希望实现一种配置,使得在一个指定分类中,只有主题创建者和管理员能够查看其中的内容。这个版块基本上将按照“Bug Report”(Bug 报告)的模式运行。至关重要的是,报告的 Bug 不应被其他用户看到,从而无法被利用,而应仅对报告者和管理员可见。我该如何准确地实现这样的设置?
您好,
我正在搭建一个新的 Discourse 平台,在此过程中需要您提供一些帮助。在我打算开发的 Discourse 平台中,我希望实现一种配置,使得在一个指定分类中,只有主题创建者和管理员能够查看其中的内容。这个版块基本上将按照“Bug Report”(Bug 报告)的模式运行。至关重要的是,报告的 Bug 不应被其他用户看到,从而无法被利用,而应仅对报告者和管理员可见。我该如何准确地实现这样的设置?
您好 @anilguven,欢迎来到 Meta ![]()
您可以创建一个 bug 报告者群组,然后在您希望保护的类别中使用安全设置,只允许该群组和管理员访问(如果您希望版主拥有访问权限,则允许该群组和工作人员访问)。
管理员 - 群组 - +新建群组
在您希望保护的类别的类别页面上,点击右上角的扳手图标,即可访问特定类别的设置,包括安全设置。您应该能够在此处添加新群组并设置您想要的权限。
您好,Lillinator,感谢您的回复。当我测试您的建议时,小组成员将能够看到所有帖子。事实上,我的目标是让该主题仅对创建它的个人可见。其他用户不应了解其他用户创建的主题,并应避免进行任何互动。
例如:用户 A 在“Bug Report”类别中创建了一个重要的主题来报告一个问题。该主题不应被同一论坛中的用户 B、C 或 D 看到。只有创建该主题的用户 A,以及版主和管理员,才能看到用户 A 打开的主题。
啊,我明白了。嗯,我不确定这是否可行。也许其他人会知道。我想知道是否有可能创建一个插件。
抱歉,我误解了,以为您只想要 bug 报告发布者,而不是 bug 报告者组来访问。
你好,欢迎你 @anilguven ![]()
我认为群组收件箱可能很适合这个场景。用户 A 会向 @bug-report 发送一条消息,该消息会出现在 @bug-report 群组收件箱中,群组中的每个人都能看到它,但只有消息的参与者才能看到他们各自的消息。这样的方式可以吗?
你好 @JammyDodger,谢谢 ![]()
我明白你的建议,但它需要像论坛平台一样构建成一个主题。这个主题有一个特定的模板,用户需要按照这个模板来报告 bug。
收到的 bug 通知随后由版主审核,并转达给管理员。主题的创建者也会通过主题直接收到管理员与其报告相关的回复。尽管它的运作方式与传统论坛完全相同,但唯一的区别在于该主题只能由创建者查看。
这是我渴望已久的东西,我在 #4 中描述了它,用例完全相同。Offering "private support" as part of a public support community
我认为群组收件箱在许多方面都存在固有缺陷(例如 此)。
这应该可以通过插件来实现,尽管可能需要一些时间才能完善。我还没有找到足够的时间或理由来投入这项工作(如果您有预算和/或开发技能,我们可以谈谈)。
我越来越信服了。
这并非是主题级别的权限,它仅仅是另一个分类权限。我可以想象出其中一些部分是如何运作的,但还有很多小细节我不太确定该如何处理。
这似乎会是一个有趣的项目。我现在帮不上忙,但如果你一两个月后有时间,可以联系我,也许我们可以一起合作。当然,如果有人支付报酬,那找时间会更容易一些!
事实上,此功能与其他论坛平台上的功能类似,也应该在此处包含。因为它解决了普遍需求,所以我发现其缺失相当令人费解。因此,我开始进行一些研究,但恐怕我的努力并未取得理想的结果。该要求将专门针对“创建/回复”权限,但只有主题作者和管理员才拥有“查看”权限。
将有一个不包含读取但允许读取用户创建的主题的创建权限。因此,这里会添加一种新类型:
~~discourse/app/models/category_group.rb at main · discourse/discourse · GitHub
然后,需要修改大量引用这些类型的代码。或者对于插件来说,也许添加 CategoryCustomField 会更有意义,它将绕过创建限制并更新类别和主题序列化器以包含现在可用的主题。
也许您可以在具有创建权限的类别中创建一个主题,然后在 after_create(或类似)时,插件会将其移动到一个只有工作人员才能看到子类别中。然后,类别序列化器可以修改为从隐藏的子类别中将用户拥有的主题拉取到类别中。这根本不需要新的类别权限,并且如果插件被移除,这些主题将只是工作人员专用类别中的常规主题。这个概念验证(没有适当的规范等)可能不会花费太长时间。我今天晚些时候可能会尝试一下(尽管我担心我可能还有其他工作要做)。
因此,我决定牺牲我的星期五来实施这个功能,如果你能试试看,那就太好了。