Поля профиля Code Forge и последующее улучшение плагина для GitHub

Примечание: Это лишь идея, которую я хочу оставить вам для размышлений, а не «официальный» запрос на добавление функции от меня :hugs:

У Discourse есть отличный официальный плагин Discourse GitHub для интеграции с GitHub. В зависимости от настроек он позволяет награждать участников форума за их вклад в виде pull-запросов (PR). Однако не всегда можно сопоставить участников с их аккаунтами на GitHub, так как они могут не быть связаны с ним:

Если я правильно понимаю, если адрес электронной почты вашего коммита на GitHub и/или имя пользователя не совпадают с учётной записью на форуме, сопоставление может не произойти, и бейдж не будет выдан.

В нашем сообществе «Гуманная технология» вход через 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 и перед участниками сообщества.

Функция: В настройках администратора я могу настроить кузницы кода, связанные с моим сообществом, и включить их как поля профиля. Я также могу указать, что хочу, чтобы поле было верифицируемым и/или обязательным (это может быть дополнительным расширением данной функции, которое можно опустить). Когда участник заполняет это поле, оно служит информационной цели для других участников. Опционально (если включено) происходит верификация: пользователя перенаправляют в настроенную кузницу кода (вероятно, с использованием потока OAuth, аналогичного входу через GitHub, поэтому в настройках администратора должны быть предусмотрены соответствующие параметры; вход через GitHub или другую кузницу не обязательно должен быть включён), подтверждает свои данные, и его возвращают обратно в Discourse. Теперь в поле профиля отображается красивая галочка верификации. С точки зрения пользовательского интерфейса это может быть похоже на то, что есть в Mastodon (хотя метод верификации с rel="me" сильно отличается), где можно добавить до 4 пользовательских полей профиля:

Отношение к плагину Discourse для GitHub

Если поле профиля присутствует, и особенно если оно обязательное и/или верифицированное, я полагаю, его можно использовать как первое место для проверки при назначении бейджей кузницы кода. Назначение бейджей будет основываться на всех настроенных кузницах кода, а не только на GitHub.

Редактирование: Я привёл назначение бейджей в качестве примера улучшения плагина для GitHub. Но сам плагин мог бы стать официальным плагином «Кузница кода», поддерживающим все настроенные кузницы.