GSoC: Freifunk API Query Client – A short report from the Wireless Community Weekend 2014

Photo taken from https://twitter.com/christianheise/status/472746947569520641

Photo taken from https://twitter.com/christianheise/status/472746947569520641

From the 29th May to the 1st of June we were with Andi and Bernd from Weimarnetz at the wunderful c-base Raumstation. We visited the Wireless Community Weekend. It was my first experience of this kind of community event and I enjoyed it very much.

Beer and Bratwurst did harmonize quite well with technical talks about OpenWrt and the Freifunk Community. I was especially surprised how diverse and open the community is and how enthusiastic everyone involved was.

Andi and Monic talked about the progress on the Freifunk API and presented their work. At the end of their talk I had the chance to present my work on the query client for the API. Here are the slides.

Shortly after the talk Jürgen Neumann from Freifunk Berlin came to me and introduced me to DeepaMehta. My original plan was to use something like NodeJS for the backend the storage of the API data but DeepaMehta looked promising and offers unique features I didn’t even thought off.

So after talking with Andi about it we decided to use DeepaMehta as the foundation and storage tool for the API data. A seperate blogpost for the GSoC midterm evaluation will outline my work in this direction.

Overall it was a very exciting weekend for me at #ffwcw 2014.

In 6 Schritten zum API-File

  1. Ruf http://freifunk.net/api-generator/ auf
  2. Trag die Informationen zu deiner Community in das Formular ein und drücke auf “OK – generate…”. Pflichtfelder sind mit einem Stern gekennzeichnet. Je mehr Informationen eingetragen werden, umso besser.
  3. Auf der rechten Seite werden dir die Ergebnisse angezeigt. Falls Informationen fehlen oder Felder falsch befüllt sind, steht es dort unter dem Textfeld. Ergänze oder berichtige die Informationen und generiere das API-File erneut
  4. Speicher die Inhalte des Textfeldes in einer Textdatei auf deinem Rechner oder drücke auf den Download-Button.
  5. Lade die unter 4. erstellte Datei hoch ins Internet auf einen Webspace, in euer Content Managementsystem oder in das Freifunk-Wiki. Als Ergebnis benötigst du einen Link zu der Datei, der aus dem Internet erreichbar ist
  6. Der Link muss noch in das API-Directory eingetragen werden. Wenn du es dir selbst zutraust erstelle einen Pull-Request, ansonsten schickst du den Link über das Kontaktformular an uns und wählst als Betreff ‘Frage zur API’
Hinweis: Wenn du dein API-File aktualisieren willst, kannst du es nach dem Eintrag ins API-Directory im Auswahlmenü oben rechts auswählen, laden und bearbeiten. Danach muss die Datei allerdings erneut gespeichert oder heruntergeladen und auf den Webserver hochgeladen werden.
 
Nutz bitte auch die Möglichkeiten, Informationen wie die Anzahl der Knoten oder Dienste automatisch und regelmäßig zu aktualisieren. Die Gluon-Entwickler haben ein Beispiel dafür ein Script geschrieben und für OLSR-basierte Netzwerke gibt es eine Lösung bei Github.

Hintergründe zur API findest du im Blog und auf freifunk.net.

Die letzten Änderungen sind hier zusammengefasst.

Neues aus der API-Werkstatt

Nach einige Zeit hat es mal wieder einen Versionssprung bei der Freifunk-API gegeben: Unsere Freifunk-API steht ab sofort in Version 0.3.0 bereit. Bestehende API-Dateien sollten schnell aktualisiert werden, da sich einige nicht rückwärtskompatible Änderungen ergeben haben.

Neuerungen und Änderungen der Spezifikation

    • Services hinzugefügt, netz-interne Dienste können hier angegeben werden. Später soll aus diesen Daten eine freifunk-weite Serviceübersicht entstehen
    • Timeline hinzugefügt, hier können Communities wichtige Meilensteine ihrer Geschichte eintragen (z.B. Gründung, Neugründung, wichtige Ereignisse wie Vereingründung oder Rekordstände bei Nutzern/Routern). Mit diesen Daten können schöne Zeitstrahlen erstellt werden
    • TLD hinzugefügt, damit Communities die von ihnen genutzten Top Level Domains (.ffhh, ffl, …) benennen können. Die Informationen können genutzt werden, um die DNS-Konfiguration über die eigene Community hinaus nutzen zu können
    • Kalender-Sektion entfernt, durch Feed vom Typ ics ersetzt. Eine eigene Kalenderspezifikation erwies sich als zu komplex. Mit ics-Files kann man leicht übergreifende Kalender erstellen 
  • Country als Feld aufgenommen
  • Pattern zur Validierung von Eingaben für diese Felder eingeführt: urls, irc, twitter, email, facebook, ip-Adressen
  • Zeitstempel von Unix-Timestamp auf ISO8601-Format umgestellt
  • Netzwerke in CIDR-Notation
  • API Generator validiert

Änderungen am Generator

  • Die Eingabefelder wurden umsortiert. Pflichtfelder verstecken sich nicht mehr hinter eingeklappten Elementen
  • Der Generator kann API-Dateien validieren. Entweder wählt man seine Datei aus dem Auswahlfeld über dem Textfeld oder man kopiert den Inhalt einer Datei in das Textfeld
  • Bei der Validierung werden die Daten direkt in die Formularfelder kopiert, so dass sie danach gleich bearbeitet werden können
  • Gültigkeit von API-Dateien zeigt der Generator farblich an
  • Das Ergebnis der Validation zeigt die problematischen Felder an, man muss sie nicht mehr erraten
  • Zeitpunkt der letzten Änderung und API-Version setzt der Generator automatisch beim der Erstellung, wenn die Eingaben gültig sind

Weitere Änderungen

  • die zusammengefassten API-Dateien legen wir mit jeder Erzegung gesondert ab, um später die Entwicklungsgeschichte verfolgen zu können (Anzahl Communities, Anzahl Router, …)
  • Es gibt mehrere Ansätze, z.B. die Anzahl der Knotennummern in den API-Files automatisch aktualisieren zu lassen. Solche Scripte und Anleitungen sammeln wir im Github-Repository common.api.freifunk.net 

Die gesamte Änderungsgeschichte ist Github-Repository aufzufinden. Fehler, neue Anforderungen oder Anregungen meldet ihr bitte auch im Github unter “issues”.

Review freifunk.net zum Webteam Hackday

Am vergangenen Wochenende traf sich das Webteam in der c-base in Berlin, um unsere gemeinsam genutzten Webdienste voranzubringen und fit für die Zukunft zu machen.

Gemeinsam haben wir Tickets abgearbeitet (und sogar mehr geschlossen als neue geöffnet) und ein paar größere und viele kleine Fehler in unserem Webauftritt behoben.

Monic und Christian haben begonnen, ein WordPress-Theme für die Freifunk-Communities zu schaffen, die es als Startpunkt für einen eigenen Webauftritt verwenden können. Außerdem wollen wir das Design vom Wiki und dem Blog unserer Website anpassen und eine globale Navigation einbauen.

Daniel und Andi haben im Backendbereich einige Komponenten aktualisiert, z.B. das Wiki auf die neueste Version gebracht und die verwendeten php-Versionen modernisiert. Dienste wie den API-Collector haben wir konsolidiert und die eher aus Zeitmangel entstandene Verteilung auf verschiedene Systeme aufgehoben. Gleichzeitig wurde ein neuer Artikel zur neuen Struktur der API fertig.

Einen neuen Downloadbereich wird es in Zukunft auch geben. Hierfür schufen wir die Grundlagen am Wochenende, Monic stiftete dafür Speicherplatz im Internet, der noch seiner Einrichtung harrt.

Weit oben auf der Agenda steht nun, das Wiki aufzuräumen, alte Artikel zu modernisieren oder völlig unbrauchbare Fragmente zu entsorgen. Diese Aufgabe geht uns alle an! André aus Hamburg hat schon begonnen, den Artikel zum Intercity-VPN umzuschreiben und Ballast daraus zu entfernen.

Eine weitere Idee, die wir mittelfristig umsetzen wollen ist die Schaffung eines kollaborativen Kalenders, den alle Communities nutzen können. So entsteht ein weitreichender Überblick über Freifunkevents in ganz Deutschland (und vielleicht über unsere Grenzen hinaus).

Hurra! Die neue Webseite ist da.

freifunk.net ist relaunched! Zeitgemässer – Aktueller – Gemeinschaftlicher

Seit dem letzten Wireless Community Weekend gab es ein gemeinsames Ziel: die Webseite von freifunk.net sollte endlich erneuert werden. Es folgte ein halbes Jahr intensive Arbeit, in dem das Team um Monic, Christian, Andi, Daniel, Ruben und einige andere das neue Konzept und Design entwickelten. Die Inhalte wurden überarbeitet, die Dienste zusammen gesammelt und vor allem wurde die neue API api.freifunk.net initiiert, mit der Metadaten der lokalen Communities dezentral bereitgestellt und standardisiert abgerufen werden können. Erste Anwendungen sind der zusammengefasste Newsfeed, der Blogaggregator und die übersichtliche Communitykarte, um Interessierten den Weg zu ihrer lokalen freifunk Community zu erleichtern.

Monic beschrieb die Aufgabe als “… einen beinahe archäologischen Prozess, bei dem teilweise auch viel Beharrlichkeit notwendig war, um den Kontakt zu einzelnen Aktivisten herzustellen und diese von den neuen Ideen zu begeistern.” An dieser Stelle einen Dank an alle, die das Projekt unterstützt haben und hoffentlich weiter ihren Input beisteuern werden – aber vor allem auch an Monic!

Eine weitere Hauptaufgabe bestand darin, verständlich zu erklären, was freifunk.net ist und wie es funktioniert und dabei dennoch auf unsere Dezentralität und die unterschiedlichen technischen und organisatorischen Ansätze einzugehen. Außerdem sollten die gemeinschaftlichen netzpolitischen und gesellschaftlichen Ziele möglichst geschlossen kommunizieren werden.

Meiner Ansicht nach ist das dem Team super gelungen. Das ist ein ganz tolles Geburtstagsgeschenk zu unserem 10 jährigen Bestehen! Ich möchte mich – sicher auch im Namen vieler anderer freifunkenden – ganz herzlich dafür bei allen Beteiligten bedanken!

JuergeN

Ungeladene Gäste auf Freifunk-Server

Teile der Freifunk-Webseiten (die Zope/Plone-Installationen) sind auf den Servern von Letras gehostet. Häufig gibt es in letzter Zeit Nachrichten von Hackern, die auf fremden Servern agieren. Kürzlich hatten wir auch so einen ungebetenen Besuch. Hintergrundinformationen gibt es in der folgenden Mail von Werner Schultheiß.

Liebe Leute, gestern am späten Abend war das Zope/Plone-CMS, der DNS, die Mailing-Listen und 25 Minuten lang (zw. 23:13 und 23:38) das Gesamtsystem gestört, weiter heute abend die temporären Dateibereiche zeitweise nicht beschreibbar. Der Grund: Bei LETRAS war Großkampftag wegen Gästen, die sich selbst eingeladen hatten und es sich, eine Zeit lang unbemerkt, in versteckten Winkeln mit Verzeichnisnamen wie “.    ” und “.       ” unterhalb von /tmp und /dev/shm bequem gemacht hatten sowie dann über ein Loch im Apachen-Wigwam und, verkleidet als uid 33 “www-data”, häufig wieder kamen. Netterweise überließen mir die Jecken dabei eine Bash-History, die der geneigte Leser im Anhang findet. Diese half sehr beim Putzen und Abdichten, sodass die Gäste mangels Spaßfaktor jetzt verschwunden sind. Ich bin einigermaßen sicher, dass ich, mit der üblichen Restunsicherheit, die Zugänge sowie v.a. die Datenbereiche und Shell-Zugriffe wieder vollständig kontrolliere. Durch das eher am Schach- als am Ballerspiel orienterte Vorgehen musste auch nichts vom System abgerissen und neu augefsetzt werden, Tante Lenny darf in dieser virtuellen Maschine also noch eine Zeit lang mit Debian-Backports-Bandagen in der Verlängerung weiterspielen.

Für die technisch Interessierten, anbei noch eine Kopie des lauschigen .log-Verzeichnisses. $( 

Freifunk Global Newswire Relaunched with Map and Embed Features

After several years of maintaining the Global Newswire, we have just launched a new site of Global.freifunk.net with updated feeds and cool map features. The new site uses the Managing News profile which is based on Drupal and developed by the folks from Development Seed. A big thanks goes to Thanh Nguyen from Vietnam, who set up the system together with me. As the other freifunk.net sites, the site is hosted at in-berlin.de.
 
Mario Behling and Thanh Nguyen working on freifunk.net in Vietnam 
Mario Behling and Thanh Nguyen working on freifunk.net in Vietnam 
 
It took us a few days to figure out how to make it work for us. Some errors like an issue with sharing just came up, because we had not activated clean URLs, other errors, because the different servers we use run slightly different MySQL versions with the one the site is hosted on. Initially we wanted to update the previous site with the new profile. This worked generally, but some features just did not want to get working. The Managing News installation profile has a number of preconfigured modules. After taking a week trying to figure it out, we went back to the start and took another way. We chose to use a fresh install and moved the content of the previous site with the node exporter module. While the old content does not show up in the history anymore now, it can still be found through the search.
 
Global Freifunk Newswire - Map View 
 
To geolocate places in articles we use Yahoo Placemaker, which seems to give a good outcome when tagging places in articles. As we have a rather large number of feeds that need to be checked and updated, we need to run cron every few minutes in order to avoid time outs.
Previously, we also had a special German news site focusing on the German speaking freifunk community. As hits on this website have been rather low over the last two years, we have closed that site and redirected it to the international news site saving us time to focus on one system.
So, here it is, the new Freifunk News Site. One thing I personally like is the embed feature that lets you embed any feed into your site. Please check it out and tell us which cool new features you like. 
 
 
 
If you would like us to include your feed, please add it to the wiki page on the freifunk wiki. We will check here from time to time and add feeds to the newswire.
Links:
* http://global.freifunk.net
* http://managingnews.com
* http://in-berlin.de
* http://wiki.freifunk.net/Global.freifunk.net

Rundfreifunk vom WCW 2009

Zum Wireless Community Weekend wird am Samstag, den 23.5.2009 zwischen 19-21 Uhr Live on air auf Radio Blau (UKW in Leipzig und Internetstream weltweit) eine Rundfreifunk-Sendung direkt aus dem Herzen Berlins aus gesendet. So stehen uns drei Stunden freier Radioraum auch auf ganz anderen Frequenzbändern zur Verfügung, der nur darauf wartet von uns mit Leben gefüllt zu werden. Wer Radio Blau nicht kennt, hier noch eine kurze Erklärung: Radio Blau ist ein Freies Leipziger Bürgerradio und ist im Großraum Leipzig mit jedem Radio empfangbar. 

Wer möchte, kann hierzu in Vorbereitung schon Audiobeiträge bzw. Interviews vorbereiten, die im Rahmen dieser Sendung ausgestrahlt werden können. Bitte meldet euch hierzu bei Ufo.

200. Artikel im Freifunkwiki

Heute wurde im wiki.freifunk.net der 200. Artikel bereit gestellt. Mittlerweile ist es dort recht aktiv geworden, sodass viele nun aktiv an diesen gemeinsamen Wiki arbeiten. Auch du kannst dich dort beteiligen und eure gewonnenen Erkenntnisse aus den Communities dort einfließen lassen.

Wenn ihr selbst aktiv werden wollt, seit ihr dazu recht herzlich eingeladen, und euren Tatendrang  schnellstmöglich in Artikeln zu verfestigen. 

Freifunk-Wiki Qualitaetsoffensive

Keks von der Berliner Freifunk-Initiative Nord-Ost fordert die Freifunk-Community auf der WLAN-Mailingliste WLANnews auf mehr zusammen zu arbeiten und das Freifunk-Wiki staerker gemeinsam zu nutzen. Genau, das war meine Idee als ich vor ueber zwei Jahren das Freifunk-Wiki zusammen mit Jens Nachtigall und Christian Seitz von in-berlin aufgesetzt habe. Folgend die Mail von Keks.

Die Große wiki(pedia) macht es vor, und ich denke wir sollten uns auch einmal ran setzen und gemeinsam das wiki auf freifunk.net auf Vordermann
bringen! Es wird zeit, dass das wissen unser "aller" Communitys einmal mehr zusammengetragen wird. Zwar hat jede große Freifunk-Sub-Community
ihr eigenes Wiki und sammelt ihr wissen über bestimmte dinge dort, aber ich denke, wir sollten alle gemeinsam ein mal an einen Strang
ziehen und "Globale" inhalte in das Wiki von freifunk.net übernehmen. Daher rufe ich alle Communitys auf, Allgemeinwissen (z.B. der Umgang
mit einer bestimmten Hardware, das Handling von Wlankarten und was es da sonst nicht noch alles gibt), das nicht nur auf eine Community
beschränkt ist, auch (und grade) in das freifunk-Wiki zu stellen und dort zu Pflegen. Somit sollte sich für alle beteiligten die Arbeit
reduzieren, da keine "Redundanten", nebeneinander/ aneinander vorbei entstehenden Wikis Themen mehrmals aufarbeiten müssen, sondern gemeinsam auf ein gut gepflegtes Wissen von Freifunk.net zurückgreifen können.
Daher rufe ich euch auf, auch eure Inhalte aus eventuell bestehenden "Lokalen" Wikis mit Wissen, das auch den Anderen Communitys zu gute
kommen sollte / könnte in das große Freifunkwiki umzuziehen und dort mehr inhalte bereit zu stellen

Gruß Keks
http://Freifunk-bno.de