コードフォージのプロフィールフィールドと、それに続くGitHubプラグインの改善

注:これは私が皆さんに考えてほしいアイデアを共有したいというだけのことで、私自身の「公式」機能リクエストではありません :hugs:

Discourse には素晴らしい公式プラグイン Discourse GitHub があります。設定に基づいて、メンバーの PR 貢献に対して報酬を与えることができます。しかし、メンバーが GitHub アカウントと関連付けられない場合、必ずしも割り当てることができるとは限りません。

私の理解が正しければ、GitHub コミットのメールアドレスやユーザー名がフォーラムアカウントと一致しない場合、一致が見つけられず、バッジが付与されない可能性があります。

私たちの Humane Tech Community では、GitHub ベースのログインは長らく有効化されていませんでした(私はごく最近これを追加しました)。しかし、リポジトリの共同作業を行う GitHub 組織を持っています。そのため、情報提供の目的で、メンバーが記入する「GitHub アカウント」というカスタムプロフィールフィールドを常に用意していました。

ここで提案する Discourse の追加機能は以下の 2 つの部分で構成されます。

  1. 管理者設定で有効にできる公式の「Code Forge」プロフィールフィールドのサポート。
  2. 有効化された場合、バッジ割り当て時に最初に「Code Forge」フィールド(検証済み?)を確認する機能。

注:「Code Forge」という用語は、GitHub、GitLab、Gitea、Sourcehut など、場所や使用ソフトウェアに関係なく、あらゆるリポジトリに対する連邦型フォージ統合を目指す ActivityPub プロトコル拡張である ForgeFed から引用しています。

検証済み Code Forge プロフィールフィールド

はじめに: 私自身、また一緒に働く多くの人々(自由ソフトウェア運動全体に拡張できるかもしれません)にとって、OSS 開発に GitHub を使用することはもはや当然のことではありません。GitHub はコードリポジトリをホストするための論理的な第一選択肢ではもはやありません。例えば、私は最も頻繁に Codeberg を使用し、GitLab やさまざまなセルフホスト型の GitLab/Gitea インスタンスなどのアカウントも持っています。私がモデレーターを務める Feneas は GitLab のみを使用しています。Discourse とコミュニティメンバーに対して、これらの異なるコードフォージの選択を表現できるようにしたいと考えています。

機能: 管理者設定で、コミュニティに関連するコードフォージを構成し、プロフィールフィールドとして有効にできます。また、フィールドを検証済みにする、または必須にする(この機能のさらなる拡張として省略可能)ことも指定できます。メンバーがフィールドを入力すると、他のメンバーに対して情報提供の目的を果たします。オプションで(有効化されている場合)、検証が行われます。つまり、ユーザーは設定されたコードフォージにリダイレクトされ(おそらく GH ログインと同様の OAuth フローを使用するため、そのための管理者設定が必要ですが、「GH でログイン」やその他のフォージの有効化は必須ではありません)、確認後、Discourse へ戻されます。プロフィールフィールドには、美しい検証チェックマークが表示されます。UI は Mastodon のものと同様で(ただし、rel="me" を使った検証方法は大きく異なります)、最大 4 つのカスタムプロフィールフィールドを追加できるようなものです。

Discourse GitHub プラグインとの関係

プロフィールフィールドが存在する場合、特にそれが必須または検証済みの場合、Code Forge バッジ割り当てのチェック先として最初に使用できると考えられます。バッジの割り当ては、GitHub に限定されず、構成されたすべてのコードフォージに基づいて行われます。

編集: GitHub プラグインの改善例としてバッジ割り当てを取り上げましたが、プラグイン自体が、構成されたすべてのフォージをサポートする公式の Code Forge プラグインになる可能性があります。