Open fenglisch opened 1 year ago
Hallo,
zum besseren Verständnis: Wir reden hier über die Spalte parties
(https://github.com/msteudtn/Mat-O-Wahl/blob/master/extras/statistics/results_db.sql) mit den Werten von mowparties
, richtig?
Das sieht in der Auswertung also im Moment so aus:
vorher: | Partei: | A | B | C | D |
---|---|---|---|---|---|
Punkte | 5 | 1 | 0 | 2 |
nachher, ohne B, mit E: | Partei: | A | C | D | E |
---|---|---|---|---|---|
Punkte | 5 | 1 | 0 | 2 |
Ein Dummy-Eintrag in der parties.csv
würde umfangreiche Änderungen nach sich ziehen, da die ganze Berechnung der Punkte von der richtigen Anzahl der Parteien und Fragen abhängt.
Die Alternative, stattdessen das Parteikürzel mit in die Datenbank zu schreiben, wäre eine einfache Lösung. :)
Genau das meinte ich.
Da der Dummy-Eintrag ohnehin nur eine ziemlich unsaubere Lösung gewesen wäre, klingt das doch gut!
Der folgende Entwicklungszweig hat die nötigen Änderungen.
partynames
angelegt. https://github.com/msteudtn/Mat-O-Wahl/blob/issue-77-add-partyname-to-statistics/extras/statistics/results_db.sqlmowpartynames
zur Verarbeitung https://github.com/msteudtn/Mat-O-Wahl/blob/issue-77-add-partyname-to-statistics/system/general.js mowpartynames
wird in die Datenbank geschrieben. https://github.com/msteudtn/Mat-O-Wahl/blob/issue-77-add-partyname-to-statistics/extras/statistics/vote_db.php Die Tabelle sieht am Ende so aus:
resultID | ip | timestamp | personal | parties | partynames |
---|---|---|---|---|---|
12 | 0.0.0.0 | 2023-02-05 | 1,1,1,1,1,1 | 4.5,2,2,3 | APPD,Neutrale,Bananen,TBC |
13 | 0.0.0.0 | 2023-02-05 | 1,-1,-1,-1,-1,1 | 1.5,6,4,3 | Bananen,TBC,Neutrale,APPD |
Alle Änderungen kann man hier einsehen. https://github.com/msteudtn/Mat-O-Wahl/pull/80
Danke dir @msteudtn ! Wir haben es tatsächlich jetzt erst geschafft, das zu testen.
Kleine Anmerkung: Die Charakter-Begrenzung der Spalte partynames würde ich sicherheitshalber nochmal verdoppeln
Größere Anmerkung: Die Nummern in der Spalte parties sind nach wie vor geordnet nach der Reihenfolge der Parteien in der parteien.csv. In der partynames Spalte wird aber die Reihenfolge aus dem Ranking übernommen. Hier sollte auch die Reihenfolge aus der CSV-Datei beibehalten werden
Wenn die statistische Auswertung aktiviert ist, wird in der Results-DB-Tabelle ja auch die Übereinstimmung des Nutzers mit den Parteien gespeichert. Die Zuordnung des Übereinstimmungswertes mit der Partei findet dabei lediglich über die Reihenfolge statt. Wenn ich nach einem halben Jahr einen Eintrag aus der Mitte der parteien.csv lösche, kann keine richtige Zuordnung von Übereinstimmungswert mit Partei mehr stattfinden, weil sich alles verschiebt (aber der Stelle, wo der Eintrag entfernt wurde).
Ein Lösung wäre, dass man Einträge in der parteien.csv nicht mehr ersatzlos löscht, sondern sie durch einen Dummy-Eintrag ersetzt. Dieser müsste irgendeinen Wert enthalten (z. B.
<span data-hide="yes"></span>
), damit dieser in der Auswertung nirgendwo angezeigt wird, sondern nur in der parteien.csv den Platz des gelöschten Eintrags einnimmt, damit die Zuordnung weiterhin möglich ist.Alternativ könnte die Zuordnung vielleicht anders als über die Reihenfolge stattfinden, z. B. indem vor jedem Übereinstimmungswert das Kürzel der Partei steht.