Meshviewer - Development

Die Umbenennung in „Hopglass“ erfolgte letztes Jahr nach diesem Posting:

Darauf hin hiess das dann „Hopglass“

Hallo,

@adorfer Der Name ist OK, ich hab auch mit Nils geschrieben. Warum Hopglass „Hopglass“ heißt hat auch eventuell nicht so ersichtliche Gründe. Es gibt auch Sachen und Kommunikation die nicht im Forum nicht breit getreten wird.

@MPW ich hatte auch ein paar Sachen an Hopglass commited. Codestyle hat mir absolut nicht gefallen und @PetaByteBoy wollte es wegen Kompatibilität nicht ändern (verstehe ich völlig). Dann hab ich den Fork aus beiden und einige Sachen der Issuelisten erstellt. Da manche Features Geschmackssache sind, hab ich auch paar Sachen rausgeworfen. Wir orientieren uns an an keinem der beiden.
Wir haben aktuell > 210 Commits und einige Sachen sind in Arbeit. Wir haben neben Features auch alle Libarys aktualisiert, also grunt v1 bzw. inzwischen gulp, Leaflet v1 usw. (siehe liste im Repo).

Viele Gruesse
Xaver

2 Likes

nice, verzichtet ihr wirklich auf den Netwerk Graphen? das is hart, vor allem wenn nicht alle Knoten geocoordinaten haben, oder „experten“ 10 Knoten die gleiche Geokoordinate geben

@fuzzle ? Wir haben den Graph drinnen nur mit D3.js v4 und nicht v3.

1 Like

Hallo,

so noch ein Test :smile: der groessere Auswirkungen auf den Meshviewer hat und noch nicht final ist. Es geht um Router (URL).

Zu finden unter und in der „Developer Console“ werden immer deep links ausgeben (Links in der GUI keine deep links, außer View toggle)

Beispiele:
Sprache (Verbesserungspotenzial da, Router wird erst später geladen)

Sprache, View, Link:

EDIT:
Location verlinken

Alle Parameter sind optional. Geplant in der Zukunft sind zudem noch Filter und Location.
https://github.com/ffrgb/meshviewer/issues/83

EDIT:
LIVE :slight_smile: - Links updated

Viele Gruesse
Xaver

(PS; Update den auch abundzu, daher kann auch ein teil der Beschreibung fehlerhaft sein)

4 Likes

Hallo,

aktueller Test mit umgebauter Sidebar - Header bleibt immer auch bei nodes, location und link.
EDIT:
Bei uns inzwischen live:
https://regensburg.freifunk.net/netz/karte/

gruss
xaver

PS: Ist das OK, wenn ich für neue Features einen neuen Post mache (groessere Änderungen/visuelle Unterschiede/Bedienung)? Feedback ist willkommen oder Ideen.

2 Likes

So jetzt ist vom Performance „Project“ auch der letzte (aktuelle) Punkt gefallen. :tada:
Virtual-dom wurde ersetzt.
https://github.com/ffrgb/meshviewer/projects/1
(Werde das Project sicher noch mit ein oder anderen Task fuellen. Muss mal wieder schauen wo aktuell die groessten Bottlenecks sind.)

Neben schnellerem Aufbau merkt man die Verbesserung auch bei Filter Operationen.

4 Likes

So jetzt verfügt der forcegraph wieder über Animation und das heran zoomen von aufrufen direkt via URL klappt wesentlich besser.

GW filter und GW Ausgabe bei der Node wurde auf Wunsch hinzugefügt. GWs werden nicht wie in anderen Implementierungen über eine Liste gepflegt, sondern alle mit dem gw flag ist eine Liste und diese löst die Namen auf.

Ansonsten noch paar andere Sachen wie Libary Updates oder kleinere Modifikationen (inkl fix vom Meshlink count, tilte-tag Umbau usw.).

Moin, ist leider gerade nicht erreichbar.

Sry, ja es gab ein technisches Problem am Cluster. SSD Cache kaputt, Daten werden migriert usw. und da wir das gestellt bekommen und nichts zahlen, waren wir eine niedrige Priorität. Jetzt ist der Server umgezogen und wenn der DNS durch ist sollte es gehen. Google DNS Flush ist passiert.

EDIT:
Das Backup hat leider nicht den aktuellen Stand. muss das nochmal deployen.

EDIT2:
So wieder deployed - strg + F5 - JS hat dann ein cache breaker.

2 Likes

Hallo,

Entwicklung geht weiter:

  • Neuer Kartenserver läuft (Update von Zoomlevel und attribution nötig)
  • Umbau nodes.json ist in zusammen spiel mit yanic an der Reihe. Aktuell wird ein massiver Overhead mit ausgeliefert (ca. 50%), aber auch ein paar neue Informationen. Aktuell noch am planen und testen.
  • Kleinere Bugfixes und Updates

Viele Gruesse
xaver

PS:
Kann leider nicht meinen ersten Post updaten (kaputter Link) usw.

3 Likes

Sag mal kann dieser MV auch mit nodes.json Version 1 umgehen und hat er multi nodes.json support um mehrere jsons auf der gleichen Karte anzeigen zu können?

  1. Nein, es gibt ein Konverter Script - das war mal drin, Das kostet Leistung und kannte keine Community mit v1. Hätte eher ein Proxy Script gebaut. Wir planen ja auch v2 den Rücken zu kehren. Beispielsweise möchte ich einige Sachen viel dynamischer bauen Wenn möglich via Config Felder definieren die ausgeben werde (wenn alles klappt). Als Backend Yanic (und jeder andere der irgendwie so raus bekommt - Vorteil von dynamischen config wenns geht).
  2. Ja
1 Like

Hast du da mal einen Link?

Muss mal schauen - das war mal im Code drin - eigentlich wandelt es nur etwas die Struktur um. Hab mich nie mit v1 groß beschäftigt.

Das wäre super da wir derzeit noch auf v1 hängen und das aus Gründen derzeit auch nicht ändern können.

Wollte gerade drauf schauen, aber es sind keine CORS gesetzt und kann daher die JSON nicht laden.

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://mesh.freifunknord.de/data/nodes.json. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).

https://hessen.meshviewer.net

Da hatte ich und gut den meisten Hirnschmalz hatte sheogorath reingesteckt damals eine Meshviewer (v4) version gebaut welche nodes.json v1 und v2 verarbeiten konnte.

müsste dieser commit gewesen sein.

das wäre schon mal eine Umwandlung von v2 in v1. Aber in diesem Fall brauchen wir eine Wandlung von v1 nach v2, damit der hopglass eine v2 von uns bekommen kann.

Hier ist auch ein script, das das neue v2 Format in das alte v1 umformatiert: GitHub - Freifunk-Nord/nord-ffmap-backend

Es gibt aber doch bestimmt irgendwo schon ein bash- oder jq-Script, das einfach eine nodes.json v1 in v2 umwandeln kann mit ein paar jq befehlen, oder?

Hier ist auch noch mal ein codeschnipsel, der helfen könnte eine invers funktion zu erstellen:

Damit kann man im hopglass-server eine nodes.json im v1 format erstellen, siehe hopglass README option in „possible-webserver-queries“:

/mv1/nodes.json 	Meshviewer nodes.json v1

Allerdings ist das alles noch keine Lösung für uns.

  • Entweder brauchen wir in Nord und Hamburg einen Workaround, der aus unserer nodes.json v1 eine neuere v2 erstellt, damit hopglass damit läuft
  • oder wir müssen unser generate_aliases.py Script neu erstellen, das in die nodesV1 die geokoordinaten reinrechnet damit es dies auch in einer nodes.jsonV2 reinrechnen kann, so dass wir gleich das neuere Format benutzen können. Dazu hab ich das hier von @kantorkel gefunden: was hat es mit dem generate_aliases_v2.py auf sich? Ist das für eine nodes.json im v2 format gedacht? Oder ist das nur eine neue version des scripts und das v2 hat nichts mit nodes.json v2 zu tun?