msteudtn / Mat-O-Wahl

:de: Mat-O-Wahl - Ein einfach zu bedienender, freier Open Source Wahl-O-Mat Klon fuer jedermann ### :gb: :us: A simple to handle, free "Voting Advice Application" / "Electoral Compass" alternative
https://mat-o-wahl.de/
GNU General Public License v3.0
34 stars 15 forks source link

Zeichen(-kette) für `addon_results_textfilter_by_button.js` in Beschreibung und nicht in Abkürzung #58

Closed fenglisch closed 2 years ago

fenglisch commented 2 years ago

Aktuell muss das Zeichen/die Zeichenkette für das Filter-Addon in der Abkürzung der Partei stehen. Sinnvoller erscheint es mir, wenn das Zeichen/die Zeichenkette in der Kurzbeschreibung stände. Hier ist mehr Platz, z. B. könnte man sogar mit Hashtags (bei den Obstkorbwahlen z. B. mit #rund) arbeiten.

msteudtn commented 2 years ago

Ist-Stand

Es gibt im Moment drei Beschreibungsfelder für die Parteien

Partei_kurz:;"👤 APPD ​ ‎"
Partei_lang:;"Appelpartei Deutschlands"
Partei_Beschreibung:;"Die Apfelpartei steht seit vielen Jahren für alle Angelegenheiten des Apfels."

Wenn ich mich recht entsinne, stand ich beim Erstellen der Erweiterung ebenfalls vor der Frage, welches Feld ich denn benutze. Ich hatte mich damals gegen die beiden Beschreibungs-Felder entschieden, weil es nur ein "dummer" Textfilter ist.

Problemstellung / Beispiel

Ich habe eine Wahl in den vier Stadtteilen "Nord, Ost, Süd, West" Ich möchte alle Parteien für "Ost" finden.

Bei der Wahl gibt es die "Eispartei" im Bezirk "Nord" mit der Beschreibung: "Wir sorgen für frOSTige Temperaturen" und die "Wirtschaftspartei" in "Süd" mit der Beschreibung "Wir achten auf die KOSTen im Stadtrat".

Die beiden Parteien aus "Nord" und "Süd" würden dann fälschlicherweise bei "Ost" angezeigt.

Lösungsmöglichkeit 1 zu "Beschreibung benutzen"

Der Textfilter sucht nach einem genauen Text. Man könnte also nicht nach "Ost" suchen, sondern nach " Ost " (mit Leerzeichen) oder auch nach "#Ost". Die Wahrscheinlich ist gering, dass der Text auch in der Beschreibung auftaucht.

Lösungsmöglichkeit 2a zu "Beschreibung benutzen"

Man nutzt eine weitere SPALTE um die Filter-Symbole einzutragen. z.B.

Partei_kurz: APPD 👤 ​ ‎
Partei_lang: "Appelpartei Deutschlands"
Partei_Beschreibung: "Die Apfelpartei steht...

Lösungsmöglichkeit 2b zu "Beschreibung benutzen"

Man nutzt eine weitere ZEILE um die Filter-Symbole einzutragen. z.B.

Partei_kurz: APPD
Partei_lang: "Appelpartei Deutschlands"
Partei_Beschreibung: "Die Apfelpartei steht...
Addon1 ...
Addon2 👤 ​ ‎

Fazit

Es ist möglich. Aber egal wie, Anpassungen am Code sind trotzdem nötig. :)

fenglisch commented 2 years ago

Danke für die strukturierte Aufschlüsselung!

Zu Option 1:

Ich nehme an, dass das die einfachste Anpassung wäre und hierfür nur die Addon-Datei selbst geändert werden muss? Der kleine Nachteil ist, dass die Filterwörter dann jeweils in der Beschreibung stehen und nicht versteckt sind, aber das könnte trotzdem praktikabel sein, z. B. folgendermaßen: Partei_Beschreibung:;"Die Apfelpartei steht seit vielen Jahren für alle Angelegenheiten des Apfels.<br> <small>Kategorien: #Bürgermeister, #Ost</small>"

So machen wir es aktuell im Gütersloher Mitwirk-O-Mat, wo in den Beschreibung jeweils der Kontakt steht: grafik Damit bekommt die Beschreibung etwas Steckbrief-artiges, aber das ist ja nicht schlecht

Option 2a

Wenn ich das richtig sehe, hätte das den Vorteil, dass die Zeichen(-ketten) nicht mehr sichtbar sind. Für uns beim Mitwirk-O-Mat wäre das aber leider überhaupt nicht praktikabel, weil das Python-Skript, mit dem wir den LimeSurvey-Export umformatieren, nur funktioniert, wenn jede Zeile zwei Spalten hat. Außerdem nehme ich an, dass hierfür deutlich mehr Änderungen auch in anderen Dateien erforderlich wären (?)

Option 2b

Hat ebenfalls den Vorteil, dass die Zeichen(-ketten) nicht sichtbar sind und würde mit unserem Python-Skript harmonieren. Scheint mir auch am besten skalierbar zu sein, wenn es viele Filterkategorien gibt oder - wie du es andeutest - mehrere Addons, die so etwas brauchen. Vermutlich aber auch mehr Aufwand als Option 1 (?)

Fazit

Wenn Option 1 einfach umsetzbar sein sollte, wäre das für uns optimal 🙂

msteudtn commented 2 years ago

ah, so ein Mist!

Die ausführliche Beschreibung wird nur in der oberen Tabelle #resultsShortTable angezeigt. In den beiden unteren Tabellen (mit den ausführlichen Fragen bzw. Antworten) fehlt die Beschreibung. Deshalb kann der Filter darauf nicht angewendet werden.

grafik

Option 2 a+b

Es besteht weiterhin die Möglichkeit eine neue Zeile oder neue Spalte in die CSV-Datei einzufügen.

Option 1b

Die ausführliche Beschreibung wird "unsichtbar" (ausgeblendet) in den unteren Tabellen mit angezeigt. So kann der Filter diese Zeilen ebenfalls prüfen.

Fazit

Es ist weiterhin umsetzbar aber doch einen Tick umfangreicher als gedacht. Gibt es eine Priorität dafür?

Nebenbemerkung

Am besten wäre es vermutlich wenn die Tabellen beim Filtern jedes Mal "neu" aus der "Datenbank" erstellt würden. Dann wäre es egal, in welchem Ansichts-Feld die Information liegt. Das ist aber eine Aufgabe für später. :)

fenglisch commented 2 years ago

Ah okay, dann ist meine Option 1 ja erstmal raus, wenn das mit dem Auslesen in den Detail-Tabellen nicht klappen würde. Und für uns wäre 2a (neue Spalte) ungeeignet. Dann bleibt noch 2b (neue Zeile). Kannst du einschätzen, wie viel Aufwand das wäre..? 1b klingt etwas hacky, aber ich kann mir vorstellen, dass es funktioniert.

Was die Priorität angeht, so haben wir gerade keine akute Situation, aber es kann gut sein, dass die nächste Stadt oder Region sich die Filterfunktion wünscht. Dann würden wir sie gerne anbieten und schon erprobt haben. Für die Konzeption und Umsetzung wäre dann ja sehr knapp :-/

msteudtn commented 2 years ago

Entschuldigung für die späte Antwort.

Option 1

Der Aufwand für die "unsichtbare" Beschreibung in den unteren Tabellen wäre vermutlich etwas geringer als für einige neue Zeilen in der CSV-Datei (Option 2).

Option 2

Das ist eigentlich mein heimlicher Favorit. Aber es erfordert noch mehr Umbauten beim Einlesen der CSV, in der Erweiterung und auch für euch.

Fazit

Ich würde kurzfristig auf die Option 1 gehen und mittelfristig die Option 2 in Angriff nehmen wollen. Mein persönliches Ziel (Wunsch) für die Option 1 wäre Ende 2021.

msteudtn commented 2 years ago

Hallo,

es gibt jetzt einen Pull Request #61 . Dort wurden einige Dateien angepasst um die "Option 1" umzusetzen.

Ich habe es bei mir getestet und keine Fehler gefunden. Aber ich würde gern noch auf deine Rückmeldung warten, bevor ich es in den Hauptzweig einspiele. :)

fenglisch commented 2 years ago

Danke für die tolle Arbeit, es funktioniert auf Anhieb sehr gut!

Meine einzige Anmerkung wäre, dass vor allem bei Instanzen mit vielen Angeboten (und entsprechend mit längeren Tabellen, wenn man die Ergebnisse ausgeklappt hat), sinnvoll sein kann, wenn die Filter-Buttons nicht nur einmal ganz oben angezeigt werden, sondern auch nochmal jeweils über den unteren Tabellen (damit man zum Ändern der Filtereinstellung nicht ganz nach oben scrollen muss)

also so ungefähr grafik

msteudtn commented 2 years ago

So, neuer Pull Request #62 :)

Die Buttons sind nun 2x vorhanden. 1x unter der Überschrift (vorher darüber) und 1x über der Fußzeile. Ich hatte es zuerst unter den beiden Auswahlbuttons ("Begründungen" - "Standpunkte") aber spätestens in der mobilen Ansicht war es dann ein unübersichtliches Button-Chaos. Deshalb habe ich diese Ansicht gewählt.

Wenn doch etwas dagegen spricht, gib bitte Bescheid. :) Ansonsten kann es dann in den Hauptzweig.

fenglisch commented 2 years ago

Ja, das stimmt mit dem Button-Chaos. Da ist dein Vorschlag sinnvoller Also ab damit!