Freifunk API – Spendenkampagnen und Unterstützer, Metacommunities

Die Freifunk API wird in kleinen Schritten immer weiter entwickelt. Manchmal sind es nur kleine Verbesserungen z.B. im Generator, hin und wieder kommen aber auch neue Felder hinzu.

Neue Features

Zentrales Thema der letzten Iteration war die Unterstützung der lokalen Community. Neben Spendenkampagnen kann man auch Informationen zu einem Förderverein eintragen.

Unterstützende Vereine

Um die Metacommunities besser darzustellen, gibt es unter “How to support you?” einen Eintrag für einen unterstützenden oder fördernden Verein. Neben Name und Adresse kann man Emailadresse und Homepage angeben sowie den Vorstand nennen. Die Felder sind alle optional.

Spenden

Immer mehr Communities setzen auf Spendenkampagnen von betterplace. Bis vor kurzem haben wir versucht, die Übersichtsseite über diese Kampagnen von Hand zu pflegen. Wegen der großen Anzahl wurde das immer schwieriger. Wir fassten den Entschluss, die Spendenkampagnen über die API einzusammeln. Im Moment wird nur betterplace als Plattform unterstützt, da niemand eine andere nutzt und uns auch keine bekannt ist, die Gleiches leistet wir betterplace. Um eure Kampagne über die API bekannt zu geben müsst ihr lediglich die ID der Kampagne angeben und die Plattform “betterplace” auswählen. Eure ID könnt ihr in der URL zu eurer Spendenseite bei betterplace finden. Es ist die Zahl nach “/projects/”, bei “https://www.betterplace.org/de/projects/12172-freifunk-net” z.B. die 12172.

Die Spendenübersicht hat nun ein eigenes WordPress-Plugin bekommen, dass die Daten aus der API einsammelt und in einer Tabelle darstellt. Informationen zu einigen Trägervereinen sind schon vorhanden, vom Rest erwarten wir noch einen kleinen Text.

Daneben kann natürlich auch ein Bankkonto angegeben werden, um direkt Spenden zu bekommen.

Falls ihr auch eine eigene Spendenkampagne starten wollt, aber keinen gemeinnützigen Verein als Träger habt, könnt ihr auch den Förderverein Freie Netzwerke e.V. kontaktieren.

Timeline

DelphiN aus Franken arbeitet gerade daran, die Timeline-Daten aus der API aufzubereiten. Am Ende sollen sie in einem Zeitstrahl dargestellt werden. Viele Communities haben hier erfreulicherweise schon Daten eingetragen. Wir freuen uns, wenn es noch mehr werden. Einige Einträge sind jedoch zu fein granuliert, als dass man sie sinnvoll in einem Zeitstrahl zeigen kann. Es ist nicht sinnvoll, das Aufstellen einzelner Router oder jedes Treffen in der Timeline zu dokumentieren. In dieser sollen sich Meilensteine (z.B. 100 Router, 1000 Clients gleichzeitig), wichtige Daten (Gründung, ggf. Wiedergründung) oder Ereignisse von großer Tragweite wiederfinden. Einige Vorschläge für Einträge:

  • Ereignisse
    •   Gründung
    •   Neugründung
    •   Vereinsgründung
    •   RIPE-Mitgliedschaft
    •   Event vermesht (Festivalname, Ort, Link zu Blog)
    •   Wichtige Kooperation geschlossen (Partnername, Link zu Blog)
    •   wichtiger Standort vermesht, z.B. Rathaus, Kirche, Schule, Fußgängerzone (Standortname, Link zu Blog)
  • Technik
    •   Knoten
      •     Erster Knoten online
      •     mehr als 100 Knoten online
      •     mehr als 500 Knoten online
      •     mehr als 1000 Knoten online
  •   Clients
      •     mehr als 100 Clients parallel
      •     mehr als 500 Clients parallel
      •     mehr als 1000 Clients parallel
    • Firmware
      •   Major Release mit Firmware Name, Version

Umgang mit Metcacommunities

In letzter Zeit haben wir API-Entwickler intensiv über den Umgang mit Metacommunities diskutiert. Ausgangspunkt war, dass zwei sich zwei Metacommunities zusätzlich in das Directory eingetragen haben und die Gesamtknotenzahlen neben den einzelnen Werten aus den Communities gemeldet haben. Das verfälscht natürlich das Ergebnis. In Zukunft soll mit Metacommunities so umgegangen werden:

  • Es gibt für Metacommunities keinen eigenen Eintrag im Directory
  • Fördervereine werden stattdessen in die neue Sektion für Vereine eingetragen
  • Das Feld Metacommunity bleibt erhalten und kann zur Gruppierung der API-Daten verwendet werden.
  • Der Collector wird erweitert, um neben der flachen Ausgabe aller Communities wie bisher auch eine nach Metacommunities gruppierte Datei zurückzugeben. 

Das Vorgehen hat mehrere Vorteile: Die API-Dateien und das Verzeichnis bleiben in einer einfachen Struktur erhalten. Alle Daten, um Gruppierungswünsche zu realisieren sind weiterhin vorhanden und können genutzt werden. Zur Erstellung von API-Dateien nutzt Freifunk Franken z.B. Templates, die dann um jeweile regionale Daten ergänzt werden.

Weitere Entwicklungen – Helfer gesucht

Im Umfeld der API sind einige Werkzeuge und Anforderungen entstanden, für deren Weiterentwicklung und Umsetzung wir Mitstreiter suchen. Hilfe ist immer herzlich willkommen. Meldet euch über das Kontaktformular, wählt “Frage zur API” und schreibt uns.

Collector

Der Collector ist ein kleines Python-Propgramm, dass momentan aus den API-Daten eine HTML-Tabelle, ein JSON für die Communitykarte und eine Konkatenation aller API-Dateien generiert. Durch die Erweiterung soll eine weitere Ausgabe hinzukommen, die die Daten in der folgenden Struktur als JSON-File zurückgibt:

  • Metacommunity1
    •   Community1 in Metacommunity1
    •   Community2 in Metacommunity1
  • Community3 (hat keine Metacommunity)
  • Metacommunty2
    •   Community4 in Metacommunity2
    •   Community5 in Metacommunity2
  • Community6

DeepaMehta – Freifunk Query Client

Im Rahmen des Google Summer of Code 2014 hatten wir mit der Arbeit an einem Query Client begonnen. Erst in der Mitte des Projekts lernten wir DeepaMehta kennen, eine Software zur semantischen Datenablage und zum Wissensmanagement. Erste Ergebnisse zum Import des Verzeichnisses und einiger API-Daten konnten wir schon erzielen. Eine erste Abfrage selektiert alle Communities nach einem Routingprotokoll, z.B. Batman Advanced oder OLSR. DeepaMehta erfordert Kenntnisse in Java und Maven.

Freifunk beim Google Summer of Code

Google nutzt für viele seiner Dienste OpenSource-Software. Mit dem Google Summer of Code möchte sich Google bei der OpenSource-Gemeinde bedanken und fördert Studenten für ein von Mai bis August laufendes Projekt mit 5500 US$ – in diesem Jahr über 1100 Studenten aus aller Welt.

Im Jahr 2014 nahm Freifunk wieder am Google Summer of Code teil. Freifunk integriert dabei als Dachorganisation weltweit Initiativen wie guifi.net, ninux.org, wlan slovenija und LibreMesh aus Argentinien. Wir bekamen in diesem Jahr 9 Slots für Projekte, die Studenten in Deutschland, Frankreich, Italien, Spanien und Slowenien bearbeiteten. Die Projekte beschäftigten sich u.a. mit der Freifunk-API, Netzwerkprotokollen und Software zum Communitymanagement. Im Freifunkblog können Details zu den Projekten nachgelesen werden.

Den Abschluss des diesjährigen Google Summer of Code bildete der Mentors Summit, zu dem jede Organisation zwei Mentoren entsenden darf. Zur Feier des 10-jährige Bestehens waren auch Teilnehmer aus den vergangegen Jahren eingeladen und der Summit wurde um einen Tag verlängert.

Freifunk fun in USA

Auf dem Programm stand auch ein Ausflug, wo wir das echte Amerika kennenlernten und gemeinsam mit Teilnehmern aus China und Vietnam Basketball trainierten.

Mehr als 600 Teilnehmer aus aller Welt trafen sich in San Jose, Kalifornien, und wir hatten die Chance uns über unsere Projekte auszutauschen, neue Kontakte zu knüpfen und nicht zuletzt den 10. Google Summer of Code zu feiern. Als Überraschungsgast zum Jubiläumsempfang war Linus Torvalds geladen. In einem Treffen hatten wir die Gelegenheit, mit ihm über Freifunk zu sprechen.

Ideen für Projekte im Jahr 2015 können schon jetzt im Wiki eingetragen werden. Falls ihr Kontakte zu Universitäten oder Fachhochschulen habt, sprecht mit Dozenten, Studenten oder Lehrstuhlinhabern, um Unterstützung für Projekte im Sommersemester 2015 zu bekommen.

Links

Projektideen http://wiki.freifunk.net/Ideas

Fotos zum Mentor Summit: https://www.flickr.com/search/?tags=gsoc14

Links sammeln und Termine teilen

Was ist das?

Die beiden Werkzeuge LinkSink und Calcifer sind nun einsatzbereit. Mit LinkSink können wir für Freifunk Links zu unseren Themen zusammentragen und daraus RSS-Feeds erstellen. Durch Kategorisierung und Hinzufügen von Tags können wir damit sehr flexibel RSS-Feeds zu bestimmten Themen bereitstellen und bei vorhandenen Mediendateien sogar diese einbinden. Calcifer kann man zum Verwalten von Terminen und Erstellung von ics-Dateien verwenden. Auch hier kann nach Tags und Orten gefiltert werden.

Für einige Anwendungen nutzen wir beide Werkzeuge schon aktiv:

Wie funktioniert das?

Auswahl und Filter

LinkSink Filter

Auf der Startseite sind zunächst alle Einträge zu sehen. Durc h einen Klick auf ein Tag eines Eintrags oder durch Nutzung der Filterleiste kann man diese Auswahl einschränken. In Calcifer kann derzeit entweder nach Tags oder nach Orten gefiltert werden. Filter in LinkSink können Kategorie, Jahr und ein Tag enthalten.

Link zum Feed

Fü r ein Filterergebnis steht dann ein Link zum RSS-Feed oder der ICS-Datei bereit. Die URL des Feeds bleibt konstant, so dass diese in anderen Anwendungen permanent eingesetzt werden kann. Mit jedem Aufruf wird der dahinterliegende Feed neu erzeugt und mit aktuellen Daten gefüllt. Calcifer erzeugt dabei nur in der Zukunft liegende Termine. LinkSink ordnet die Einträge absteigend nach Erscheinungsdatum.

Neue Links oder Termine kann man mit einem Klick auf Neuer Link bzw. Neuer Termin oben in der Navigationsleiste anlegen. Dann öffnet sich das entsprechende Formular. Sind alle Pflichtfelder richtig gefüllt, kann der neue Eintrag gespeichert werden.

Formular MediendateienMediendateien wie bei Podcasts können zu einem Linkeintrag hinzugefügt werden. Die notwendigen Felder für Länge und Typ stellt LinkSink beim Speichern fest und schreibt die Werte in die Datenbank. Die RSS-Feeds sind so aufgebaut, dass Podcastclients integrierte Audiodateien erkennen können und abspielen.

Calcifer kann auch wiederholende, regelmäßige Termine anlegen. Als Intervalle sind wöchentlich, 2-wöchentlich und monatlich auswählbar. Das Verwaltung wiederkehrender Termine erreicht man durch einen Klick auf den Link in der Navigationsleiste oben.

BookmarkletZur Erleichterung der Aufnahme neuer Links gibt es ein sogenanntes Bookmarklet. Das ist in der Navigationsleiste rechts oben zu finden. Um es zu nutzen, zieht man es in die Bookmarkleiste des eigenen Browsers. Auf Webseiten, die als man als Link speichern möchte, drückt man dann auf dieses Bookmark und wird zu einem vorausgefüllten Formular in LinkSink weitergeleitet. Das Bookmarklet erfordert ein aktiviertes Javascript im Browser, bei Erweiterungen wie Privacy Badger müssen Ausnahmen für rss.freifunk.net erstellt werden, damit Javascript von einer anderen Seite ausgeführt werden kann.

Vereinbarungen

Damit das Chaos überschaubar bleibt sind hier noch ein paar wenige Regeln: 

  • soll ein Link im Medienspiegel auftauchen muss das Tag Medienspiegel gesetzt sein. Wenn es eine Community betrifft ist es schön, wenn ein weiteres Tag mit dem Communitynamen dazukommt
  • Für eine schöne Darstellung im Medienspiegel sollte das Quellmedium auftauchen. Der Titel für einen Medienspiegeleintrag sollte so aussehen: <Quellmedium>: <Titel>
  • Termine in Calcifer, die communityübergreifend stattfinden (z.B. WCW oder der Congress) verseht ihr bitte mit dem Tag freifunk_common. Diese Termine erscheinen dann im gemeinsamen Kalender mit der Markierung, dass es sich um einen übergreifenden Termin handelt. Communityeigene Termine taggt ihr bitte nicht mit freifunk_common, sondern z.B. mit eurem Communitynamen. Den Feed dafür könnt ihr dann per Freifunk API bereitstellen, wodurch sie ebenfalls in den gemeinsamen Kalender kommen. Dann sind sie aber als Termine eurer Community markiert.

Nutzung

Jede Community darf die beiden Werkzeuge gern benutzen. Achtet bitte darauf, die Tags und Orte richtig zu setzen, damit es nicht zu Überschneidungen mit anderen Communities kommt. Versucht auch, doppelte Einträge zu vermeiden, fügt lieber euer Tag zu einem Eintrag hinzu, falls ihr ihn auch in eurem Filterergebnis haben wollt.

Falls euch das alles zu unübersichtlich wird könnt ihr auch eigene Instanzen installieren. Beide Werkzeuge sind quelloffen und werden in Github-Repositories gepflegt (LinkSink, Calcifer) und freuen sich über weitere Installation oder Mithilfe und Anregungen zur Weiterentwicklung.

API in Progress

Die API-Entwickler haben einen großen Sprint eingelegt und viele Neuerungen implementiert. Das größte Ziel neben der Verbesserung der Nutzerfreundlichkeit war die Schaffung höherer Datenqualität. Dafür wurden einige Freitextfelder in Checkboxen umgewandelt und bestehende Auswahlfelder um weitere Optionen ergänzt. Textfelder, für die ein definiertes Format bekannt ist (z.B. Emailadressen oder URLs) prüfen wir bei der Validierung gegen Pattern.

Die wichtigsten Änderungen im Überblick:

  • neue Felder für Fokussierung, politische und technische Aspekte, z.B. Umgang mit Störerhaftung oder Updatemodus
  • Kategorie ‘podcast’ zu Feeds hinzugefügt
  • Länderfeld mit Auswahl und Speicherung von ISO-Codes
  • Top Level Domains in DNS umbenannt und für mehrere Domains geeignet
  • jede Community kann mehrere Routingprotokolle haben
  • Arten von Kartenlösungen erweitert
  • Formate und Beschreibungen hinter Feldern ergänzt, damit beim Ausfüllen mehr Klarheit über die erwarteten Daten herrscht
  • Doppelte oder überflüssige Felder entfernt (z.B. topology data, bootstrap, “needs to be defined”)

Durch die Umwandlung einiger Freitextfelder in eine Mehrfachauswahl müssen die betroffenen Felder neu belegt werden. Der API-Generator in seiner aktuellen Version weist auf diese Felder hin.

Auch in anderen Bereichen gibt es Fortschritte. Durch die Erweiterung der Feeds um Podcasts bietet freifunk.net nun auch einen aggregierten Podcastfeed aus den Podcasts der Communities an.

Weitere Entwicklungen gibt es auch beim Kalender: Ein WordPressplugin ermöglicht es nun, die einzelnen Kalender der Communities zu einem großen Gesamtkalender zusammenzufassen.

Ihr seht, es gibt mehr als genug Gründe, eure API-Files zu aktualisieren und anzupassen. Falls ihr Daten wie z.B. Anzahl der aktiven Knoten oder in eurem Netzwerk angekünigte Dienste regelmäßig erneuert, schreibt sie bitte auch in eure API-Dateien. Freifunk Mainz hat dazu ein einfach handhabbares Werkzeug entwickelt.

In Zukunft soll es auch Visualisierungen und Suchmöglichkeiten über die API-Daten geben. Teile davon wollen wir zum Freifunk Hackathon vom 1.8. bis 3.8.2014 in Berlin besprechen und umsetzen. Auf dem Hackathon soll es um die Weiterentwicklung von Freifunkfirmwares gehen, es wird also sehr interessant und ihr seid herzlich dazu eingeladen.

Your API file in only 6 steps

  1. Call up http://freifunk.net/api-generator/ 
  2. Fill in the information about your community in the form and press “OK – generate…”. Mandatory fields are marked with an asterisk. The more information you enter, the better. 
  3. Your results will be displayed on the right hand side. If information is missing or fields are incorrectly filled, you will see it marked under the text box. Fill in or correct the information and generate the API file again.
  4. Save the content of the text box to a text file on your computer or press the download button.
  5. Upload the file created under point 4. to the Internet on to your Web space, in your content management system or our freifunk wiki. You will need a link to that file.
  6. The link must be added to the API directory. If you trust yourself, create a pull request, or you can send the link via contact form. If you chose the later, select “question about the API” as subject.

Please note: If you want to update, download or edit your API file, you can choose to do so after the entering the API directory, in the drop-down menu on the top right. The file must however be resaved or downloaded and uploaded to the Web server again.  

Please also use the possibilities to update information such as the number of nodes or services automatically and regularly. Gluon developers have written an examplary script, and there is a solution for OLSR-based networks on Github

You can find background information on the API in the blog and on freifunk.net.  

The most recent changes are summarized here.

Translation by Karin Kuschel.

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).

Die neue Freifunk API. Aufruf zum Mitmachen!

Zum Wireless Community Weekend 2013 in Berlin fand ein ersten Treffen zum Relaunch unserer Website freifunk.net statt.  Dabei kam auch die Frage auf, wie man die einzelnen Freifunkcommunities am besten präsentieren kann, ohne alle Daten zentral zu erfassen und zudem den Communities eine einfache Möglichkeit zu bieten, eigene Daten selbst aktuell zu halten.

In Anlehnung an die Hackerspaces API (http://hackerspaces.nl/spaceapi/) wurde die Idee einer Freifunk API geboren: Jede Community stellt ihre Daten in einem definierten Format an einer ihr zugänglichen Stelle (Webspace, Wiki, Webserver) bereit und trägt sich in das Verzeichnis ein. Das Verzeichnis besteht lediglich aus einer Zuordnung von Communitynamen und URL zu den den bereitgestellten Daten. Die erste Anwendung soll eine Karte mit darin angezeigten Freifunkcommunities sein, um Besuchern und Interessierten einen Überblick zu geben und lokale Ansprechpartner zu vermitteln.

Die Freifunk API soll die Metadaten der Communities dezentral sammeln und anderen Nutzern zur Verfügung stellen. Die API ist nicht zu verwechseln mit einer Datenbank für Freifunkknoten oder als Verzeichnis von Firmwareeintellungen einzelner Communities.

Der Relaunch von freifunk.net soll August stattfinden – verbunden mit verschiedenen Aktionen, Pressearbeit und Kooperationen –  und wir möchten euch aufrufen, eure API-Dateien zu erstellen und abrufbar abzulegen. Teilt uns dann bis Ende Juli den Namen eurer Community und die URL zu eurer API-Datei mit, damit wir das Verzeichnis aufbauen können. Das könnt ihr z.B. über den Issue Tracker von Github machen oder schreibt eine Mail an freifunk@ja.ishalt.so oder kontaktiert uns persönlich.

Die Entwicklung der API und ihrer Umgebung findet auf github.com statt, das Repository ist unter https://github.com/freifunk/api.freifunk.net zu finden. Das Datenschema in der ersten Version ist hier definiert: https://github.com/freifunk/api.freifunk.net/blob/master/specs/0.1.json.

Um die Erstellung der Dateien zu vereinfachen, wurde ein API File Generator entwickelt und unter http://freifunk.net/api-generator/ bereitgestellt, der passenden JSON-Code zurückgibt. Aus dem Ergebnisfenster müssen diese Daten dann kopiert und in eine Datei gespeichert werden. Im Moment ist das alles noch ein wenig improvisiert, aber für die Zukunft sind noch einige Verbesserungen zur Komfortsteigerung geplant. 🙂

Zum Schluss noch einmal der Aufruf an euch: Legt so schnell wie möglich, spätestens aber bis Ende Juli eure API-Dateien an und gebt uns wie beschrieben die Verzeichniseinträge bekannt!