Giter Club home page Giter Club logo

directory.api.freifunk.net's Introduction

Check api directory

Entstehung

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 (https://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 Firmwareeinstellungen einzelner Communities.

Weitere Informationen zur API sind in einem Blogartikel unter https://blog.freifunk.net/2013/die-neue-freifunk-api-aufruf-zum-mitmachen zusammengefasst.

Qualitätssicherung

  • Die API-Datei sollten mit dem API-Generator erstellt bzw. validiert worden sein.
  • Eine Community muss immer ortsbezogen sein. Ist eine Community überregional oder in mehreren Orten aktiv müssen für die verschiedenen Städte und Ortschaften mehrere Einträge erstellt werden. Um deutlich zu machen, das diese Ortgruppen zusammen gehören sollte im Feld metacommunity ein gemeinsamer Namen eingetragen werden. Alternativ kann der Communityname auch in allen Orten identisch sein.
  • Jede Community muss mindestens Kontaktdaten und eine Möglichkeit zur Teilnahme bereitstellen. Je mehr Daten desto besser.
  • Eine Freifunk-Community besteht aus einer Gruppe von min. 2-3 Personen, die auch bereits einige Freifunk-Knoten vor Ort betreibten.
  • Die Dateien müssen UTF8 codiert sein und so auch vom Webserver ausgeliefert werden.
  • Die API-Datei sollte möglichst aktuell gehalten werden. Stark veraltete oder ungültige Dateien werden nach Rückfrage wieder entfernt.
  • Damit die API-Dateien verarbeitet werden können müssen diese in der directory.json eingetragen werden.

History

At the Wireless Community Weekend 2013 in Berlin there was a first meeting to relaunch freifunk.net. To represent local communities without collecting and storing data centrally, a way had to be found. Another requirement was to enable local communities to keep their data up to date easily.

Based on the Hackerspaces API (https://hackerspaces.nl/spaceapi/) the idea of the freifunk API was born: Each community provides its data in a well defined format, hosted on their places (web space, wiki, web servers) and contributes a link to the directory. This directory only consists of the name and an url per community. First services supported by our freifunk API are the global community map and a community feed aggregator.

The freifunk API is designed to collect metadata of communities in a decentral way and make it available to other users. It's not designated to be a freifunk node database or a directory of individual community firmware settings.

Licence

Please feel free to use this data in any (usefull) way you want. All code and content in this git repository is provided under Creative Commons Zero 1.0 Universal license to you.

Contribution

Feel free to contribute to this project by creating a pull request. Please sign-off your git commits before pushing it to your repository.

You confirm that you are allowed to contribute all code and content of your commit to this repository by simply adding a sign-off to your commit message.

Please ensure that the sign-off is done with the same e-mail address as your committer e-mail address.

Easyest way to do this is to use the git sign-off feature:

Sign-off your commit (directly)

git commit --signoff -m "Commit message here"

Sign-off your last commit (if you forgot to sign-off)

git commit --amend --no-edit --signoff

Force pushing last commit (if already pushed before sign-off)

git push --force-with-lease origin your-branch-name-here

directory.api.freifunk.net's People

Contributors

4ndr3 avatar adorfer avatar altima avatar andibraeu avatar christian-weiss avatar collimas avatar dachris avatar do1jlr avatar ecsv avatar freifunk-bamberg avatar freifunkufo avatar hellmar avatar kalbfuss avatar kst87 avatar lx1ge avatar marvin avatar mathiashro avatar mmunz avatar mojoaxel avatar mrkriskrisu avatar nurtic-vibe avatar oleier avatar ratopi avatar sap-dev avatar srauscher avatar stebifan avatar stilgarbf avatar strausmann avatar wurzelmuschel avatar wusel42 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

directory.api.freifunk.net's Issues

Metacommunity "Ruhrgebiet"

In #66 kamen viele zusätzliche Klein-Communities dazu. Dabei ist mir ist aufgefallen, dass es zusätzlich zu den einzelnen Communities in Ruhrgebiet-Verbund auch noch ein gemeinsames Community-File "ruhrgebiet" gibt.
Dieses Meta-Community-File sollte meiner Meinung nach gelöscht werden, das sonst alle Knoten doppelt gezählt werden. Auch sind die Kontaktdaten in allen Unter-Communities bereits gespiegelt, was die übergeordnete Datei eigentlich überflüssig macht.

(dachte ich schreib mal deutsch da deutsche Community und so..)

Lübeck: Version zu alt

@tcatm könnt ihr bitte die Version auf 0.4.7 stellen? ihr verwendet mit nodelist ein feature, was erst da eingebaut wurde

Knotenanzahl Neuss

@pberndro Könnt Ihr bitte die Knotenanzahl von Neuss anpassen.
Es solten nur die Knoten aus Neuss gezählt werden. Die Knoten in Düsseldorf usw. werden dann auch nur in Düsseldorf gezählt. Sonst stimmt die deutschlandweite Knotensumme nicht. Danke!

Ibbenbueren: Fehler im API-File

@ff-ibb in eurem File scheint sich ein unsichtbares Sonderzeichen vor der ersten Klammer versteck zu haben. Könnt ihr das bitte ausbessern? (einfach die erste Zeile löschen und neu schreiben)

Freifunk Frankfurt: lastchange ist number

Error in state->lastchange: 1425079021 is not of type u'string'

Seit einigen Versionen nutzen wir stattdessen den ISO-Timestamp

Bitte API-file entsprechend anpassen

Freifunk Mönchengladbach: API-File kaputt

jsonlint gibt das zurück:

Parse error on line 18:
... {        "nodes": %%NODESCOUNTER%%,  
----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['

hier wird scheinbar die Variable für die Knotenzahl nicht aufgelöst

@dgoersch kannst Du dir das bitte ansehen?

Freifunk Chemnitz: API-File defekt

http://api.routers.chemnitz.freifunk.net/request.php?apikey=f666e95f44c2a54c90f408a2043e30d970fc5f1b&type=com.ffc.info.general

Notice: Undefined index: digit1 in /var/www/localhost/htdocs/ffc_framework/inventory/InventoryClass.inc.php on line 41

Notice: Undefined index: digit2 in /var/www/localhost/htdocs/ffc_framework/inventory/InventoryClass.inc.php on line 41

Notice: Undefined index: digit1 in /var/www/localhost/htdocs/ffc_framework/inventory/InventoryClass.inc.php on line 41

Regensburg: File invalid

zwischen Telefon und Twitter fehlt ein Komma:

Parse error on line 12:
...: "+49 941 37903030""twitter": "@freifun
-----------------------^
Expecting '}', ':', ',', ']'

Wahlsdorf

Die Community-Datei ist nicht mehr verfügbar (404). Genauer gesagt ist die gesamte Ftreifunk-Seite down. Bitte behebt das Problem möglichst zeitnah. Thx!

@mmunz Hi! Du hattest wahlsdorf das damals eingechekt: 74156ce Kannst du das fixen?

Rhein-Neckar

Der Eintrag rhein-neckar ist meiner Meinung nach als Meta-Community anzusehen.
Es wurde eindeutig geklärt, das solche Einträge nicht erwünscht sind. Statt dessen sollen die in der Region aktiven Städte einzeln eingetragen werden. Durch das setzen des felds metacommunity soll die darstellung der Zusammengehörigkeit weiterhin möglich sein.

add a licence

To me it would make sense to add a licence to this repository. What do you think?

Burscheid

Der momentane Eintrag von "burscheid" repräsentiert meiner Meinung nach keine "Community" da sich dort nur ein einzelner Knoten befindet. Laut Aussagen von anderen Freifunkern vor Ort hat der Stadtrat einen Netzausbau mit "Freifunk RHeinland e.V:" zugestimmt.
Ich bin demnach dafür den bestehenden (NRW-)Eintrag zu entfernen und ggf. durch einen neuen zu ersetzen, wenn sich in Burscheid einen echte Community etabliert hat.

langweid 404

Die Community-Datei ist nicht mehr verfügbar (404). Genauer gesagt ist die gesamte Seite down. Bitte behebt das Problem möglichst zeitnah. Thx!

see 73d2ac9

directory cleanup

Wir sollten mal gemeinsam durch das Verzeichnis gehen und die Community-Einträge überprüfen (jeder darf helfen!):

  • Existiert die Community überhaupt (Gibt es dort mehrere Freifunkter)?
  • Sind die Kontakt-Adressen aktuell und weren Fragen dort zeitnah beantwortet?
  • Ist die Knotenanzahl halbwegs aktuell? Wird diese regelmäßig aktualisiert?

Es kam wohl vor, das bestimmte Meta-Communities die API nutzen wollen um "ein Gebiet abzustecken" oder einzelne Freifunker sich einfach selbst als "Community" definieren. Auch hier sollten wir mal ein Auge werfen. Es nutz niemandem, wenn das Verzeichnis vollgemüllt wird!

Freifunk Franken: lastchange ist number

Error in state->lastchange: 1423232076 is not of type u'string'
vor einiger Zeit schon haben wir das auf ISO-Timestamp geändert :-)

@mojoaxel kannst Du das für alle Freifunk Franken-Files anpassen? Ihr macht das doch per Script, oder?

Freifunk Stuttgart: nodemap type invalid

Error in nodeMaps->0->technicalType: u'nodelist' is not one of [u'', u'ffmap', u'ffsomething', u'olsr-dot', u'openwifimap', u'netmon', u'libremap', u'nodewatcher', u'kml']

nodelist gibt es nicht in der Auswahl, lässt sich eure Nodemap in diesem Wertebereich abbilden?

Verzeichnis für metacommunities

wäre es sinnvoll den Metacommunities ein eigenes Verzeichnis zu geben?
Aktuell wissen wir zwar welche Gruppen sich welcher Meta zuordnen, es fehlen aber Informationen zu diesen.
Webseite, Ziele, Region, Focus, Dienste, Kontakt etc

Da es deutlich weniger Metacommunities geben wird als gruppen könnte es vielleicht sogar Sinn machen ein entsprechendes extra file nicht analog zum community-file mit verweisen auf externe Files aufzubauen, sondern alles im Metacoomunity-file zu führen?
Weil stark dynamische Daten gehören da sicher garnicht rein.

Eine flache Struktur mit den wichtigsten Daten wäre vorstellbar, als Key ein eindeutiges Kürzel, das dann auch wieder in den Community-files verwendet wird.


Konkret fällt mir bei der Freifunk-karte auf, dass ich die Gruppen zwar in ihrer Metacommunity zusammen fassen kann, dann aber keine Information habe, welche Webseite nun für jene Metacommunity führend ist. Das ergibt dann, dass ich im Rheinland großflächig bei den Knoten zu falschen Webseite verlinke.

Freifunk 3Laendereck

Das ganze 3Laendereck scheint mir etwas durcheinander zu sein:

  • Die Meta-Community "Freifunk 3Laendereck" sollte meiner Meinung nach aus dem Verzeichnis entfernt werden.
  • Die Communities "wentzwiller" und "schopfheim" erscheinen mir als ein 1-Personen Projekt und sind ohnehin offline. Auch die können wohl erstmal entfernt werden. #16
  • Die Community "Freifunk Rheinfelden" hat auch einige Problemschen. #94

Metacommunity "Freifunk Köln, Bonn und Umgebung"

It is just a minor issue but I think the metacommunity "Freifunk Köln, Bonn und Umgebung" should provide only one community-file for the whole metacommunity OR rename their sub-communities in something like "Freifunk Koeln", "Freifunk Bonn" and "Freifunk Eifel", because they appear three times in the Community-List.

  "koeln" : "http://map.kbu.freifunk.net/ffapi/koeln.json",
  "bonn" : "http://map.kbu.freifunk.net/ffapi/bonn.json",
  "eifel" : "http://map.kbu.freifunk.net/ffapi/eifel.json"

Additional the seperated communities should only have the node-count of the specified city and not the whole metacommunity. Because of this the overall Node-Count of Germany is much to high.

Freifunk Moehne

Der Eintrag moehne ist offensichtlich als Meta-Community anzusehen.
Es wurde eindeutig geklärt, das solche Einträge nicht erwünscht sind. Statt dessen sollen die in der Region aktiven Städte einzeln eingetragen werden. Durch das setzen des felds metacommunity soll die darstellung der Zusammengehörigkeit weiterhin möglich sein.

Freifunk Obernkirchen: JSON-File kaputt

jsonlint gibt aus:

Parse error on line 31:
...            "name": "    FFBI-Firmware 0.3"
-----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[

entweder ist ein Tab zu viel oder die Anführungsstriche sind Sonderzeichen

Freifunk Ostholstein: mehrere Validierungsfehler

Error in state->lastchange: 1419787795 is not of type u'string'
     Error in techDetails->networks->ipv4->0->network: u'' does not match u'^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(\\d|[1-2]\\d|3[0-2]))$'
     Error in techDetails->networks->ipv6->0->network: u'' does not match u'^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?\\s*(\\/(\\d|\\d\\d|1[0-1]\\d|12[0-8]))$'

bitte lastchange in ISO-Timestamp ändern und bei den Netzwerken Werte einsetzen

@T-X kannst du dir das bitte ansehen?

Freifunk Emskirchen: nodemap type invalid

Error in nodeMaps->2->technicalType: u'nodelist' is not one of [u'', u'ffmap', u'ffsomething', u'olsr-dot', u'openwifimap', u'netmon', u'libremap', u'nodewatcher', u'kml']

nodelist gibt es nicht in der Auswahl, passt hier eine der möglichen Angaben?

@StilgarBF kannst du dir das bitte ansehen?

Freifunk Nordwest

Der Eintrag nordwest sollte in oldenburg umbenannt werden.
Die Meta-Community Freifunk Nordwest sollte als meacommunityin die api-datei aufgenommen werden.

Knotenanzahl Düsseldorf

@pberndro Kannst du bitte auch für Düsseldorf die Anzahl der Knoten anpassen. Es zählen nur Knoten, die auch wirklich in Düsseldurf (und Umgebung) stehen. Knoten sollen nicht mehrfach gezählt werden.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.