Hilfe bei Freifunk-karte.de

Hallo Leute,
ich bräuchte mal hilde beim erstellen des api files für unsere neue Community.

Wo muss welche datei hin, wie bekomme ich die einzelnen Nodes in die karte…
habe da noch einige fragen.

Gruß Rene
Freifunk-Bamberg-Coburg-Edenkoben

Hi,

deinen API-File kannst du unter http://freifunk.net/api-generator/ erzeugen. Diese legst du dann beispielsweise auf deinem WebHosting oder bei GitHub ab. Anschließend kannst du den Pfad zur Datei hier -GitHub - freifunk/directory.api.freifunk.net: directory of all freifunk communities - eintragen lassen.

Damit die einzelnen Knoten auf freifunk-karte.de landen musst du in den API-File eine Liste der Nodes einbauen:

"nodeMaps": [
    {
        "url": "http://link.zur.nodeliste",
        "technicalType": "nodelist",
        "mapType": "list/status"
    }
],

Das Schema für die Datei mit der Knotenliste findest du hier: de-map/nodelist-schema-1.0.1.json at master · ffansbach/de-map · GitHub

Das Ganze sieht dann etwa so aus:

{
"version": "1.0.0",
"updated_at": "2015-03-10 12:08:09+01:00",
"community": {
    "name": "Name der Community",
    "href": "http://link.zum.apifile"
},
"nodes": [
    {
        "id": "123",
        "name": "Name des Knotens",
        "node_type": "AccessPoint",
        "href": "https://link.zu.den.statistiken",
        "status": {
            "online": true,
            "clients": 0,
            "lastcontact": "2015-03-10 12:05:09+01:00"
        },
        "position": {
            "lat": "xx.xxxxxxx",
            "long": "xx.xxxxxxx"
        }
    },
...

freifunk-karte.de ist von @StilgarBF. Die Freifunk-API selbst wird von @andibraeu betreut.

2 Likes

@Sacerdos82 großartig geschrieben und zusammen gefasst.

@FFBa bei Fragen und Detailproblemen gern auch an mich.

Grüße
Tino

1 Like

Schlage vor diesen Text unter anderer Überschrift („API für freifunk-karte.de erstellen“ o.ä.) unter Technik>Erklärbär zu veröffentlichen.

@Sacerdos82 machst du das? :slight_smile:

1 Like

Danke für die Blumen :slight_smile: … mache ich.

Also gut, habe das Api file erstellt.
http://vpn1.freifunk-bamberg.de/ffapi/ffba-api.json

hoffe habe da alles richtig.
Wie kann ich die eintragung machen lassen? wo muss ich hinschreiben?

die frage zur nodes.json, die müsste ja aus den Mapdaten erstellt werden, wie mach ich das am besten? Mit der Hand schreiben ist heftig, das ist ja dann fast nen fulltine job wenns das ganze mal größer wird.

Der Entwickler weg wäre das github repo zu forken, eine Änderung zu machen und dann einen PullRequest. Du kannst aber auch versuchen ein Ticket auf GitHub - freifunk/directory.api.freifunk.net: directory of all freifunk communities zu erstellen und um Aufnahme deiner api-datei zu bitten.

Hier habt da eine ffmap - die wird in die karte importiert. in dem falls muss die nodelist nicht extra erstellt werden. - dürft ihr aber natürlich machen.

@FFBa nachtrag noch: trage doch im API.-File noch state - > nodes die Anzahl der aktiven nodes ein.
Diese Information wird auf freifunk.net genutzt.
Muss nicht immer Tagesaktuell sein - einfach gelegentlich aktualisieren.

"state": {
 "nodes": 3,
 "focus": [
   "infrastructure/backbone",
   "Public Free Wifi",
   "Free internet access"
 ],
"lastchange": "2015-03-10T13:00:25.835Z"

},

OK, Pullrequest und fork ist raus.
Nodes ist auch drinn, jetzt heisst es denke ich mal warten…

Ich hätte da mal 'ne dämliche Frage:

Alle Nodes in der Region Aachen (für Menschen weiter weg: das ist am westlichen Rand der Republik) tauchen auf http://www.freifunk-karte.de/ auf mit „Freifunk Rheinland e.V.“ als Community (das ist ja noch halbwegs richtig, auch wenn bei den Wuppertalern, Troisdorfern und den Ruhrgebietlern eine genauere Angabe steht), aber als Link hinter „Freifunk Rheinland e.V.“ wird (soweit ich gesehen habe, überall auf der Karte) http://freifunk-ratingen.de/ genommen. Das ist nun wirklich völliger Murks.

Wie kommt das zustande und kann man das irgendwie reparieren?

Falls es hilft: Das Aachener API-File findet sich unter http://www.freifunk-aachen.de/acffapi.json.

[quote=„HeptaSean, post:10, topic:3285, full:true“]Das ist nun wirklich völliger Murks.
[/quote]
Unerfreulich, aber gleich Murks?

Das liegt daran, dass keiner so recht weiß was Metacommunities sind. Ich auch nicht.

Die Karte ordnet alle Communities, die eine Metacommunity angeben, dieser zu. Es wird dann also nicht „Freifunk Kleinkleckerdorf“ angezeigt, sondern „Freifunk Region WeitWech“.

Nun gibt jede Community eine eigene Webseite an, aber aus dem Api-file geht nicht hervor, ob diese Seite zur Community, oder zur Metacommunity gehört.
Was soll ich also tun?

Ich merke mir beim ersten Auftreten der Metaconmmunity die angegebene Webseite und hoffe, dass das passt.
Theoretisch könnte ich auch zu jeder einzelcommunity die Seite mitnehmen, das wiederspricht aber irgendwie wieder dem, was ich unter der Metacommunity verstehe. (weil einen namen anzeigen, aber auf x-.Seiten verlinken)

Im idealfall (Meiner bescheidenen Meinung nach) würde im Api-File auch die Seite der Metacommunity stehen und eindeutig von der Communityseite (die nicht alle Communities einzeln haben) unterscheidbar sein.
Ganz super wäre natürlich ein Meta-Community-Api-File, dass die Infos der Metacommunity zusammen fasst und auf das in den Community-files verwiesen wird.
Also " ich bin Community xyz - hier sind meine Infos, und hier ein Link zu Infos meiner Metacommunity"

Aber das war so nicht gewünscht auf FF-Api-Seite

hoffe, das bringt Licht ins Dunkel.
Anregungen nehme ich gern an.

Ah, ich bitte um Entschuldigung!

Schriftliche Kommunikation … das war tatsächlich ein freundlich betontes „Murks“, wie ich auch meinen eigenen Code gelegentlich „völliger Murks“ nenne. Sorry!

Ich würde denken, dass es relativ sicher ist anzunehmen, dass die URL zur Community gehört.
Die Struktur des [API-Generator-Formulars][1] und der [von ihm generierten Files][2] ist da absolut einig mit dem [Haupt-Use-Case][3].
[1]: http://freifunk.net/api-generator/
[2]: http://www.freifunk-aachen.de/acffapi.json
[3]: http://freifunk.net/wie-mache-ich-mit/community-finden/

Also, ich fände es super, wenn es konsistent zu http://freifunk.net/wie-mache-ich-mit/community-finden/ wäre.

Dort liegt der Link hinter dem Community-Namen (der bei freifunk-karte.de gar nicht mehr auftaucht, was ich auch sehr unglücklich finde) und der Meta-Community-Name steht rein informativ da drunter oder auch nicht.

Das dürfte sein, wofür die meisten Communities ihre API-Files gestrickt haben, oder?

Also, ich fände es super, wenn es konsistent zu http://freifunk.net/wie-mache-ich-mit/community-finden/ wäre.

Dort liegt der Link hinter dem Community-Namen (der bei freifunk-karte.de gar nicht mehr auftaucht, was ich auch sehr unglücklich finde) und der Meta-Community-Name steht rein informativ da drunter oder auch nicht.

Das dürfte sein, wofür die meisten Communities ihre API-Files gestrickt haben, oder?
[/quote]

Es war eine Anforderung von den Freifunk.net-machern, die Metacommunity zu zeigen und nicht die Einzelcommunity.
In Franken ists z.b. so (gewesen?) dass die einzelcommunities als Gruppen garnicht so sehr existierten, sondern nur räumliche Abgrenzungen waren und letztlich doch alles eine gemeinsame Seite, netmon etc hatte.

Das meinte ich mit der Aussage, dass keiner so recht weiß, was die Meta ist oder sein soll.

Ich sehe das problem durchaus auch.

Denkbar wäre:
Meta und Community anzeigen. also beides.
Immer auf Webseite aus dem jeweiligen Api-File verlinken.

Ja, super, genau so.

1 Like