关于Discourse及我使用它的个人体验

你好。

这是我在 meta.discourse 上的第一个主题,我非常想写下我的观点以及初次接触 discourse 的结果。

背景

我应该先说,我在寻找一个适合我目的的论坛引擎时,偶然发现了 discourse。初次接触的体验相当积极——特别是,我发现它实现了我需要的功能:

  1. Webhooks
  2. 成就系统
  3. 与其他服务集成的丰富能力
  4. 界面现代化等等…

说实话,Discourse 的功能让我感到惊喜。我感谢作者们继续支持这个项目。

遇到的问题

但遗憾的是,它仍然存在一些我发现的缺点,因此我无法继续与 discourse 互动。如果按顺序来说,最初我为我认为合适的论坛引擎定义了 3 条规则:

  1. API 管理
  2. 方便的管理员操作
  3. 能够根据需要自定义任何界面。

虽然 Discourse 在 API 和管理面板方面做得很好……但当我深入研究现代化时,我却遇到了困难。

第一个“拦路虎”是 Discourse 版本之间的差异,以及由此产生的编写 Discourse 组件和主题方式的差异。有些使用小部件,有些使用 Ember JS,有些使用其他东西……这不仅让我感到困惑,也让我的 AI 感到困惑,我曾试图用它来加速我的 Discourse 学习——但由于下一个“拦路虎”,AI 让我更加困惑……

第二个“拦路虎”是缺乏高质量、丰富的、可读的、多语言的文档。我非常希望管理层尽快关注这一点。是的,当然,我阅读了有关设置和创建自己的 Discourse 组件和主题的主题——但它们没有给我理解 Discourse 架构所需的知识。特别是,我完全偶然地发现了这篇文章:Upcoming Header Changes - Preparing Themes and Plugins 这篇文章帮助我理解了为什么我在测试版中总是写错代码 :slight_smile: 版本差异加上缺乏清晰、详细的文档是 Discourse 的一个痛点……因为它们的结合产生了显著的负面影响,这阻碍了我充分利用 Discourse。我极度需要深度现代化论坛的外观,但遗憾的是,目前的“文档”不允许我这样做。因此,我很可能暂时告别 Discourse,但我会关注它的发展。

第三个“拦路虎”是关于 discourse 的信息相对零散。查找这个或那个信息,如何执行这个或那个操作,极其困难。我可以说这取决于你的运气和英语水平。否则,如果你不是一个“幸运的英国人”——那么你将不得不花不止一天的时间去摸索。这很累人。

最后,我对 discourse 的个人缺点是只使用 Docker(作为官方安装方法)。我确信我可能会因此受到批评,但我仍然认为这样一个产品应该有替代的安装方式,而不是变通方法。有时我甚至需要现代化现有的 docker 镜像文件——由于容器构造器,这实现起来极其不方便。嗯,或者是我没有找到正确的方法……

结论

尽管 Discourse 对我来说有足够的缺点,导致我现在不选择它,但我相信将来我能够选择它并将其用于我的目的。因为我期望这个项目的开发者和管理员能够关注 discourse 的缺点(包括本主题/文章中提到的缺点)。在我看来,Discourse 已经是一个非常高质量的项目,但它似乎还没有发展到“普遍”使用的程度。但这只是暂时的。

感谢您关注本文。
附注:AI“Manus”用于从俄语翻译成英语

13 个赞

是的。有些十年前可行的事情现在不行了。现在有了一个新的主题开发者指南;它非常棒,并且解决了你的许多“难题”:Theme Developer Tutorial: 1. Introduction

9 个赞

你好,虽然这是一个 unsupported-install,但有这个指南可以在没有 Docker 的情况下安装 Discourse:

4 个赞

确实如此。因此,我澄清了没有官方的安装方法。

我最大的问题是……许多现有的插件在我的最新安装上安装时都会失败。
并不是我没有尝试。我的第一个站点安装是在 Ubuntu 24.04 LTS 上使用 Docker……在初始安装后,几乎每次添加了几个插件(这些插件显示为最新且受支持——是的,没错)后重新构建,Discourse 应用程序的重建都会彻底崩溃并经常失败。
然后,当我尝试移除这些插件后进行重建时……它又会失败。
我的最终解决方案实际上是迁移回 AlmaLinux 安装并使用 Docker。至少现在,当我添加一个当前版本不喜欢的插件时,我可以将其从 app.yml 中移除,然后重新构建应用程序,这与 Ubuntu 安装不同。

而且,我并不是一个新手网站管理员。我运行论坛类网站已经十多年了,拥有 Woltlab、Xenforo、Invision、SMF、phpBB、myBB、NodeBB 以及其他几个平台的经验。甚至可以追溯到 MS-DOS/DesqView 和多节点 BBS 的时代(最终是一个 OS/2 Maximus/2 多节点系统,有 4 个节点,其中 3 个是用户直接访问,所有 4 个节点都可以处理 FidoNet 邮件)。所以,我不是这个领域的新手。

我喜欢到目前为止我在 我的网站 上看到的 Discourse。我目前还在多个网站上运行 Xenforo 和 NodeBB……老实说,NodeBB 的多站点系统设置比 Discourse 的产品要容易得多。我们甚至不用提在 VPS 实例上运行 4 个 NodeBB 节点比单个 Discourse 节点在 VPS 安装上的影响要小。是的,我已经研究过它在多站点上的使用……但目前它确实比它带来的麻烦更不值得。是的,我喜欢尝试各种脚本……而且我不会介意指出我发现的任何一个的缺点。:wink:

Discourse 有一个坚实的基础……但它仍然需要让管理员在自托管时更容易地运行多个站点,而无需像现在这样费尽周折。

1 个赞

Ah, Telegard Hack BBSES 的 DOS 时代,其中最受欢迎的是 Renegade BBS。不过,我记得 PCBoard 有自己的脚本编程语言,还有 Amiga 和 Commodore 63 的 BBS。那段日子真有趣。

我很幸运能在 Ubuntu LTS 上运行 Discourse。如果插件安装不顺利,通常只需简单地移除/注释掉插件行即可解决最少的问题……不过偶尔确实需要重建两次,如果它失败了。

我遇到的问题是,当列出插件时,它永远不会重建。
但我认为我也发现了一个额外的问题。如果配置文件不完全正确(新行上有错误的空格或制表符),它似乎在添加插件时不会很好地工作。自从我删除了插件列表下方的所有空行后,它们似乎现在可以像预期的那样构建了。
我知道大多数人都使用 Ubuntu,它是一个不错的操作系统(它是我使用的天文摄影捕获软件的基础),但我已经使用 AlmaLinux 一段时间了,我更喜欢它,而且它似乎运行得还可以。

1 个赞

是的,yml 文件对排版非常挑剔。

是的……我正在发现这一点。老实说……这在很多方面都是脚本提供的弱点。
我使用一个付费脚本,该插件(附加组件)安装更加集成……而该脚本即使到现在也未能提供其付费用户应得的功能。
如果 Discourse 开发人员能够直接从脚本本身集成安装附加组件,而无需编辑基于文本的配置文件,那将是一个巨大的改进。但可悲的是,与某些其他脚本一样,开发人员固步自封,不愿意考虑许多人认为的进步。

我乐于为人们推荐最适合他们的脚本。但对于初学者来说……Discourse 在自托管方面仍然不够理想,尤其是在您想在单个服务器实例上运行多个站点时。
我将继续在一个站点上使用它……但它在服务器上多宿主 Discourse 方面仍然是一个巨大的麻烦。即使是 NodeBB 在许多方面也超过了 Discourse。

1 个赞

是的,它并不是为了极其方便用户而设计的。@pfaffman 确实有一个 Web 界面,可以自动化许多事情,例如我记得的插件安装以及各种其他好处。不过它是按年收费的,但依我看,对于它所带来的功能来说,这个价格相当合理。

2 个赞

谢谢,但我习惯于可以直接从 XenForo 和 NodeBB 的 ACP 安装。\n现在我弄清楚了那个怪癖,不值得花钱去获得那个功能了。 :wink:\n我每年在那些我没有收入的网站/服务器上平均花费约 2800 美元。它们对我来说只是一个爱好。\n如果我要开始往脚本里投资,我希望它能做比一个基本论坛加一些调整更多的事情。因此我运行了我的天文网站。

2 个赞