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.