代码锻造配置文件字段,以及后续的 Github 插件改进

注意:这只是一个我想留给大家思考的想法,并非我“正式”的功能请求 :hugs:

Discourse 拥有出色的官方插件 https://meta.discourse.org/t/discourse-github/99895。基于设置,您可以奖励论坛成员的 PR 贡献。但有时可能无法分配这些奖励,因为成员无法与 GitHub 账户关联:

如果我理解正确,如果您的 GitHub 提交电子邮件和/或用户名与论坛账户不匹配,可能无法找到对应关系,也就无法获得徽章。

在我们的 Humane Tech 社区 中,我们长期以来未启用基于 GitHub 的登录(我最近才添加此功能),但我们有一个用于协作仓库的 GitHub 组织。因此,作为一项信息性措施,我们一直设有“GitHub 账户”自定义个人资料字段,供成员填写。

此处提出的 Discourse 附加功能包含两部分:

  1. 支持在管理员设置中启用的官方“代码工坊”(Code Forge)个人资料字段。
  2. 如果启用,在执行徽章分配时首先检查(并验证?)“代码工坊”字段。

注意:“代码工坊”(Code Forge)这一术语取自 ForgeFed,这是一个 ActivityPub 协议扩展,旨在实现与任何位置和使用任何软件(如 GitHub、GitLab、Gitea、Sourcehut 等)的仓库的联合集成。

已验证的代码工坊个人资料字段

简介:对于我和许多与我共事的人(我甚至认为这可以扩展到整个自由软件运动)而言,使用 GitHub 进行开源开发已不再是理所当然的选择。GitHub 不再是托管代码仓库的首选逻辑之地。例如,我最常使用 Codeberg,并在 GitLab 以及各种自托管的 GitLab/Gitea 实例上拥有账户。我担任模特的 Feneas 仅使用 GitLab。我希望能够在 Discourse 中向社区成员表达这些不同的代码工坊选择。

功能:在管理员设置中,我可以配置与我社区相关的代码工坊,并将它们启用为个人资料字段。我还可以指定该字段需要验证和/或设为必填(这是该功能的进一步扩展,可以省略)。当成员填写该字段时,它就能为其他成员提供信息。可选地(如果启用),将进行验证,即用户将被重定向到配置的代码工坊(可能使用类似于 GitHub 登录的 OAuth 流程,因此必须存在相应的管理员设置;无需启用“使用 GitHub 登录”或其他工坊),确认后返回 Discourse。此时,个人资料字段将显示一个漂亮的验证勾号。其用户界面可与 Mastodon 上的类似(尽管 rel="me" 的验证方法截然不同),您可以在 Mastodon 上添加多达 4 个自定义个人资料字段:

与 Discourse GitHub 插件的关系

如果存在该个人资料字段,尤其是当它被设为必填和/或已验证时,我认为它可以作为检查代码工坊徽章分配的首要位置。徽章分配将基于所有已配置的代码工坊,而不仅限于 GitHub。

编辑:我选择徽章分配作为 GitHub 插件改进的示例。但该插件本身可以成为官方“代码工坊”插件,以支持所有已配置的工坊。