Gmail 设置、聊天推荐和动态奖励数据在 WordPress 和 Discourse 之间流动

大家好,

我昨天偶然发现了 Discourse,被它的功能、开源特性、插件、主题组件以及出色的用户界面深深折服。我正在 WordPress 上构建一个技能评估平台,而产品愿景中最后一块拼图就是一个充满活力的社区,Discourse 完美契合。感谢你们打造出如此优秀的产品!

为了搭建并启动这个项目,我有几个问题,希望能得到大家的帮助。

背景:

  • 我的网站托管在 Siteground 上,由于他们使用 Google 的服务,无法提供 root 权限,因此我无法在那里安装 Discourse。:frowning:
  • 我使用 PHP 编写了自定义代码来构建一个动态网站,用户通过在平台上展示技能来赚取技能积分和奖励。例如,当用户分享项目并打上特定的技能标签时,他们就能获得积分。技能标签是我预先定义的,每项技能都分配了相应的积分,数据存储在自定义表中。这有助于我按时间维度展示每位用户在每项技能上的数据。
  • 我使用 Gsuite 进行邮件设置。
  • 我希望拥有完全控制权,因此打算自行托管 Discourse。
  • 我在 WordPress 上未启用聊天功能(未安装相关插件),但希望在 Discourse 中启用聊天功能。
  • 我想为 Discourse 中的活动构建类似的技能认可和积分系统。例如,如果用户 1 提问(并用技能标签标记问题),用户 2 回答且用户 1 将其标记为已解决,那么用户 2 将根据所关联的技能标签获得技能积分。或者,如果用户 1 发布了高质量帖子并受到众多用户喜爱,用户 1 也将因此获得积分。最接近的类比是 Stack Overflow 的微型版本,但面向一个非常小众的社区。

我的问题:

  1. 我看到有人使用 Mailgun 处理 Discourse 的邮件。使用 Gsuite 会有什么问题吗?我对此还不太熟悉,希望能获得一些长期视角的建议。
  2. 我还没有为 Discourse 选择托管服务商,但似乎大家都对 DigitalOcean (DO) 评价很高。根据我所分享的情况,您认为使用 DO 会有什么问题吗?
  3. 有没有推荐的聊天工具,能够与 WordPress 和 Discourse 良好协作?我不需要花哨的聊天功能,轻量级且能解决问题的工具即可。
  4. 您建议如何同步 WordPress 中的标签与 Discourse 中的标签?这是否可行?这主要关乎技能,因为我想将论坛和项目活动的所有数据合并,为用户创建技能作品集。
  5. 如何确保 Discourse 与 WordPress 之间的实时数据传输?即:1) 如果用户在网站上提交项目,Discourse 中的技能积分应更新。2) 如果用户在 Discourse 中做出优质贡献,WordPress 中的技能积分应更新。
    数据存储在两个不同的数据库(Postgres 和 MySQL/MariaDB)、两个不同的托管服务商(Siteground 和 DO(可能))以及两个不同的后端(PHP 和 Ruby on Rails)中,这如何实现?是否有可用的 API 或钩子(hooks)用于在两个应用程序之间传输数据?或者这一切都由 WP-Discourse 插件自动处理?也许我需要运行定期任务来“同步”两个应用程序之间的数据?

鉴于 Discourse 和 WordPress 的灵活性,我不确定这会有多复杂。如果需要的话,我很乐意将事实来源数据保留在 WordPress 数据库中。我会编写 PHP 代码,并且如果为了构建一个动态无缝的激励和技能评级系统而需要学习 Ruby on Rails,我也愿意。

归根结底,用户并不关心网站和论坛分别托管在哪里,我希望通过为两个应用程序提供统一的体验来保持这种状态。

谢谢!

编辑:我做了更多研究,以更深入地了解 Discourse 的真正理念,并观看了 Jeff 的两场精彩演讲。强烈推荐给任何刚接触 Discourse 的人:

现在,我更好地理解 Stack Overflow 与 Discourse 之间的区别,似乎我想构建一个更接近论坛的社区,但同时具备 Stack Overflow 的部分控制性和特异性。目前还很难具体说明细节,但看来 WordPress 与 Discourse 之间的数据传输对于构建我理想中的产品至关重要。

欢迎加入社区!:slight_smile:

温馨提示,通常最好将这类问题拆分成几个更有针对性的主题,因为“大杂烩”式的话题很难让大家回复,往往最终会石沉大海。

此外,关于你提出的大部分问题,meta.discourse.org 上都有丰富的资源。熟悉社区的一个好方法是花些时间阅读你感兴趣的主题。

之后,当你针对某个主题寻求进一步帮助时,可以提出更具体的问题,这样你会得到更好的回答。社区里的其他成员也会欣赏你花时间阅读了各种主题,并会更乐意帮助你。

Gsuite 和 Mailgun 的功能不同,你需要两者兼备。Mailgun 是一种“事务性”电子邮件服务提供商。关于这一点,请查阅此处及其他地方的现有资源。

是的,digitalocean.com 是自建托管的绝佳选择,使用它没有任何问题。

这取决于你指的是哪种聊天 :slight_smile: 请在 meta 上搜索“chat”,看看大家过去讨论过什么,然后在那些主题中跟进。

目前开箱即用的方法是通过 WP Discourse 插件的发布选项添加标签。如果你对这方面有更进一步的需求,请在以下主题中跟进,或者查看 这个主题

你需要为 Discourse 和/或 WordPress 编写插件来实现这一点。鉴于你有兴趣自己编写代码,我推荐你从以下几个地方开始:

感谢分享资源并提供帮助,我非常感激。这里内容很多,我这周会非常忙碌。