备用注册途径

我经营一个小型私人建筑师论坛,但希望添加一个公众可以访问的区域,建筑师用户可以监控该区域,普通用户可以在其中提问或为公开讨论贡献自己的观点。

想法是,公众用户只能看到公开讨论,而建筑师用户可以看到私人和公开讨论。

公众用户最好有不同的注册体验,因为建筑师用户的注册有许多自定义字段,这对公众用户不相关,并且他们的控制面板设置应该有更少选项(例如,我不想为公众用户提供与建筑师用户相同的邮件列表功能),公众用户永远不应该能够提升他们的信任设置,从而使私人区域的内容暴露给他们。

我不想创建两个完全独立的论坛,因为这可能需要两个域名、双倍成本,并且在建筑师用户来来往往时,还要增加在论坛之间同步用户会员资格的难度。

我该如何最好地实现这一点?

3 个赞

我认为你可以使用 Custom Wizard Plugin 🧙 来实现类似的功能。选择你是否是建筑师,它将为你提供不同的注册路径。我几年前就有了这个插件,所以不太记得所有的功能了。

2 个赞

遗憾的是,看起来该插件每月需要 50 美元才能获得任何条件功能(如果我理解正确的话,这正是我需要的)——这将使整个论坛的托管成本增加两倍——而这一切都将由我的个人腰包支付。

1 个赞

你好 :wave:

我认为大多数这些功能都可以通过以下方式实现:用户组、类别权限、自定义用户字段和自动化。

要在注册时区分用户,请使用 Discourse Authentication Validations 链接用户字段功能。这样,您可以根据用户在第一个选项中选择的内容(建筑师或普通人)显示不同的用户字段。

之后,使用 Discourse Automation,您可以自动将这些用户添加到预期的用户组中。

例如:

用户字段选项 用户组
建筑师 → 建筑师
普通人 → 普通人

最后,为这些用户组设置类别权限。

  • 建筑师组可以看到建筑师和普通人类别
  • 普通人组可以看到普通人类别

也许这可以提供一些帮助和想法。 :slight_smile:

6 个赞

谢谢 @Don - 有很多很棒的东西可以研究!

2 个赞

查看 Discourse Automation 插件,不知何故似乎没有地方实际提名新用户所属的组。

1 个赞

您应该能够通过 Custom Wizard Plugin 🧙 在免费套餐中实现您想要的功能。如果确实需要更高级的功能,您的社区几乎肯定有资格获得免费社区订阅。

我的建议是:

  1. 限制要从普通会员那里收集的公开 UCF(用户自定义字段)。
  2. 使用一个问题来识别那些应该成为完整架构师会员的人。
  3. 这个 UCF 可以用来限制加入向导,该向导可用于将他们放入指定组并询问所有其他您需要的 UCF/数据。
2 个赞

谢谢 @nathank

我会再看看。

在我这里的一个技巧是,大约有 15 个合格的用户特征(目前通过多选自定义用户字段识别)可以访问私人论坛区域。无论好坏,我的第一个想法是,为了简单起见,设法通过这一个多选字段来控制访问级别。

遗憾的是,至少 Discourse Automation 插件似乎无法区分自定义用户字段(本质上是一个复选框)的填充状态,除了简单的填充或未填充状态——我猜 Custom Wizard 插件也可能一样?

编辑 出于某种原因,我甚至无法安装这个特定的插件 Discourse Custom Wizard Plugin 安装失败 - 支持 - Pavilion - 一旦解决,我将在此处报告
编辑 现在已安装(在 nano 中使用了错误的路径)

1 个赞

这是设置文档:Adding users to groups through custom field automation

1 个赞

也许这能用于您的注册流程:Discourse Authentication Validations

1 个赞

感谢 @Don。其他群组(如截图中的“Public”)是否像预定义的 trust_level 群组一样运行,如果是,是否有办法阻止用户根据使用情况自动晋升到更高的信任级别/权限?或者只有明确的信任级别群组才会这样运行?

1 个赞

您可以设置 Public 群组的自动信任级别。
/g/group_name/manage/membership

如果您将其设置为例如 1,那么此群组中的用户将被锁定在信任级别 1。如果您在用户注册时自动将他们添加到此群组,并且他们将自动获得 TL1(锁定),那么这将非常有用。或者,如果用户已注册但低于 TL1,那么在将他们添加到群组后,他们也将达到 TL1(锁定)。因此,他们无法达到更高的 TL。

但是,此过程不会反向工作,因此如果您将 TL1 或更高级别的用户添加到群组,他们不会被锁定在 TL1。


我不知道您的网站类别结构,但您可能也可以玩弄它……更改这些已添加群组的信任级别权限以忽略 TL 可访问性。

1 个赞

谢谢 @Don

1 个赞

您确定他们无法达到更高的TL吗?我发现了一个bug topic,其中TL3晋升是在信任级别被组锁定后添加的,所以我认为它之前对其他TL也起作用了。

1 个赞

嗯,我不确定 :thinking: 那只适用于 TL3 晋升,如果自动 TL 设置为 2 的话?

编辑:我的错,感谢 @Moin 的澄清,抱歉提供错误信息。我之前的回答不会让用户停留在选定的 TL。

1 个赞

这个用例也引起了我的兴趣。类似地,这是一个关于系统建模者而非架构师的社区。感谢 @Paul_King 的推动。

2 个赞

最重要的是,我需要确保内容永远不会对公共论坛用户可见,除非明确发布到公共论坛主题类别中。

同样重要的是,要确保公共用户永远无法重新定义他们自己的主题类别访问权限,即使信任级别会自动提高。

1 个赞

我会这样做:

如果你不给某个类别添加TL权限,而是添加我上面写的其他群组权限,那么TL级别就不重要了,因为决定谁能访问该类别的是添加的群组,而不是TL级别。

1 个赞

您似乎已经解决了这个问题。您是否已针对您的用例进行了尝试?

我认为 CWP 目前不支持多选字段,因此您可能需要解决这个问题。

我认为“信任”这个词一直在误导。您可以通过一个简单的群组来管理这一点,该群组包含所有应该能够访问大部分内容的用户(例如您的架构师),并确保该群组(而不是 everyone)可以访问受限类别。

请注意,您将失去混合论坛的一些功能。特别是,在受限类别中不允许使用 Oneboxing(除非在该特定类别内)。

这是一个令人印象深刻的(实验性)插件 - 虽然它看起来配置起来有点烧脑,但我可以看到它在几个方面非常有帮助。

关于

如果您能创建一个免费订阅?

我看到它包含在托管 Discourse 的 Standard 及以上版本中。

1 个赞