Ffmap-backend und meshviewer

Der einfachste Fall wäre also, man definiert einen Mittelpunkt und einen max. Radius? Denke das ließe sich recht einfach einbauen…

Die Paderborner Map hat schon eine „Beim nächsten Klick Koordinaten anzeigen“-Funktion. Meintest du die? Falls nicht, könntet ihr die Funktion ja vielleicht übernehmen :slight_smile:

Der Link zum Git findet sich unter „Über“.

Das dürfte es sein. Es gibt da einen Pullrequest, aber ich bin mit dem Code noch nicht zufrieden. Ich finde das Feature ist auch nicht sonderlich dringend, da Gluon sowieso bald mal lernen soll selbst eine Karte anzuzeigen.

Ich habe das Repository tcatm/meshviewer nun gelöscht. Mir wird schon wieder, ähnlich wie bei ffmap-d3, schon wieder darum herumgebastelt ohne dass Code ordentlich zurückfließt und Leute fangen auch schon wieder an wilde Mergescripte zu schreiben anstatt den Code sauber in ffmap-backend einzubauen.

Das nächste Meshviewerrelease gibt es dann als vorkompilierten Javascript Tarball, in den man nur noch die config.json einfügen muss.

Schade. Trotzdem Danke für deine unermüdliche Arbeit.

Hmmm… finde ich schräg wenn ich so ehrlich sein darf.
Das Du in Deine Version nur sauberen Code übernehmen magst ist ja okay, aber ist es nicht gerade der Open-Source Gedanke, dass jeder damit machen darf? Dann gibt es halt Dirty-Hack Versionen neben Deiner. Ist das wirklich schlimm? Was gut ist kannst Du ja übernehmen… Ich finde den Gedanken gezielt die Mitgestaltung zu verhindern überhaupt nicht witzig. Ich sehe den Freifunk als Community Plattform. Angenommen Du schmeißt mal, hast gesundheitliche Probleme oder sonstwas. Soll die Community wirklich auf eine Plattform setzen die darauf angelegt ist, dass nur ein Entwickler daran arbeiten kann?
Ich begrüße Deine Ansprüche an Code, den Du akzeptierst sehr. Das Du andere ausgrenzt ist Mist und wirft Fragen auf. Ich persönlich würde es bevorzugen auf offene Technik zu setzen, die ggf. auch wer weiterentwickeln kann. Im konkrete Kontext hoffe ich, dass jemand einen Link zu seiner Kopie des Repos postet und dann ist gut. Ich finde Deine neue Philosophie inkompatibel mit dem Freifunk Gedanken. Sorry. Deine Arbeit ist wirklich super. Diese Aktion ist es hingegen nicht. Das ist Ego vor Community. Das ist imho ein Holzweg.

Edit: Hier ein Fork: GitHub - ffac/meshviewer: http://draic.info/meshviewer/

4 „Gefällt mir“

Der Source liegt nun unter http://draic.info/meshviewer/ und Patches kann man an meshviewer@draic.info richten. Vielleicht funktioniert das besser.

1 „Gefällt mir“

Hey,
hier haste nen Patch! Jo, danke, ich guck mal, ob der taugt.

Hier wär noch ein Bug, fix das mal.

Was ist das überhaupt?

Was hast du zuletzt geändert?

Boah, nervt das. Lass mal etwas entwickeln, irgendetwas mit Versionsverwaltung und Arbeit abnehmen.

Deine Reaktion auf schlechten Code ist merkwürdig. Hast du die Leute, die wilde Mergescripte schreiben, mal angehauen und erklärt wie es besser wäre?

Super, das original ist wieder da:

Danke! :blush:

Kann man irgendwie noch die Verknüpfungen zu den Forks bei github wieder herstellen?
Nachtrag: nein:

A new repository that was never part of the original fork network cannot be added to the fork network.
The owner of the repository that was deleted will need to contact us separately about this though.

Man sieht die ganzen Forks zumindest nun in freifunk-darmstadt/meshviewer der nun der neue upstream ist.

Hier eine Liste aller forks: https://github.com/rubo77/meshviewer-1/blob/master/NETWORK.md

3 „Gefällt mir“

@tcatm ich würde mir wünschen, wenn man das „nodedb“-Verzeichnis auch via Commandline-Option übergeben kann.

Der Hintergrund ist, dass manche Domains unterschiedliche Instanzen für Städte/Communities nutzen, also eigene Interfaces für Batman und fastd - somit auch für Alfred. Deshalb muss das Backend mit unterschiedlichen Sockets/Interfaces und Verzeichnissen aufgerufen werden.

Da aber leider das „nodedb“-Verzeichnis nicht übergeben werden kann, muss unnötiger Weise das Backend mehrmals vorhanden sein.

for INSTANZ in niers mo kk mg
do
    /opt/ffmap-backend-$INSTANZ/backend.py \
       -d /var/lib/ffmap-backend/$INSTANZ/ \
       -a /opt/ffmap-backend-$INSTANZ/aliases.json \
       -m bat0-$INSTANZ:/var/run/alfred/$INSTANZ.sock \
       -p7 --with-rrd
done

Wie du in diesem Beispielaufruf siehst, könnte man das ganze auf eine lokale Kopie des Backends reduzieren, wenn auch das „nodedb“-Verzeichnis ausgelagert werden könnte. Zwar gibt es in den unterschiedlichen Instanzen keine Überschenidungen bei den MAC-Adressen, aber die „nodes.rrd“ wird von jeder Instanz erzeugt.

Danke und Gruß
Dominique Görsch

1 „Gefällt mir“

Eigentlich erfülle ich keine Wünsche, aber das war jetzt einfacher einzubauen als darum zu bitten, dass sich jemand anders bemüht. Ich hab mal eine Bitcoin-Addresse eingerichtet: 1Eo4R9rumM5FCwC4WcCpKBYiwBbzyFVd2X

3 „Gefällt mir“

Danke für die Änderung. Kann es sein, dass es aktuell ein Problem mit der Erzeugung der Grafiken gibt?
Wenn ich das Backend mit --with-rrd aufrufe, erhalte ich immer:

Traceback (most recent call last):
  File "/opt/ffmap-backend/backend.py", line 186, in <module>
    main(options)
  File "/opt/ffmap-backend/backend.py", line 156, in main
    rrd.update_database(nodedb['nodes'])
  File "/opt/ffmap-backend/lib/rrddb.py", line 32, in update_database
    lambda d: d[1]['flags']['online'], nodes.items()))
AttributeError: 'list' object has no attribute 'items'

Ohne --with-rrd läuft es normal durch. Leider ist mein Python zu beschränkt, um es selber zu debuggen…

Hallo zusammen! Hoffe mir kann jemand hier helfen. Habe den Meshviewer auf http://map.freifunk-lippe.de installiert, aber das Backend erzeugt beim Seitenaufruf nur diese Fehlermeldung: „Unsupported nodes or graph version: 2 1“.

Kann man das irgendwie fixen? Und wenn ja, wie?

Schon mal vielen Dank für eure Hilfe!

Habe es selber hinbekommen. Das Backend war veraltet.

Einen habe ich noch. Wenn ich den Schalter --with-rrd setze, sollen ja nodeInfos und globalInfos erzeugt werden, d.h. .png-Grafiken mit den Infos. Entweder passiert das nicht oder ich finde sie einfach nicht ;-).
Kann mir da jemand einen Tipp geben bzw. beim Troubleshooting behilflich sein?

Hast du es inzwischen herausgefunden?
Die liegen im nodes Verzeichnis. Du musst in der config.json noch etwas eintragen, damit die Bildchen auch im Meshviewer benutzt werden.

Nein, bisher nicht. Eine config.json habe ich nicht, lediglich eine
config.js im Meshviewer-Verzeichnis. Was müsste denn dort konfiguriert
werden?

Mit freundlichen Grüßen
Best regards

Michael Brinkmann

http://freifunk-bad-salzuflen.de

http://map.freifunk-lippe.de

Threema ID: 2TW6WHXH

„nodeInfos“: [
{ „name“: „Statistik“,
„href“: „data/nodes/{NODE_ID}.png“,
„thumbnail“: „data/nodes/{NODE_ID}.png“,
„caption“: „Knoten {NODE_ID}“
}
]

Gibts eine Anleitung, wie man den meshviewer auf debian Wheezy zum laufen kriegt?

ich hab schon npm installiert (nicht in apt vorhanden) mit

curl -sL https://deb.nodesource.com/setup | bash -

dann

sudo apt-get install npm ruby-sass

beim nächsten schritt

npm install

fängt gut an, aber dann bekomme ich nun fehler:

npm http GET https://registry.npmjs.org/grunt-contrib-connect
npm http 304 https://registry.npmjs.org/grunt-contrib-cssmin
npm http 304 https://registry.npmjs.org/grunt
npm ERR! Error: No compatible version found: grunt-contrib-cssmin@'^0.12.2'
npm ERR! Valid install targets:
npm ERR! ["0.4.0","0.4.1","0.4.2","0.5.0","0.6.0","0.6.1","0.6.2","0.7.0","0.8.0","0.9.0","0.10.0","0.11.0","0.12.0","0.12.1","0.12.2","0.12.3","0.13.0","0.14.0"]
...

du wirst mit dem alten Debian auch oft auf alte Pakete stoßen, oder gar nicht vorhandene … debian-backports könnten dir weiterhelfen, weis ich aber nicht genau.
Ich hab vor kurzem nen raspberry pi zum laufen gebracht mit Raspbian (debian auf raspberry pi) … letztendich, viel debuggen und Fehlermeldungen lesen, verstehen und bearbeiten