Benutzer:LostInCoding/spickerrr

Aus Piratenwiki
Wechseln zu: Navigation, Suche

spickerrr

Der Spickerrr ist eine Web Anwendung um digitale Antragsbücher für Parteitage zu erstellen. Die hinterlegten Daten werden darüber hinaus auch mittels einer API zur Verfügung gestellt.

2011 schrieb Grischa Brockhaus dann eine Anwendung für Android um diese Anträge innerhalb einer App abrufen zu können. Irgendwann wurde diese Anwendung nicht mehr gewartet und funktionierte mit den neusten Anträgen auch nicht mehr.

Im Sommer 2016 entschied ich mich dazu, basierend auf der Spickerrr Api eine neue Android Anwendung zu programmieren, welche die alte ersetzen soll.

Diese Anwendung befindet sich nun im Play Store und kann heruntergeladen werden. Die Anwendung ist Open Source, der Quellcode kann auf Github heruntergeladen werden.

Anträge hinzufügen

Möchte man für den eigenen Parteitag Anträge hinzufügen muss das über pirat.ly geschehen. Im folgenden erkläre ich die Funktionsweise des ganzen und versuche Hilfestellung zu bieten.

Zuerst muss eine JSON beziehungsweise CSV Datei erstellt werden welche alle Anträge beinhaltet. Ich werde hier im folgenden mit JSON arbeiten.

Da ja bereits alle Anträge im Wiki in digitaler Form vorliegen hat dahie ein Tool geschrieben welches die Anträge automatisch in das korrekte Format exportiert. Der sogenannte scraperrr befindet sich auf GitHub und muss zuerst installiert werden. Dazu folgt man am besten der Anleitung.

Erstellen des JSON

Ich erkläre das erstellen der JSON Datei mal anhand der Anträge für den Landesparteitag NRW 2016.3.

Zuerst muss eine Konfigurationsdatei geschrieben werden in der die Struktur der Antragsübersicht im Wiki beschrieben werden muss damit der scraperrr alle Anträge findet. Es gibt innerhalb des Tools bereits einige Presets. Aus diesem Grund ist es meistens am einfachsten einen Parteitag zu nehmen auf dessen Antragsseite im Wiki die gleiche Struktur/Template verwendet wurde und dessen Preset anzupassen. In meinem Falle tut es der LPTNRW2016.2.

Der erste Teil des Presets sieht so aus:

{
  "start_page": "http://wiki.piratenpartei.de/NRW:Landesparteitag_2016.2/Antr%C3%A4ge",
  "event": "lptnrw162",
  "contexts": [
    {
      "start_page": "http://wiki.piratenpartei.de/NRW:Landesparteitag_2016.2/Antr%C3%A4ge",
      "detail": true,
      "detailUrl": "de/NRW:Landesparteitag_2016.2/Antr%C3%A4ge/.*",

Es müssen jetzt die "startpage" URLs die "detailURL" und das "event" angepasst werden. Meistens reicht dazu die Ersetzung der Jahres- und Versionsnummern in diesem Fall wird 162 zu 163 und 2016.2 zu 2016.3.

Jetzt muss der scraperrr ausgeführt werden.

scraperrr -c presets/lptnrw163_config.json -o out/lpt_antraege.json

-c presets/lptnrw163_config.json gibt den Ort der Konfigurationsdatei an. -o out/lpt_antraege.json den Namen der zu erstellenden JSON Datei.

Als nächstes muss die fertige JSON zu pirat.ly hochgeladen werden. Dazu wird ein Konto benötigt, hast du keins erstell, dir eins. Nun kann man auf der spickerrr Seite ein neues Antragsbuch erstellen.

Dort gibt man als Namen des Buches die Bezeichnung des Parteitags oder der Versammlung an, das Kürzel als SChlüssel bspw. lptnrw163 und füllt die restlichen Felder aus.

Auf der sich öffnenden Seite muss ein Antragspaket erstellt werden. Als Name passt bei mir "Alle Anträge". Der Quelltyp ist JSON, die Version 1.0. Der Status gibt an ob das Paket gesehen werden kann, es sollte "Sichtbar" ausgewählt sein. Wir können die Datei jetzt einfach hochladen und darunter noch die Spaltenfelder ausfüllen.

Dazu schaut man in die vom scraperrr generierte Datei und sucht die korrespondierenden Felder raus. In meinem Falle sieht ein Element des Outputs so aus:

"url": "http://wiki.piratenpartei.de/NRW:Landesparteitag_2016.3/Antr%C3%A4ge/X003.0",
  "id": "X003.0",
  "title": "Auflösung des KV Euskirchen",
  "author": "Antragskommission",
  "type": "Sonstiger Antrag",
  "summary": null,
  "topic": "Parteiinternes",
  "text": "Ich beantrage die auflösung den KV Euskirchen rückwirkend zum 31.12.2014.",
  "remarks": "Der vorstand des kv euskirchen ist am 21.02.14 zur&#xFC;ckgetreten.\n<p>Die untergliederung ist seitdem inaktiv, insbesondere eine Kooperation zum aktuellen rechenschaftsbericht findet nicht statt. die\nuntergliederung ist demnach per beschluss des lavo aufzul&#xF6;sen mit nachfolgender best&#xE4;tigung durch die mitgliederversammlung des\nlandesverbandes.\n</p><p>Per Umlaufbeschluss des LaVo best&#xE4;tigt: <a rel=\"nofollow\" class=\"external free\" href=\"http://wiki.piratenpartei.de/NRW:Vorstand/Umlaufbeschl%C3%BCsse#Sonstiger_Antrag_-_.23234263_aufl.C3.B6sung_untergliederung_hier:_kv_euskirchen\">http://wiki.piratenpartei.de/NRW:Vorstand/Umlaufbeschl%C3%BCsse#Sonstiger_Antrag_-_.23234263_aufl.C3.B6sung_untergliederung_hier:_kv_euskirchen</a>\n</p>"
}
Spalte Feldname
Antragsnummer id
Titel title
Antragsart type
Thema topic
Antragssteller author
Zusammenfassung summary
Antragstext text
Begründung remarks
Info-Url url

Dann kann des Antragspaket gespeichert werden.

Hilfe

Sollte jemand Probleme haben stehe ich gerne zur Verfügung und helfe. Schreibt mir einfach eine Mail an felixwoestmann@piratenpartei-nrw.de oder eine DM auf Twitter.