Kleines Tool um online geheime Wahlen durchzuführen
Um auch während der Corona-Zeit - in der Parteiveranstaltungen nur Online stattfinden können - auch die Möglichkeit zu haben, Posten mittels einer Wahl zu besetzen, haben wir im Kreisverband Tempelhof-Schöneberg (Berlin) innerhalb weniger Tage ein kleines Tool entwickelt, dass möglichst viele Anforderungen an eine geheime Wahl erfüllt.
Alle Mitglieder des Kreisverbandes wurden mit Vornamen, Nachnamen und Email Adresse in die Datenbank importiert. Während des Imports wurde ein eindeutiger Code für jedes Mitglied erstellt und für dieses Mitglied gespeichert (mehr zur Geheimhaltung weiter unten). Dieser Code ist für eine bestimmte Wahl gültig. Eine Wahl kann beliebig viele Wahlgänge haben.
Anschließend wurde allen Mitgliedern dieser Code per Email zugeschickt. Über den gängigen Weg von Newsletter und Aktivenverteiler wurden alle Mitglieder informiert, dass eine entsprechende Email gesendet wurde und man ggf. seinen Spam-Ordner prüfen soll. Es wurde auch eine Kontaktadresse mitgeschickt, um ggf. zu helfen, weil der Code doch nicht angekommen ist.
Dadurch, dass der Code zusammen mit Vorname, Nachname und Email Adresse gespeichert wurde, kann man den gleichen Code der Person noch mal zuschicken, ohne doppelte Codes für Personen zu riskieren.
Kurze Vorstellung des Tools und des Prinzips. Es wird nochmals auf den Code hingewiesen, den jeder bitte bereit halten soll. Wer keinen Code bekommen hat, kann sich per privater Chat Funktion beim Admin melden und ggf. seinen Code erneut erhalten.
Der Vorname, der Nachname und die Email Adresse werden zu jedem Code unwiderruflich gelöscht. Damit ist es auch für den Systemadmin nicht mehr möglich hinterher nachzuvollziehen, wer wie abgestimmt hat.
Direkt in der Datenbank müssen die Wahlgänge und die Wahloptionen angelegt werden. Hierfür bietet das Tool noch keine Bedienoberfläche.
Über die Datenbank muss der jeweilige Wahlgang auf active = 1 gesetzt werden. Damit ist der Wahlgang für alle Benutzer sichtbar.
Benutzer müssen jetzt eine Wahloption wählen und Ihren Code eingeben. Pro Wahlgang kann jeder Code nur einmal abstimmen. Eine Korrektur der Wahl ist nicht möglich.
Nach beendigung der Wahlgang setzt man über die Datanbank ended_at = NOW() . Nund kann nicht mehr abgestimmt werden und das Ergebnis ist über die Ergebnisseite sichtbar für alle Benutzer.
Über die Datenbank kann das Ergebnis über das Setzen von active = 0 für den entsprechenden Wahlgang wieder deaktiviert werden. Dann kann der nächste Wahlgang beginnen.
Es wird ein Webserver mit PHP und MySQL benötigt.
Das SQL Skript database.sql muss in die Datenbank importiert werden. Damit wird die Tabellenstruktur angelegt.
Der Quellcode muss ins Webverzeichnis des Webservers kopiert werden.
PHP Abhängigkeiten müssen installiert werden:
composer install
- Roman Brunnemann
See also the list of contributors who participated in this project.
This project is licensed under the GNU GPLv3 License