| Описание | Секретные голосования с использованием чёрных и белых шаров (“ballotage”) для групп участников с контролем за явкой. | |
| Ссылка на репозиторий | 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 | |
| Гид по установке | Как установить плагины в Discourse |
Возможности
Довольно нишевая тема… Но: многие клубы, общества и ложи принимают новых членов путём секретного голосования с использованием чёрных и белых шаров. Этот плагин переносит эту процедуру в Discourse:
- Страница голосования по адресу
/ballotage, где члены настроенной группы отдают один окончательный голос – чёрный или белый – в течение установленного периода (по умолчанию с 00:01 дня начала до 23:59 дня окончания, можно указать произвольное время). - Страница управления по адресу
/ballotage/manageдля группы контроля и администраторов: кто проголосовал во время проведения голосования и результат (чёрные/белые) после его завершения. - Голосования можно отменить, затем завершить (результат и список участников необратимо удаляются) и, наконец, удалить из списка.
- Одно голосование за раз, необязательный информационный текст на странице голосования, включены английский и немецкий языки.
Как обеспечивается секретность голосов
- В базе данных хранится кто проголосовал (без указания выбора и временных меток) и два анонимных счётчика – ничего не связывает участника с его выбором. Счётчики увеличиваются без изменения
updated_at. - Подсчёт скрыт до завершения голосования: показ текущих подсчётов рядом со списком участников позволил бы наблюдателям сопоставить новое имя со счётчиком, который только что изменился.
- Завершение голосования навсегда удаляет результат и список участников.
Ограничение: лицо, имеющее прямой доступ к базе данных и наблюдающее за счётчиками во время голосования, всё ещё могло бы соотнести голоса. Это выходит за рамки возможностей плагина и должно решаться организационными мерами.
Настройки
| Настройка | Описание |
|---|---|
ballotage_enabled |
Включить плагин |
ballotage_voting_group |
Группа, чьи участники могут голосовать |
ballotage_oversight_group |
Видит явку и результаты (администраторы всегда видят) |
ballotage_oversight_can_manage |
Разрешить группе контроля создавать, отменять, завершать и удалять голосования |
ballotage_info_text |
Необязательное уведомление, отображаемое на странице голосования |
ballotage_timezone |
Часовой пояс для времени начала/окончания (по умолчанию Europe/Berlin) |
Добавьте ссылку в сайдбар или меню на /ballotage, чтобы участники могли найти страницу голосования.
Совместимость
Discourse 2026.7 и новее. Используется в продакшене на небольшом форуме с сентября 2026 года.
Обратная связь, сообщения об ошибках и переводы приветствуются – здесь или на GitHub.

