Discourse是否应该努力成为一个有竞争力的评论平台?

我正在着手处理这个问题。第一个版本是为使用 Remix 框架作为前端的无头 WordPress 网站准备的。完成后,我将为常规 WordPress 网站制作一个版本。这很可能是一个扩展 WP Discourse 插件的插件。我希望我为无头 WordPress 网站所做的大部分工作都可以迁移到常规 WordPress 网站,但这可能需要一些妥协。

允许用户直接从外部网站发表评论很容易实现。主要要求是外部网站能够访问用户的 Discourse 凭据。这可以通过将外部网站用作 Discourse 的 DiscourseConnect 提供商,或者将 Discourse 配置为外部网站的 DiscourseConnect 提供商来实现。

在第二种情况下——即外部网站不是 Discourse 的 DiscourseConnect 提供商——当用户第一次想从外部网站发表评论时,他们需要点击一个链接,将他们在外部网站的账户与他们的 Discourse 账户关联起来(或者在他们尚未注册 Discourse 的情况下注册 Discourse)。从用户的角度来看,这可以非常顺畅。

然而,上述更改并不能使整个体验感觉像一个常规的评论系统。对于评论系统,人们通常的期望是能够阅读和与所有评论进行交互。WP Discourse 插件只显示从 Discourse 提供的特殊路由中拉取的一系列精选评论。它不提供与评论交互的任何功能。

问题的难点在于:

  • 在 WordPress 上分页显示一个主题的所有评论,同时考虑到评论可能成千上万条。
  • 提供一个用户界面,让用户能够了解他们在长长的评论列表中所处的位置。
  • 弄清楚如何显示直接回复其他评论的评论。(Discourse 的这方面约定与大多数评论系统处理回复的方式不一致。)
  • 允许用户直接回复某条评论、点赞某条评论、编辑自己的评论等。
  • 处理在 Discourse 上创建的评论,这些评论可能包含在外部网站上不易渲染或交互的内容或标记。例如 oneboxes、投票……
  • 提供一种按最新、最旧、最佳等过滤评论的方式……

所有这些都需要在不给外部网站服务器带来过大负载、不向 Discourse 发送过多 API 请求、不消耗用户设备过多内存(目标是创建一个轻量级的评论系统)的情况下完成。这是可以实现的,但不能简单地将其添加到现有的 WP Discourse 代码中而不进行重大更改。

4 个赞