多实例活动备份 + 统一多站点Discourse阅读器

大家好,

我正在运行我自己的自托管 Discourse 实例,同时也是多个其他 Discourse 社区的活跃用户。我想请求(或至少讨论)两个相关的功能,目前感觉很难以一种干净、官方且可扩展的方式来解决。

1) 跨 Discourse 实例的“活动备份”(镜像到我自己的论坛)

目标

每当我在另一个 Discourse 站点上创建新主题(以及可选的回复)时,我都希望我的 Discourse 实例能够自动保留一份副本(或一个明确署名的镜像),这样我就可以:

  • 维护我跨社区参与的个人档案;

  • 在一个地方搜索和引用我过去的讨论;

  • 避免在其他站点上的帖子/账户消失时丢失历史记录。

当前问题

实际上,在没有其他论坛的管理员级别控制,并且不创建重复/垃圾内容的情况下,很难可靠地做到这一点。即使存在一些变通方法,它们通常也很脆弱,或者在不同站点之间不标准化。

我的请求

是否有任何关于“跨实例活动备份”的官方、受支持的方法的计划,例如:

  • 一种将用户自己的创作内容导出/同步到另一个 Discourse 实例的标准方法;

  • 对主题/回复进行可选的镜像,并带有强有力的署名和规范链接;

  • 一个尊重源站点规则的权限模型(例如,只同步我创作的和公开可见的内容)。

2) 统一的多站点订阅和阅读体验(多个 Discourse 论坛的单一界面)

目标

我想要一个单一的界面,可以在其中订阅多个 Discourse 站点,并查看一个统一的流,包括:

  • 最新/新/未读内容;

  • 跨站点的关注的类别/标签;

  • 通知、提及、书签;

  • 理想情况下,具有每个站点的身份验证,以及在上下文中打开/回复/点赞的能力。

当前问题

如今,使用多个 Discourse 社区意味着要处理许多标签页和账户。社区制作的解决方案有时可以聚合内容,但它们往往很脆弱,难以扩展到超过几个站点,并且不是我能长期依赖的。

我的请求

Discourse 是否会考虑官方的“多实例阅读器”(Web UI 或应用程序),或者至少是一个支持可靠实现此功能的框架/API 模式?

为什么这很重要

  • 它提高了活跃于多个 Discourse 社区的用户的生产力。

  • 它实现了个人知识管理和对自己贡献的长期归档。

  • 官方方法可以减少碎片化并避免脆弱的变通方法。

如果存在与“跨实例活动备份”或“多站点统一阅读器”相关的现有讨论或路线图项目,我非常希望得到指引。我也很乐意帮助澄清需求、提出最小可行产品(MVP)或测试解决方案。

谢谢!

1 个赞

一个小提示:最好将多个想法/请求分散到多个主题中。这样,人们可以更好地投票,并且主题的范围也得到了很好的界定。

3 个赞

如果您不是相关实例的管理员,则没有计划。

您最好的选择是定期从 /my/preferences/account 导出您的帐户备份,并构建一种方法将其迁移到您自己的实例中。

在管理员级别,ActivityPub 插件 可以完成其中一些工作,但这更多的是一个站点功能,而不是个人用户可以利用的功能。

我们的 Discourse Hub 移动应用程序(https://meta.discourse.org/t/share-your-feedback-about-the-ios-discourse-hub-app/340872)可以完成其中一些工作(查看您注册的站点列表、接收通知、查看一些热门话题)……但最终,让人们直接在他们的站点上看到内容对许多社区来说都很重要,因此您需要访问您注册的站点才能进行互动。我们之前考虑过在应用程序之外做更多这方面的工作,但没有具体的计划。

3 个赞

呵呵,抱歉,我有时想法太多了

1 个赞

我的英语不太好,所以我使用了一个用于翻译和格式化的插件,这让它感觉有点冗长。也许下次我应该使用更简洁和恰当的形式。

1 个赞

感谢您的澄清——这很有道理。

关于跨实例活动备份:我明白在没有管理员访问权限的情况下,没有自动镜像的计划。/my/preferences/account 导出建议很有帮助。您是否知道是否有任何记录在案或稳定的格式/API 可用于以编程方式消费该用户导出(或推荐的迁移路径),以便用户可以将他们自己的内容导入到另一个 Discourse 实例中?

关于 ActivityPub:同意它目前更多是一个站点级别的功能。如果将来有兴趣,一个“以用户为中心”的模式(仅同步我已发布的公开帖子,带有规范链接/署名)正是我所寻找的。

关于统一的多站点体验:我将查看 Discourse Hub——通知和“热门话题”概述听起来已经很有用了。如果有一个可以跟踪想法的地方,我很乐意专门提交一个功能请求,用于更丰富的只读聚合信息流(跨我已登录的站点),同时像您描述的那样将交互保留在原始站点上。

再次感谢!

1 个赞

感谢您详尽的回答——这非常有帮助。

考虑到限制(源实例上没有管理员访问权限),我将把范围缩小到一个非常小的**“个人活动备份”最小可行产品 (MVP),它明确地以用户为中心且对社区无干扰**:

  • 只存档我撰写的内容

  • 只存档公开可见的内容

  • 每份存档项目都包含原始内容的规范链接、源站点名称、时间戳和署名

  • 互动保留在原始站点上;我的实例只是一个可搜索的个人档案

粗略的 MVP 流程如下:定期导出我的帐户数据,解析出我撰写的帖子/主题,去重,然后通过 API 将“备份条目”发布到我自己的 Discourse 实例中,并附带一致的署名标头。

有几个问题想确认一下,以确保我没有错误地重复发明:

  1. 用户导出格式是否被认为是足够稳定的,可以用于工具开发,或者是否有任何推荐的/官方的方法来随着时间的推移解析第三方导出?

  2. 是否已经有旨在实现“个人档案”工作流程(即使是只读/仅主题)的社区插件/项目?

  3. 另外,我很好奇:这里的其他用户/社区运营者是否有类似的需求(个人档案/跨实例活动日志)?如果有,我很想听听您的用例——这将有助于证明更正式的方法或记录在案的模式的合理性。

再次感谢——一旦 MVP 成形到可用的状态,我很乐意与其他有需要的人分享我的 MVP 笔记或代码库。

1 个赞