Wobak
2023 年7 月 10 日 12:25
1
您好,
我正在为一家拥有海量(1200 万+ 帖子,10 万用户)vBulletin 4 论坛寻找未来的解决方案。
我目前正在研究 Discourse 作为一种选择,但在此阶段,我脑海中浮现出多个问题,并且似乎找不到令人满意的答案,所以也许直接提问可以让我更好地理解。
该论坛属于一家公司,尽管它不产生收入,但它仍然是其社区的重要场所。
1/ 我不理解“单个容器包办一切”的理念 。对我来说,docker 的核心在于微服务的隔离,并通过 docker 网络将它们互联。我习惯于使用仅有的 docker 工具运行多容器项目(多达 10/12 个容器,包括 redis、postgresql 等)。
我阅读了这里的主题:https://meta.discourse.org/t/can-discourse-ship-frequent-docker-images-that-do-not-need-to-be-bootstrapped/33205,但我不确定其理由。当我看到 compose 文件中所有的 exec 和文件时,我认为 compose 文件应该做什么与 Dockerfile 应该做什么之间存在误解。
代码更新应该触发新的 docker 镜像构建,然后通过 compose 和环境变量进行拉取和运行。
我看到有人在 github 项目中开始这样做,但我认为这并未得到官方支持。
有人能给我一个关于当前理念“为什么”的清晰解释,以及在 2023 年互联网上存在如此多项目的背景下,是否有计划像其他项目一样运行它吗?
2/ 拥有该项目的公司使用 Google Workspace 处理电子邮件 。我曾为其他项目使用过 Google 的 smtp 中继设置,并且不打算使用其他方式来确保其正常工作。我在论坛上阅读了有关此事的各种信息。是否有明确的方法可以确保它能正常工作,或者是否存在无法工作的可能性(这将是我们项目的障碍)?
3/ 我看到有从 vBulletin 迁移的脚本 (在此处:https://meta.discourse.org/t/migrate-a-vbulletin-4-forum-to-discourse/54881),但它给出了相互矛盾的说明,例如使用指南,但使用 Gem 文件自定义容器。这对可维护性或支持有什么影响?如果出现问题,镜像是否仍然受支持?
4/ 与其他工具集成 (主要是 Discord)。在此阶段,vBulletin 论坛拥有自己的用户数据库。是否有办法“平稳地”将本地数据库用户迁移到 Discord 用户,例如,我们可以将用户与其 Discord 登录信息匹配?
5/ 是否有简单的主题指南 ,可以实现平稳过渡,因为我的许多用户将会感到迷茫,并且我希望在迁移过程中产生的噪音尽可能少……
我可能会带着另一批问题回来,但这些是我目前的主要疑问。
感谢所有将要回答的人 ,所有输入都将不胜感激。
pfaffman
(Jay Pfaffman)
2023 年7 月 10 日 13:04
3
Wobak:
1/ 我不理解“单个容器包办一切”背后的理念 。
这是为那些不知道什么是系统管理但需要支持的人准备的。对于大型论坛,您至少需要一个 2 容器安装,或者使用 RDS 和 Elasticache 而不是自己搭建。
如果您想使用 Dockerfile 启动,则需要使用 launcher 来构建您的容器,并找到一种方法来管理数据库迁移和预编译资源。
如果您知道如何使用 Google 进行事务性电子邮件,那没问题。大多数人不知道,我们不想教他们。
对于旧论坛的大规模迁移通常需要大量定制。是在开发实例中运行迁移还是在 Docker 中的生产实例中运行迁移,这取决于个人喜好。我以前是在开发实例中进行的,但现在所有迁移都在 Docker 中进行。弄清楚如何安装所有各种组件可能会令人沮丧。
您是指“discord”还是“Discourse”?或者您想要 https://meta.discourse.org/t/configure-discord-login-for-discourse/127129?
Wobak:
5/ 是否有简单的主题指南 可以实现平稳过渡?
无论您做什么,人们都讨厌改变。我认为试图让 Discourse 像 vBulletin 一样运行是没有帮助的。如果您希望您的论坛像 vBulletin 一样运行,那就继续使用它。有很多主题可以做很多事情。实际上没有指南,只有 Search results for '#theme-component。您可以在那里浏览和搜索。' - Discourse Meta
我认为有人忽略了一点是,虽然第一次运行脚本需要几天时间,但后续运行会更快,因为它们会跳过已导入的数据,所以最后一次运行不会花费太长时间。
1 个赞
Canapin
(Coin-coin le Canapin)
2023 年7 月 10 日 13:24
4
欢迎
我只回答这个问题,因为我对其他领域不熟悉。我将在我的帖子后面讨论平稳过渡。
在自定义方面,您可以通过内置编辑器编辑 CSS,还可以添加 Javascript 并使用 Discourse 特定的 JS API。从视觉上看,如果您不喜欢某样东西,只需隐藏或更改它即可。
官方主题指南在此:Developing Discourse Themes & Theme Components
它可能不是完全最新的,因为我们目前正在长期升级一些 JS 内容。
这里发布的约 100% 的主题、主题组件和插件都是开源的,因此您始终可以查看它们的代码来构建自己的解决方案。
主题 基本上是一个带有或不带附加功能的皮肤。
主题组件 通常会添加功能。
插件 会添加更深入的服务器端功能。
对于我自己的社区,我尝试只使用官方自定义或来自 pavilion 等受信任且成熟的作者或公司的自定义。当然,还有个人自定义,因为我可以自己维护它们。
主题和主题组件可以在运行时添加和删除,而安装和卸载插件需要命令行应用程序重建(停机 10-15 分钟)。
至于为社区提供平稳过渡,以减轻用户困惑或愤怒,这有时很棘手。显然,100% 的满意度几乎是不可能的。
此外,有些社区比其他社区更保守或更吵闹,反应也会相应不同。
从用户的角度来看,我认为最常听到的批评是:
不再有分页
它被交互式时间线取代了。两者各有利弊。我偶尔会听到有人无法适应这种变化。
我从 3 次小型和中型论坛迁移的经验来看,我的社区中没有人对时间线感到不适。
界面很复杂
与过去相比,界面有更多的元素,因为功能是随着时间添加的。通知菜单变大了,引入了侧边栏,并添加了聊天功能(如果您有 Discord 服务器,可能不需要)。
我们非常清楚界面的复杂性,并且绝对希望拥有更简化的部分。
Discourse 确实有一个学习曲线。虽然它是一个具有任何其他论坛软件相同功能的论坛(发布主题、发布回复/PM,仅此而已……),但它在界面和附加功能方面有所不同。我认为大多数人对此没有特别的问题,但这个论坛的社区可能有偏见,因为这里的大多数人知道 Discourse。
当您习惯了界面时,您就不会再看到噪音,而是专注于您实际使用的功能,但我明白这并不是您在这里的关注点,因为您专注于迁移/过渡。
有两个内置工具可以帮助人们理解界面和功能。
@discobot 。这是一个交互式机器人用户,我们可以与之互动,它会教我们如何使用一些讨论功能。
新用户提示 。注册时,界面上会出现工具提示来解释不同的部分。您可以随时从任何工具提示中禁用它,并从您的用户偏好设置中重新选择加入。
从管理员的角度来看,这将是:
设置太多了
是的,Discourse 中有许多 选项。仔细配置论坛将花费数小时,并且可能需要进行调整才能满意。好处是,一旦完成,您很少会回去调整设置。
我们知道许多设置可能令人望而生畏,有时会使查找内容变得困难。仍有改进的空间。
最后,您可以使用用户沙盒 at try.discourse.org 。
没有管理员沙盒。当我想要在管理员级别进行实验时,我通常会设置一个低规格的 Hetzner 服务器(按小时计费),并在上面安装 Discourse 几个小时或几天。
3 个赞