我忘了提,我们仍然希望允许他们“最新”中看到一个主题——更新的服务条款。
我也不太喜欢,但这是我能想到的最好的办法。目标是让所有用户签署更新的服务条款,并给予比平时更高的重要性。在 How to force existing users to accept ToS 有讨论过,也许 Discourse Policy 可以提供帮助。但 Policy 并不强制执行任何操作,而且鉴于新服务条款的重要性,我们希望获得比蓝色气泡更多的东西来提醒用户。几年前我们开发了一个插件,在用户接受某项政策时将他们添加到某个组,这在某些方面是有效的,但我不知道如何将其用于此。
我们已经有一套相当复杂的组和类别,所以我们不能简单地将每个类别的权限从“所有人”更改为“已接受服务条款者”。如果类别权限支持布尔逻辑,也许我们可以更改权限,只允许同时属于“高级用户组”和“已接受服务条款者”的用户。但它不支持这一点。
我对于如何提醒他们没有强烈意见。如果 Discourse Policy 有任何内置的强制执行机制,我会使用它。但在这个案例中,我们需要比蓝色气泡更多的东西。
我还短暂地考虑过,如果他们不是“已接受服务条款者”组的成员,就用永久链接重定向他们。如果我们能将用户 ID 或用户名作为查询参数附加到永久链接 URL,这仍然是一个选项。如果我们将他们重定向到 Docusign 或其他类似服务,我可以设置一个 webhook 将他们添加到“已接受服务条款者”组,这样他们就不会再被重定向了。这听起来是个更好的计划吗?