FFFlash
- Projekt
- FFFlash ist ein Projekt um sein FreifunkAPI File automatisch aktuell zu halten.
- Hintergrund
-
Die FreifunkAPI besteht aus
JSON
Files, die jede Community veröffentlicht. - Diese beinhalten Treffpunkte, Termine, Kontaktmöglichkeiten, wie viele Router online sind, etc..
- Die Adresssen darauf werden an zentraler Stelle gesammelt.
-
Auf Basis dessen entstanden schon einige hilfreiche Anwendungen:
- Die Freifunk Karte oder...
- die Freifunk App für iOS. Nicht das von Cisco.
- Das FreifunkAPI File wird initial mit dem API Generator erstellt.
- Und dort liegt meines Erachtens nach das Problem:
- ☞︎ Jede Community erstellt sich irgendwann im Laufe ihres bestehens ein API File.
- Wenn man Glück hat, findet sich jemand, der regelmäßig die Informationen aktuell hält.
- Trotz Generator ist dies eine Menge Aufwand, und der Mensch ist faul...
- ☞︎ Updates geschehen selten bis gar nicht.
- ☞︎ Die Informationen sind in der Regel veraltet!
- ☞︎ Anwendungen die auf dieser Datenbasis aufbauen verlieren an Qualität.
- Hatte damals mit dem Entwickler darüber gesprochen, er konnte oder wollte dies nicht so recht einsehen...
- Ziel
- Ständig frickelt man an den Maschinen im Netz rum, an denen die aktuellen Statistiken anfallen.
-
JSON
lässt sich doch kinderleicht mit einem Script generieren.. - Kann man beides nicht irgendwie kombinieren?!? Klar! Doofe Frage...
- Umsetzung
- Anfangs wurde mit viel Gaffa, Liebe und Heißkleber etwas funktionales gezimmert.
- Es entstand eine simple Klasse, die bestehende Werte in einem API File ersetzen konnte.
- Dazu noch ein Script um die Anzahl der Nodes aus der damaligen Karte zu ermitteln.
-
Eine gewisse Zeit lang war sogar noch ein Twitter-Modul
mit rangeflanscht.
Die monotonen Meldungen waren aber irgendwann zu viel...
Status: online: 42 (23 Router, 19 Teilnehmer) 23:42 17.08.2014
-
Irgendwann hatten wir mehrere Communities auf den selben Servern.Und damit auch mehrere API Files.
-
Das Script ließ sich nicht elegant auf mehrere Communities erweitern.Falsche Annahmen, fest einprogrammierter Text, Spaghetti-Code...
- Also zurück ans Reißbrett, der Rewrite wird geplant:
- Features
-
Genau wie der Vorgänger kann FFFlash nur bestehende Felder ändern.
-
Es existiert keinerlei Konfiguration. Alles wird beim Start auf der Kommandozeile mitgegeben.Läuft sowieso in der Crontab, oder man schreibt sich ein Shell-Script passend zu seinem Setup.
-
Dazu lassen sich noch sogenannte ☞︎ Sidecars mit einflechten.Dies sind kleineSie enthalten entweder nur einen einzigen Wert, oder größere Strukturen bis hoch zum kompleten API File.
JSON
oderYAML
Files, die die Werte in der Ausgabe ersetzen. -
Infos zu den Nodes kommen diesmal direkt aus dem Backend und nicht mehr von der Karte.Zugriff entweder direkt auf die Datei, oder per HTTP.
-
Man ist sowieso am Zahlen auswerten, warum nicht noch einen Highscore vergeben? ☞︎ Rankfile.Auf Basis dessen könnte man mal ™ weitere lustige Anwendungen entwickeln.Lange dabei sein, hohe Uptime, und viele Clients bringt gut Punkte.
- Links
-
Repository
- Sogar Tests existieren, auf Travis-CI kann man nachsehen, ob noch alles passt.
- Es wurde an nichts gespart, sogar eine Dokumentation ist am Start.
Es gibt immer noch Communities die
FFFlash
einsetzen..
Obwohl ich schon länger nicht mehr Freifunke..
Cool
☃︎