Canapin
(Coin-coin le Canapin)
1
上下文:我正在将 vBulletin 论坛迁移到 Discourse。
我希望在允许现有用户访问论坛内容之前,先配置 CDN、远程备份等设置。
我不希望将论坛设置为只读模式,因为那样会让用户感到沮丧:他们经过几个月的等待终于能看到内容(而且是更新后的内容),却无法进行互动。在这种情况下,如果内容可用,那么它也应该可供互动。
因此,我基本上需要 Discourse 对工作人员开放,但对其他用户显示“维护”页面,即使他们理论上可以登录。同时,我还需要我的网站能够与 CDN 等服务通信,以便正确配置它们。
实现这一目标最简单的方法是什么?
Stephen
(Stephen)
2
据我所知,最简单的方法是设置网站为“需要登录”,开启“必须审核用户”,并将 SMTP 指向类似 MailHog 的服务。我不确定导入器是否会自动审核用户,如果是的话,你可以在 Rails 控制台中执行以下操作:
approved_users = AdminUserIndexQuery.new(query: 'approved', stats: false).find_users_query
approved_users.each do |u|
u.approved = false
u.save!
end
然后在一切就绪后关闭审核功能。
这样在迁移过程中就不会向公众发送任何消息,并且可以查看 Discourse 生成的所有消息,以防出现问题。
除非你选择迁移密码,否则用户无论如何都需要重置凭据。
Canapin
(Coin-coin le Canapin)
3
感谢您的回复!
经过一番考虑,我打算这样做:保留这个页面:
但暂时隐藏登录按钮,并将那句话替换为类似“建设中,敬请期待!”的内容。
试图从 /login 登录的用户本来也无法成功,因为密码导入未生效,且非管理员的邮箱功能已禁用,所以他们既无法通过邮箱登录,也无法重置密码。
我想这个方案应该能达到我的目的,对吧?
Stephen
(Stephen)
4
我建议使用 Mailhog 或类似解决方案,这样你就能确保 Discourse 不会生成大量通知邮件。
如果没有可见性,重新启用邮件功能可能会让邮件洪流一发不可收拾。
Stephen
(Stephen)
6
没问题,这正是 Mailhog 的功能。它接收邮件,展示队列,并允许您将邮件释放到邮箱中。