不确定这是否是此主题的最佳类别。
我没有看到其他人发布过这个,但我想说我认为 SiteSetting personal message enabled groups 的标签令人困惑。
Discourse 有一个全局选项 personal message enabled groups,这是用户在可以创建直接消息之前所需的最低信任级别。
用户有一个单独的选项(复选框)来发送或接收直接消息,user_option.allow_private_messages。
我们希望所有非员工/版主/管理员都不能向 trust_level_1 中的用户发送消息,这有望通过将 personal_message_enabled_groups 设置为 trust_level_2 来实现。但上述两个选项似乎是分开处理的,并且用户选项优先。即,trust_level_1 中的用户当然不能发起直接消息,但如果启用了 allow_private_messages,则值为 can_send_private_message_to_user 为 true。
由于全局选项不覆盖复选框,因此说 personal message enabled groups 似乎不准确,因为不在此值设置的组中的用户仍然可以进行私人消息(他们只是不能发起)。我可以看到仍然希望用户选项覆盖此 SiteSetting 的愿望,所以我认为此设置可以命名为其他名称,可能是 personal message initiating groups?
5 个赞
martin
(Martin Brennan)
2024 年1 月 4 日 02:05
3
我明白这可能会令人困惑,但我觉得从阅读这段话来看,你是在寻找一个不同的新设置来处理这种情况。它可能会被命名为类似 disallow_personal_message_groups 的东西,任何属于所选组的用户都将无法接收除员工(版主和管理员)之外的任何人的私人消息。
personal_message_enabled_groups 设置并非旨在用作阻止列表。这有点棘手;也许我们可以改变现有的行为,让不属于 personal_message_enabled_groups 的用户也无法接收除员工之外的任何人的消息?我不确定这会打破多少预期。
我将让 @tobiaseigen 也发表意见。
3 个赞
感谢您的意见。我只是想指出,“personal_message_enabled_groups”暗示复选框未被选中意味着“personal_message_DISABLED_groups”,但这实际上并非如此。
我很欣赏这里活跃的社区以及 Discourse 本身。谢谢!
2 个赞
为了完整起见,这是我们在这里讨论的设置及其描述:
我用测试用户进行了一个测试,注意到了一些事情:
在此处指定的组中的用户可以完全访问 PM 系统。他们在侧边栏中看到“消息”部分,用户个人资料菜单中有“消息”链接,通知菜单中有“消息”图标。他们还可以发起和回复 PM。
不在此处指定组中的用户只能接收允许发起 PM 的其他人的 PM。他们不能发起 PM,但可以回复其他人发起的 PM。除了他们会收到他们收到的 PM 的通知并可以通过这种方式访问它们之外,他们在 UI 中根本看不到消息系统。他们还可以通过访问例如 Discourse Meta - The Official Support Forum for Discourse 直接进入他们的消息收件箱,但看不到发起消息的选项。他们可以从他们收到的消息中移除自己。
版主和管理员可以从这里移除,但仍然拥有该功能的所有访问权限,就好像他们被指定了一样。
我相信这里的目的是允许站点为大多数用户弱化/禁用消息系统,以便讨论在主题中进行,而不是隐藏起来难以管理。同时,管理员和版主仍然可以发起消息,这是标记系统的一个组成部分。
在我看来,这个设置及其功能是可以的,但可以使描述更清晰。我不确定我们是否需要解释用户信任级别组的成员资格是如何工作的。您可以在用户管理页面上看到用户属于哪些信任级别组。
这个更改怎么样?
这些组中的用户可以完全参与个人消息系统。他们在导航菜单中看到他们的消息,并且可以向网站上的任何人发起消息,然后任何人都可以回复,包括不在这些指定组中的用户。注意:版主和管理员始终拥有完全访问权限。
我还认为,如果一个用户没有在此处指定,但已收到一条或多条由他人创建的消息,我们实际上应该提供一个返回消息的后门。对我来说,感觉很糟糕的是,你没有办法找到回去的路。我认为最明智的做法是恢复用户个人资料中的“消息”部分,以及在查看消息时显示的完整用户 > 消息水平导航。我认为我们不需要将其恢复到侧边栏,但也许我们也应该这样做?
Martin Brennan:
我理解这可能会令人困惑,但我认为从阅读中可以看出,您正在寻找一个不同的新设置来处理这种情况。它可能会被命名为 disallow_personal_message_groups,任何属于所选组的用户将只能从员工(版主和管理员)那里接收 PM。
personal_message_enabled_groups 设置无意用作阻止列表。这是一个难题;也许我们可以更改现有行为,以便不在 personal_message_enabled_groups 中的用户也无法被除员工以外的任何人消息?我不确定这会打破多少预期。
我认为我们可能无法更改此现有设置的行为,因为正如您所说,这会打破预期。但正如您所说,我们可以添加另一个设置来阻止某些组接收 PM。我认为这对于某些社区来说将是一个有价值的功能——有没有其他人曾经要求过这个?
总结一下我们可能会在这里做的事情:
改进 personal_message_enabled_groups 管理设置的描述
即使用户不允许发送 PM,一旦用户收到 PM,仍然显示用户 > 消息导航
添加新的 disallow_personal_message_groups 设置
3 个赞
感谢您@tobiaseigen 详尽的回复。我认为您提出的建议超出了我的预期。只需修改 personal_message_enabled_groups 的描述以阐明其功能即可。谢谢!
1 个赞