Einen Mahlowat konfigurieren

Es ist (aus technischer Sicht) eigentlich relativ leicht, eine eigene Instanz des Mahlowat aufzusetzen. Nur die Listen und die Thesen musste man bislang in PHP-Dateien in einem bestimmten Format eintragen. Bei technischen Halblaien bestand da die Gefahr, dass ein vergessenes Semikolon zu einem kaputten Mahlowat und großer Frustration führt.

Die neue Version setzt für die Konfiguration auf eine zentrale Datei im JSON-Format. Diese lässt sich mit dem praktischerweise direkt mitgelieferten Generator erzeugen.

Die neue Version des Mahlowat gibt es auf GitHub, den Generator könnt ihr mit Beispieldaten hier und ohne Beispieldaten hier ausprobieren.

In der Mache: Mahlowat V2

Im letzten Jahr gab es zur Studierendenparlamentswahl an der Uni Bonn erstmals den sogenannten „Wahl-O-Man“, der ein lokaler Wahl-O-Mat-Klon ist. Dieses Angebot des formidablen studentischen Magazins akut habe damals ich implementiert.

Auch in diesem Jahr wird die akut wieder einen Wahl-O-Man anbieten. Bereits jetzt möchte ich eine bestimmte Hochschulgruppe darauf hinweisen, dass ich lediglich für die technische Umsetzung des Wahl-O-Man verantwortlich bin, inhaltlich jedoch gar nichts damit zu tun habe 😉

Für dieses Jahr bin ich dabei, den „Mahlowat“, wie ich die zugrunde liegende Anwendung benannt habe, einmal komplett zu überarbeiten. Größte Neuerung wird sein, dass die zur Wahl antretenden Listen ihre Antworten nun direkt in ein Webformular eintragen dürfen – die manuelle Übertragung der Antworten aus diversen Textdokumenten in den Wahl-O-Man war im letzten Jahr das Nervigste an der ganzen Aktion.

Außerdem wurde durch ein wenig JavaScript-Hexerei umgesetzt, dass nicht mehr jede zu beantwortende These einzeln vom Server geladen werden muss, sondern alles auf einer einzelnen Seite geschieht. Die Anwendung sollte dadurch erheblich schneller sein und deutlich weniger Frustpotenzial bieten. Dennoch kann per Sprungmarke1 immer noch direkt auf einzelne Thesen verlinkt werden.

Eine große Neuerung gibt es noch beim Teilen des Wahl-O-Man-Ergebnisses: Es ist jetzt möglich, nur das Balkendiagramm in sozialen Medien zu teilen, ohne dabei direkt die eigenen Antworten zu den Thesen zu verraten. Hierzu wird das persönliche Ergebnis auf dem Server gespeichert und anhand einer eindeutigen ID identifiziert. Die geteilte Ergebnisseite enthält keine Hinweise mehr auf die gegebenen Antworten. In bestimmten Fällen ist es allerdings trotzdem möglich, aus der Übereinstimmung mit den einzelnen Listen die gegebenen Antworten zu berechnen.

Sind Sie sicher? Der Mahlowat fragt nach.

„Sind Sie sicher?“ Der Mahlowat fragt nach.

Wer nicht möchte, dass seine/ihre Antworten gespeichert werden, hat nach der Bewertung aller Thesen die Möglichkeit, auf die Speicherung zu verzichten. Dann gibt es allerdings auch keine Möglichkeit, das eigene Ergebnis auf die oben beschriebene Weise zu teilen, sondern der Share-Link enthält wie bislang die eigenen Antworten in kodierter Form.

Damit nicht etwa die Server-Logs über URL-Parameter die gewählten Antworten verraten, wurde auch die Navigation komplett überarbeitet. Das hat die folgende, lustige Konstruktion zur Übergabe von Daten zum Ergebnis:

Beim Klick auf einen Link zu einer Spezialseite wird per JavaScript ein Formular in die Seite eingefügt, das als Felder die zu übertragenden Werte enthält und als action die Zielseite. Dieses Formular wird dann sofort abgesendet und die Zielseite erhält die gewünschten Werte. Da die Werte nur als POST-Parameter hin- und hergeschickt werden, tauchen sie in der Zugriffslogdatei eines handelsüblichen Apache-Servers nicht auf.

Wird also auswählt, dass die Ergebnisse nicht gespeichert werden sollen, dann werden sie auch nicht irgendwo gespeichert.

Sobald der Mahlowat fertig überarbeitet ist, wird er wieder auf GitHub zur Verfügung gestellt.

  1. Dat is dat Dingen mit dem #