| Resumen | Votaciones secretas con bolas negras y blancas (“ballotage”) para un grupo de miembros, con supervisión de la participación. | |
| Enlace al repositorio | GitHub - DaniW42/discourse-ballotage: A Discourse plugin for secret black/white-ball ballots ("ballotage" — in German "Kugelung"), as used by clubs, societies and other membership organizations for admitting new members. A member either casts a black or a white ball; who voted is recorded, but what they voted is not. · GitHub | |
| Guía de instalación | Cómo instalar plugins en Discourse |
Funciones
Es un nicho bastante específico… Pero: muchos clubes, sociedades y logias admiten a nuevos miembros mediante una votación secreta con bolas negras y blancas. Este plugin lleva ese procedimiento a Discourse:
- Una página de votación en
/ballotagedonde los miembros de un grupo configurado emiten un voto final – negro o blanco – durante un período establecido (por defecto, de 00:01 del día de inicio a 23:59 del día de finalización, con horas personalizadas opcionales). - Una página de gestión en
/ballotage/managepara un grupo de supervisión y administradores: quién ha votado mientras la votación está en curso y el resultado en negro/blanco una vez que ha terminado. - Las votaciones pueden cancelarse, luego finalizarse (el resultado y la lista de participantes se eliminan de forma irreversible) y finalmente eliminarse de la lista.
- Una votación a la vez, texto de aviso opcional en la página de votación, incluido en inglés y alemán.
Cómo se mantienen secretas las votaciones
- La base de datos almacena quién votó (sin la opción elegida ni marcas de tiempo) y dos contadores anónimos: nada vincula a un miembro con una elección. Los contadores se incrementan sin tocar
updated_at. - Los conteos están ocultos hasta que la votación termina: mostrar los conteos en vivo junto a la lista de participantes permitiría a los observadores coincidir un nuevo nombre con el contador que acaba de moverse.
- La finalización elimina el resultado y la lista de participantes de forma permanente.
Límite: alguien con acceso directo a la base de datos que observe los contadores durante una votación aún podría correlacionar los votos. Esto está fuera del alcance de un plugin y debe manejarse a nivel organizativo.
Configuración
| Ajuste | Descripción |
|---|---|
ballotage_enabled |
Habilitar el plugin |
ballotage_voting_group |
Grupo cuyos miembros pueden votar |
ballotage_oversight_group |
Ve la participación y los resultados (los administradores siempre pueden) |
ballotage_oversight_can_manage |
Permitir que el grupo de supervisión cree, cancele, finalice y elimine votaciones |
ballotage_info_text |
Aviso opcional mostrado en la página de votación |
ballotage_timezone |
Zona horaria para las horas de inicio/fin (por defecto Europe/Berlin) |
Añade un enlace en la barra lateral o en el menú a /ballotage para que los miembros encuentren la página de votación.
Compatibilidad
Discourse 2026.7 y posterior. En producción en un foro pequeño desde septiembre de 2026.
Se agradecen los comentarios, informes de errores y traducciones, ya sea aquí o en GitHub.

