Code-Schmiede-Profilfelder und anschließende Verbesserung des Github-Plugins

Hinweis: Dies ist nur eine Idee, die ich für euch hinterlassen möchte, damit ihr darüber nachdenkt, und kein ‘offizieller’ Feature-Vorschlag meinerseits :hugs:

Discourse verfügt über das großartige offizielle Plugin Discourse GitHub. Basierend auf den Einstellungen können Forum-Mitglieder für ihre PR-Beiträge belohnt werden. Es ist jedoch nicht immer möglich, sie zuzuweisen, da die Mitglieder nicht mit dem GitHub-Konto verknüpft werden können:

Wenn ich es richtig verstehe, kann es vorkommen, dass keine Übereinstimmung und somit auch kein Abzeichen erfolgt, wenn Ihre GitHub-Commit-E-Mail und/oder Ihr Benutzername nicht mit einem Forumskonto übereinstimmen.

In unserer Humane Tech Community waren Github-basierte Logins lange Zeit nicht aktiviert (ich habe dies erst sehr kürzlich hinzugefügt), aber wir haben eine GitHub-Organisation, in der wir an Repositories zusammenarbeiten. Daher hatten wir als informative Maßnahme immer ein benutzerdefiniertes Profilfeld ‘GitHub-Konto’, das von den Mitgliedern ausgefüllt werden konnte.

Das hier vorgeschlagene zusätzliche Feature in Discourse besteht aus zwei Teilen:

  1. Unterstützung für ein offizielles Profilfeld ‘Code Forge’, das in den Admin-Einstellungen aktiviert werden kann.
  2. Falls aktiviert, wird das ‘Code Forge’-Feld bei der Zuweisung von Abzeichen zuerst überprüft (und verifiziert?).

Hinweis: Die Terminologie Code Forge stammt von ForgeFed, der ActivityPub-Protokollerweiterung, die eine federierte Forge-Integration in jedes Repository unabhängig von Standort und verwendeter Software (GitHub, GitLab, Gitea, SourceHut, etc.) anstrebt.

Verifiziertes Code Forge-Profilfeld

Einleitung: Für mich und viele Menschen, mit denen ich arbeite (ich könnte dies auf die freie Software-Bewegung im Allgemeinen ausweiten, denke ich), ist die Nutzung von GitHub für OSS-Entwicklung nicht mehr selbstverständlich. GitHub ist nicht länger der logische erste Anlaufpunkt zum Hosten von Code-Repositories. Beispielsweise nutze ich am häufigsten Codeberg und habe Konten bei GitLab sowie verschiedenen selbstgehosteten GitLab-/Gitea-Instanzen usw. Feneas, wo ich Moderator bin, verwendet ausschließlich GitLab. Ich möchte in der Lage sein, diese verschiedenen Entscheidungen bezüglich der Code-Forge innerhalb von Discourse und gegenüber den Community-Mitgliedern auszudrücken.

Feature: In den Admin-Einstellungen kann ich die Code-Forges konfigurieren, die mit meiner Community verbunden sind, und sie als Profilfelder aktivieren. Ich kann auch angeben, dass das Feld verifiziert und/oder erforderlich sein soll (eine weitere Erweiterung dieses Features kann weggelassen werden). Wenn ein Mitglied das Feld ausfüllt, erfüllt es seinen informativen Zweck für andere Mitglieder. Optional (falls aktiviert) findet eine Verifizierung statt, d. h. die Person wird zur konfigurierten Code Forge weitergeleitet (wahrscheinlich unter Verwendung eines OAuth-Flows, ähnlich wie beim GitHub-Login, sodass dafür Admin-Einstellungen vorhanden sein müssen; das ‘Login mit GitHub’ oder eine andere Forge muss nicht aktiviert sein), bestätigt die Aktion und wird zurück zu Discourse geleitet. Das Profilfeld zeigt nun ein schönes Verifizierungs-Häkchen an. Die Benutzeroberfläche kann ähnlich sein wie bei Mastodon (obwohl die Verifizierungsmethode mit rel="me" sehr unterschiedlich ist), wo man bis zu 4 benutzerdefinierte Profilfelder hinzufügen kann:

Beziehung zum Discourse-GitHub-Plugin

Wenn das Profilfeld vorhanden ist, und insbesondere wenn es erforderlich und/oder verifiziert ist, stelle ich mir vor, dass es als erster Ort zur Prüfung für die Zuweisung von Code-Forge-Abzeichen verwendet werden kann. Die Abzeichenzuweisungen basieren auf allen konfigurierten Code-Forges und sind nicht nur auf GitHub beschränkt.

Bearbeitung: Ich habe die Abzeichenzuweisung als Beispiel für eine Verbesserung des GitHub-Plugins verwendet. Das Plugin selbst könnte jedoch zum offiziellen Code-Forge-Plugin werden, das alle konfigurierten Forges unterstützt.