Nota: Esta es solo una idea que quiero dejar aquí para que la reflexionéis, y no una solicitud de función ‘oficial’ por mi parte ![]()
Discourse cuenta con el excelente plugin oficial Discourse GitHub. Según la configuración, puedes recompensar a los miembros del foro por sus contribuciones mediante PR. Sin embargo, a veces puede no ser posible asignarlas, ya que los miembros no pueden asociarse a una cuenta de GitHub:
Si he entendido correctamente, si el correo electrónico y/o el nombre de usuario de tu commit en GitHub no coinciden con una cuenta del foro, puede que no haya coincidencia y, por tanto, no se otorgue ninguna insignia.
En nuestra Comunidad de Tecnología Humana llevamos mucho tiempo sin habilitar inicios de sesión basados en GitHub (lo añadí muy recientemente), pero contamos con una organización en GitHub donde colaboramos en repositorios. Por ello, como medida informativa, siempre hemos tenido un campo de perfil personalizado llamado ‘Cuenta de GitHub’ para que los miembros lo rellenen.
La función adicional propuesta aquí en Discourse consta de dos partes:
- Soporte para un campo de perfil oficial llamado ‘Code Forge’, habilitado en la configuración de administración.
- Si está habilitado, comprobar (¿verificar?) primero el campo ‘Code Forge’ al asignar insignias.
Nota: La terminología Code Forge se toma de ForgeFed, la extensión del protocolo ActivityPub que busca la integración federada de cualquier repositorio, independientemente de su ubicación y del software utilizado (GitHub, GitLab, Gitea, SourceHut, etc.).
Campo de perfil Code Forge verificado
Introducción: Para mí, y para muchas personas con las que trabajo (podría extenderlo al movimiento de software libre en general, creo), utilizar GitHub para el desarrollo de código abierto ya no es algo dado. GitHub ya no es la opción lógica y primera para alojar repositorios de código. Por ejemplo, yo utilizo Codeberg con más frecuencia, y tengo cuentas en GitLab y en varias instancias de GitLab/Gitea autoalojadas, etc. Feneas, donde soy moderador, utiliza únicamente GitLab. Me gustaría poder expresar estas diferentes opciones de ‘code forge’ dentro de Discourse y ante los miembros de la comunidad.
Función: En la configuración de administración, puedo configurar los ‘code forges’ relacionados con mi comunidad y habilitarlos como campos de perfil. También puedo especificar que quiero que el campo sea verificado y/o que sea obligatorio (una extensión adicional de esta función, que puede omitirse). Cuando un miembro rellena el campo, cumple su propósito informativo para los demás miembros. Opcionalmente (cuando está habilitado), se realiza la verificación; es decir, la persona es redirigida al ‘code forge’ configurado (probablemente utilizando un flujo OAuth, similar al inicio de sesión con GH, por lo que deben existir configuraciones de administración para ello; no es necesario habilitar el ‘inicio de sesión con GH’ ni con otra forge), confirma y es devuelta a Discourse. El campo de perfil ahora muestra una bonita marca de verificación. Podría ser similar en cuanto a interfaz a lo que tienes en Mastodon (aunque el método de verificación con rel="me" es muy diferente), donde puedes añadir hasta 4 campos de perfil personalizados:
Relación con el plugin oficial de GitHub de Discourse
Si el campo de perfil está presente, y especialmente si es obligatorio y/o verificado, imagino que puede utilizarse como la primera ubicación para comprobar la asignación de insignias de ‘Code Forge’. Las asignaciones de insignias se basan en todos los ‘code forges’ que se hayan configurado y no se limitan solo a GitHub.
Edición: He tomado la asignación de insignias como ejemplo para mejorar el plugin de GitHub. Pero el propio plugin podría convertirse en el plugin oficial de Code Forge, dando soporte a todos los forges configurados.
