Como aprovechar a Fedora Badges
- Arquitectura
- Proceso de administrador de sistema: Como fomentar una Insignia
- Cómo otorgar manualmente una insignia
- Cómo revocar manualmente una insignia o autorización
- Como añadir administradores a Tahrir
- Como crear una invitación y un código QR
- Scipts útiles para trabajo manual
- Información de contacto
Arquitectura
El demonio de punto final que otorga insignias, fedbadges, se despierta cuando recibe un evento en fedmsg. Compara que mensaje y el histórico en número de datos con una serie de reglas. Si un contribuyente cumple con los criterios descritos en una de esas reglas, se le premia con una insignia.
La interfaz es una aplicación web llamada Tahrir. Principalmente es solo una interfaz para que los usuarios vean sus insignias. Sin embargo, también tiene una interfaz de administración para el añadido manual de nuevas insignias, la concesión de insignias y la creación de «invitaciones» (códigos QR) para las insignias.
The badge-awarding back-end daemon, fedbadges, runs in OpenShift, in the badges
project. The front-end runs in OpenShift as well.
Documentación actual
-
Para una descripción detallada de como funciona el demonio fedbadges, consulte fedbadges README.
-
Para un diagrama de como interactúan las piezas en el sistema de insignias Fedora Badges, consulte los diagramas de insignias federales.
Proceso de administrador de sistema: Como fomentar una Insignia
Promover insignias consta de dos operaciones:
-
Subir activos de insignias (
.png
,.svg
,.yaml
) al repositorio fedora-badges -
Añadir insignia a badges.fedoraproject.org
Cualquiera con permisos de escritura en insignias de Fedora puede fomentar insignias. También se pueden usar solicitudes de promoción. Solo los miembros del grupo FAS sysadmin-badges
y administradores de la interfaz web pueden añadir insignias.
Los artistas y desarrolladores de insignias pueden subir diseños (png
y svg
art) y reglas (yaml
) al repositorio insignias-fedora.
Preparando para crear una insignia
Una vez que se ha aprobado una insignia por el Equipo de Diseño y tiene la etiqueta preparado para promocionar, está preparada para ser subida. Siga esta lista de comprobación para subir una nueva insignia:
-
Asegúrese que el diseño está aprobado por el Equipo de Diseño
-
Asegúrese de que el nombre y la descripción de la insignia sean claros
-
Asegúrese de cumplir uno de estos requisitos:
-
Insignias otorgadas manualmente: Que cuentas FAS reciben permisos para otorgar la insignia
-
Otorgada por medio de una regla fedmsg: El archivo YAML con la regla está presente
-
Si está confundido o algo no aparece, comente sobre la cuestión y borre la etiqueta ready to push.
Agregar activos de insignia a Pagure
-
Descargue el trabajo y el fichero de regla (si es aplicable):
-
Verifique dos veces que el trabajo artístico sea la versión final desde el boleto
-
Abra / visualice ambos ficheros del trabajo para comprobar que no están corrompidos (en el pasado, las imágenes corruptas eran accidentalmente subidas)
-
-
Dé a ambos ficheros, trabajo y regla, el mismo nombre, sitúelos en los directorios pngs/, svg/, rules/
-
Solo sobre petición: Genere un fichero STL para impresión en 3D de una insignia:
-
Cambie a los directorios en
bin/
y ejecuteexport.sh
. Esto crea un fichero STL para la insignia y lo lleva al sitio correcto. -
Compruebe en el fichero
README
enbin/
mas información sobre el script.
-
-
Confirme todos los archivos y súbalos a fedora-badges (o haga un PR)
Asegúrese que los ficheros tienen un nombre razonable (e.g. all-lowercase-dashes-only.png
). Algunos tipos de insignias tienen una convención de denominación, como las insignias de pertenencia al grupo FAS (i.e. fas-badge-name.png
) o la construcción de insignias Koji (i.e. koji-badge-name.png
). Siga los precedentes pasados cuando sea posible. Más tarde, el nombre del fichero se usa para el fichero de interfaz del servidor (e.g. https://badges.fedoraproject.org/pngs/all-lowercase-dashes-only.png
).
Let the assets be pulled by the back-end server
Note: All assets must be in the master
branch of fedora-badges before proceeding.
The badges will be automatically pulled from the Pagure repository every 15 minutes.
Una vez terminado, asegúrese que la insignia es públicamente visible (i.e. https://badges.fedoraproject.org/pngs/<name>.png
)
Añadir insignias otorgadas automáticamente
Aviso: Preste mucha atención al seguir estos pasos. Es fácil crear una insignia, pero es mucho más duro editarla más tarde. La información de doble confirmación se debe introducir correctamente en el archivo YAML o de otro modo tendrá que escribir instrucciones SQL para corregirlo más tarde.
Automatically awarded badges are created by the YAML rule file. Once the repo has been updated on the server (every 15 minutes), the badge is created and placed in the badges index. The only part not created automatically are tags (see Badge metadata below for info about tags). To add new tags, find the badge on badges.fedoraproject.org. If you are logged in as an admin, there is a text field to enter in new tags.
Añadir insignias otorgadas manualmente
Aviso: Preste mucha atención al seguir estos pasos. Es fácil crear una insignia, pero es mucho más duro editarla mas tarde. La información de doble confirmación se debe introducir correctamente en el archivo YAML o de otro modo tendrá que escribir instrucciones SQL para corregirlo más tarde.
Once the badge assets are pulled by the back-end, add the badge to the front-end, Tahrir. The front-end is hosted at badges.fedoraproject.org. Follow these steps to add the badge in Tahrir.
-
Interfaz Open Admin en badges.fedoraproject.org
-
Vaya a la sección Add badge.
-
Introduzca toda la información como se suministra en el ticket de la insignia (vea Metadatos Badge más abajo.)
-
Haga doble comprobación de que toda la información introducida en correcta y precisa
-
Pulse Create badge para crear la nueva insignia
La insignia se ha creado. Debería ser capaz de encontrarla en el índice de insignias.
Otorgar autorizaciones
Las insignias otorgadas manualmente requieren que usuarios autorizados emitan la insignia. Puede hacer esto en la parte inferior de la interfaz Admin, cerca de Create Authorizations. Añada la persona que recibe privilegios de adjudicación en el campo Person Email. Esto debe ser formateado con su dirección de correo electrónico de fedoraproject.org (e.g. FASuser [en] fedoraproject [punto] org). Por nombre de insignia, use el slug (o nombre de insignia) de la URL de la insignia (e.g. para badges.fedoraproject.org/badge/commops-superstar, esto es commops-superstar
).
Para añadir múltiples usuarios, repita este proceso por cada usuario.
Metadatos Badge
-
Nombre: nombre de la insignia – esto determina la URL de la insignia, de modo que verifique tres veces los errores tipográficos
-
Imagen: enlace completo al PNG (e.g.
https://badges.fedoraproject.org/pngs/all-lowercase-dashes-only.png
) -
Descripción: texto de descripción de la insignia (asegúrese de que no cuelgue espacios en blanco)
-
Criterio: enlace a la cuestión en fedora-badges
-
Editor: mantener el predeterminado
-
Etiquetas: lita delimitada por comas de las etiquetas:
-
Revise otras insignias similares para asegurar que las etiquetas son las correctas. Algunas etiquetas son especiales y funcionan como categorías.
-
Siga el precedente anterior para las etiquetas. Evite crear nuevas etiquetas si es posible.
-
Quitar etiquetas no es fácil. Añadirlas más tarde es fácil.
-
Cerrar el boleto
Después de poner la insignia, haga algunas últimas comprobaciones para asegurarse de que la insignia se ha puesto correctamente. Asegúrese de que la página es visible y haga doble comprobación de que se le ha puesto la categoría correcta en el índice de insignias.
Regrese al tema de Pagure para la insignia. Publique un enlace a la insignia puesta. Si ha otorgado autorizaciones, liste los nombres de usuarios FAS a los que otorga autorizaciones. Después de comentar, cierre la cuestión como pushed.
¡Felicitaciones, acaba de poner su propia Fedora Badge!
Cómo otorgar manualmente una insignia
Para llevar a cabo esto, debe estar en grupo FAS sysadmin-badges
.
Este es un script instalado sobre badges-backend01
en /usr/local/bin/award-badge
. Tiene opciones de ayuda que puede ver con award-badge -h
. Toma una opción --user FAS_USERNAME
requerida y una opción --badge BADGE_ID
también requerida. Por ejemplo, la siguiente invocación otorgará la insignia "Associate Editor" a "ralph":
sudo /usr/local/bin/award-badge --user ralph --badge associate-editor
La BADGE_ID
para una insignia se puede encontrar visitando su pagina en la web UI. Esta insignia se puede encontrar en https://badges.fedoraproject.org/badge/associate-editor
.
El script award-badge
y el código fuente están gestionados por ansible.git. El código fuente está en roles/badges/backend/files/award-badge.
Bastante a menudo, es necesario un flujo de trabajo para otorgar por lotes una insignia a varias personas. Por ejemplo, la insignia Keepin' Fedora Beautiful proviene de un miembro del Equipo de Diseño que publica un ticket con una lista de nombres de usuario FAS (i.e. fedora-badges#129).
Para casos, puede wget
el archivo con la lista de nombres de usuarios FAS en badges-backend01
y ejecutar algo como:
$ for i in $(cat keepingbeautiful-list ) ; do
sudo /usr/local/bin/award-badge --user $i --badge keepin-fedora-beautiful-f20;
done
Cómo revocar manualmente una insignia o autorización
Puede revocar una insignia o autorizaciones insignias de modo similar al script award-badges
. Puede encadenar la invocación del script revoke-badge
o revoke-authorization
de la misma manera que el script award-badges
.
sudo /usr/local/bin/revoke-badge --user ralph --badge associate-editor
sudo /usr/local/bin/revoke-authorization --user ralph --badge associate-editor
Como añadir administradores a Tahrir
Estaría bien si pudiéramos otorgar automáticamente acceso de administrador en el interfaz web a los miembros del grupo FAS sysadmin-badges
. Actualmente no tenemos esta función y debemos mantener la lista de los administradores de UI web separadamente.
El fichero de configuración para la aplicación web de insignias es manejada por ansible.git. El código fuente está en roles/badges/frontend/templates/tahrir.ini.
En este fichero, encuentre la opción tahrir.admin
. Es una lista separada por comas de direcciones de correo electrónico que, cuando inicie sesión, debería otorgar derechos para acceder a los paneles de administración en badges.fedoraproject.org.
To add a new admin, add their FAS_USERNAME@fedoraproject.org
email to that line, commit, and push. Use Ansible to run the openshift-apps/badges.yml
playbook to push the config change out to the web front-end nodes.
Como crear una invitación y un código QR
Esto se hace a través del panel de administración de la interfaz web (a pesar de que probablemente podamos escribir un script para ser usado en el nodo back-end).
Invitaciones / códigos QR se crean normalmente para eventos Fedora. Por ejemplo en la conferencia Flock 2013 Fedora Contributors, creamos una insignia para premiar a los asistentes. Seguimos el procedimiento de abajo para generar una invitación y un código QR . Después, el código QR fue distribuido a los organizadores de la conferencia. Ellos añadieron el código QR al folleto de programa que se dio a cada asistente. Entonces, cualquier asistente que escaneó el código fue redirigido a la aplicación insignias, donde fueron premiados con la insignia.
Crear una invitación
-
Asegúrese que es administrador en la interfaz web y acceda a badges.fedoraproject.org
-
Pulse el enlace Admin en la UI
-
Bajo la sección Invitations, añada esta información:
-
Fecha de Creación: Opcional. Por defecto el día actual.
-
Fecha de Expiración: Opcional, pero probablemente deseará especificar una. Por defecto 2 horas desde la hora actual. Por ejemplo, en la conferencia Flock 2013, establecimos la fecha de espiración al final de la conferencia. A cualquiera que intente reclamar la insignia con el código QR después de la hora se le denegará, con el mensaje esta invitación ha expirado.
-
Badge ID: "ID" de la insignia que desea otorgar. Vea arriba como encontrar una ID de insignia.
-
Correo electrónico personal: Correo electrónico de una persona en la base de datos de insignias. En nuestro caso, usar su correo electrónico de Fedora (e.g.
FAS_USERNAME@fedoraproject.org
).
-
Ahora, el usuario que ha especificado tendrá un enlace al código QR y un enlace de invitación en su página de perfil. Pueden tomar la iniciativa para distribuir y compartir la insignia como deseen.
Scipts útiles para trabajo manual
Vea ansible/roles/badges/backend/files/
para la carga madre. Todos estos se implementan a /usr/local/bin/
en badges-backend01
donde usted puede acceder para ejecutarlos.
- editar-insignia
-
Actualiza la descripción y el criterio de enlace para una insignia. Útil en el caso de que lo haya creado incorrectamente o si los comentarios de otras partes interesadas nos lleven a cambiar algo.
- galardón
-
Otorgar una insignia a un usuario específico.
- revocar-insignia
-
Borrar una insignia de un usuario al que se le ha otorgado erróneamente. ¡Recuerde! Si usted revoca una insignia otorgada a un usuario, debería darle también una insignia
premio-de-consolación
como muestra de disculpa. - conceder-autorización
-
Conceder derechos de autorización sobre una insignia a un usuario privilegiado. Pueden crear enlaces de invitación y códigos QR para la insignia así como otorgarlas directamente a otros usuarios desde la interfaz web.
- revocar-autorización
-
Revocan esos derechos de autorización para un usuario sobre una insignia dada.
Información de contacto
- Propietario
-
Comunidad Fedora Badges
- Contacto
-
#fedora-badges
- Servidores
-
badges-web0*, badges-backend0*
- Propósito
-
Premio "badges" a Contribuyentes Fedora
Want to help? Learn how to contribute to Fedora Docs ›