Discourse 动态群组

感谢构建并分享这个项目。我的使用场景如下:

  • 动态组 trust_level_0 AND NOT lurkers
  • 公开分类 → 所有人可读 // 动态组可读写

我想知道如何为匿名用户设置作用域?尝试了 anonymousanoneveryone,但都无法触达这些用户。

我想让所有人(匿名用户)都能查看某些分类,并将回复权限限制在一个动态作用域的组内。

你是指未登录的用户吗?如果他们连账号都没有,你怎么把他们加进来呢?如果你想要的是这个,TL0 针对的是所有用户。

嗯,这正是关键点所在。我想让特定类别只对某一个组可见。

从功能角度来看,这样做没有意义,因为属于该组的用户只需注销登录,仍然可以看到该分类。

从技术角度来看,这是不可能的。如果分类对 everyone 开放,Discourse 会将 read_restricted 标志设置为 false,从而绕过所有访问控制机制。

从这个插件的角度来看,你能做到的最接近的效果是 NOT excluded_group(这与 trust_level_0 AND NOT excluded_group 相同)。但是匿名用户无法属于任何组,所以不行。

1 个赞

我当然考虑过这一点,并且理解这很可能就是该功能目前未启用的原因。我也清楚地明白,这种限制不会是硬性限制,而是软性限制。

其意图是限制那些保持极低发言比例的用户,他们的阅读比例比发言比例高出 5 到 10 倍。一个标记他们的徽章和用户头衔,以及一个以简单方式说明的退出路径,可以“唤醒”他们。

我也知道,在互联网上,90% 到 97% 的用户会无意中落入“潜水者”(lurkers)群体,尽管我也知道这种机制可以激励他们,因为通过一个简单的退出路径——提供三个被接受的回答作为解决方案——他们就可以在其他论坛回复和贡献,而不是在流量最大的版块中。

从技术角度来看,类似于支持像 Torrent 这样的网络中点对点交换的机制,这些网络在我们中间已经运行了十多年。

这是一个我想尝试的实验,尤其是在看到所授予的欢呼点(cheer points)几乎完全基于阅读时间而非贡献之后。

我认为这是一个值得讨论的有趣话题;也许通过对 Discourse 核心进行简单的调整就可以实现这一点。