Geronimo: Unterschied zwischen den Versionen
(ersten Ideen, morgen gehts weiter) |
(weitere Ergänzungen) |
||
Zeile 2: | Zeile 2: | ||
Geronimo ist ein zentrales Informationsframework, dass insbesondere die Kartendarstellung unterstützt. | Geronimo ist ein zentrales Informationsframework, dass insbesondere die Kartendarstellung unterstützt. | ||
* Datenquelle [[ondataservice]] (per [[OLSR]] AP Infos sammeln) | * Datenquelle [[ondataservice]] (per [[OLSR]] AP Infos sammeln) | ||
− | * Karten-Darstellung mit [[Openlayers]] | + | * Karten-Darstellung mit verbesserter [[Openlayers]] Karte |
==Ziele== | ==Ziele== | ||
Zeile 17: | Zeile 17: | ||
*mehr Informationen (Kanäle) | *mehr Informationen (Kanäle) | ||
*optimiertes UI | *optimiertes UI | ||
− | |||
− | |||
− | |||
==To do== | ==To do== | ||
Zeile 26: | Zeile 23: | ||
* <s>leere Felder weglassen in final weglassen</s> | * <s>leere Felder weglassen in final weglassen</s> | ||
* Wiki auswerten | * Wiki auswerten | ||
− | **ein ressourcenschonender Wiki | + | **ein ressourcenschonender Wiki-Reader ist in der Entwicklung |
**Ansprechpartner, Standort, Foto des APs aus Wiki finden | **Ansprechpartner, Standort, Foto des APs aus Wiki finden | ||
**[[:Vorlage:accesspoint]] für verteilte Wartung der Daten einführen | **[[:Vorlage:accesspoint]] für verteilte Wartung der Daten einführen | ||
Zeile 38: | Zeile 35: | ||
==Architektur== | ==Architektur== | ||
− | + | Der Quellcode liegt in einem [http://svn.on-i.de/listing.php?repname=on_geronimo&path=%2F&sc=0 eigenen SVN Repository] und ist komplett in Python geschrieben. Er gliedert sich in zwei Hauptmodule | |
− | *Backend | + | *geronimo.py - Backend, das die Daten zusammensammelt |
− | * | + | *geronimoCGI.py - HTTP Frontend ([http://cherrypy.org CherryPy]), dass an Apache gekoppelt wird |
− | + | Der Datenaustausch erfolgt über die Dateien nodes.cache, links.cache (Pickle Framework) und die interne Repräsentation über einfache Objekte (siehe primitives.py). Die Backend Module, welche die Daten einsammeln liegen unter /helpers (zur Zeit nur ondataservice DB und OLSR lastseen CSV) und diese werden über config.ini mit den richtigen Pfaden versorgt. | |
− | + | ||
− | + | Das Frontend liefert derzeit geoJSON und kann wie folgt aufgerufen werden: | |
− | + | <pre> | |
+ | http://www.opennet-initiative.de/api/node/neighbours?ip=192.168.1.59 | ||
+ | http://www.opennet-initiative.de/api/nodes/online/ | ||
+ | http://www.opennet-initiative.de/api/nodes/offline/ | ||
+ | http://www.opennet-initiative.de/api/links/online/ | ||
+ | </pre> | ||
+ | Letztere können auch mit einer Suchbox mit Mercator Koordinaten gefiltert werden | ||
+ | <pre> | ||
+ | http://www.opennet-initiative.de/api/links/online?bbox=11.925507659912,54.040317086552,12.314492340088,54.119673430674 | ||
+ | </pre> | ||
+ | Das ganze wird durch eine verbesserte Version der [[Openlayers]] Karte im Browser angezeigt und liegt unter ./src/www. | ||
+ | |||
===Ablauf=== | ===Ablauf=== | ||
Zeile 53: | Zeile 61: | ||
==Einrichtung== | ==Einrichtung== | ||
− | Der Dienst läuft derzeit auf dem WWW Server und ist unter '''/var/www/geronimo/src''' zu finden | + | Der Dienst läuft derzeit auf dem WWW Server ([[Server/on-v6]]) und ist unter '''/var/www/geronimo/src''' zu finden |
− | In der '''config.ini''' sind die Pfade entsprechend der lokalen Einrichtung zu setzen. Das Unterverzeichnis ./www muss dann dem '''Apache''' zugänglich und über diesen statisch freigegeben werden. Außerdem muss eine zusätzliche URL (z.Z. | + | In der '''config.ini''' sind die Pfade entsprechend der lokalen Einrichtung zu setzen. Das Unterverzeichnis ./www muss dann dem '''Apache''' zugänglich und über diesen statisch freigegeben werden. Außerdem muss eine zusätzliche URL (z.Z. www.on-i.de/api/) per WSGI mit geronimoCGI.py verknüpft werden. Diese öffentliche URL muss anschließend in ./www/index.html als BASE_URL=* eingetragen werden. |
[[Category:Software]] | [[Category:Software]] |
Version vom 30. Dezember 2012, 13:40 Uhr
Geronimo ist ein zentrales Informationsframework, dass insbesondere die Kartendarstellung unterstützt.
- Datenquelle ondataservice (per OLSR AP Infos sammeln)
- Karten-Darstellung mit verbesserter Openlayers Karte
Inhaltsverzeichnis |
Ziele
- Vereinheitlichung der Daten (AP namen, Daten , ...)
- Zusammenfassung aller Informationsquellen (OLSR, ondataservice, Wiki, ...)
- lose Kopplung (REST API, Erweiterbarkeit, ...)
- flexible Datengenerierung
- Speicherung Langzeitinfos
Openlayers
(Kartendarstellung im Web)
- sofortige ondemand Updates der Daten
- schnelleres laden (geoJSON, BBOX, ...)
- mehr Informationen (Kanäle)
- optimiertes UI
To do
-
Ablösung der Minikarte (Anzeigen der Nachbarn) -
Datenmenge reduzieren -
leere Felder weglassen in final weglassen - Wiki auswerten
- ein ressourcenschonender Wiki-Reader ist in der Entwicklung
- Ansprechpartner, Standort, Foto des APs aus Wiki finden
- Vorlage:accesspoint für verteilte Wartung der Daten einführen
- Kanal/SSID Ansicht für Links
- zur Zeit nicht sinnvoll machbar, da viele APs keine Daten per OLSR liefern, was wohl an veralteter Firmware liegt
- UGW Erreichbarkeit eines Knotens
- Formatierung mit pylint prüfen
- Code cleanup
- Openlayers schrumpfen
- Wifidog Funkkegel anpassbar machen
Architektur
Der Quellcode liegt in einem eigenen SVN Repository und ist komplett in Python geschrieben. Er gliedert sich in zwei Hauptmodule
- geronimo.py - Backend, das die Daten zusammensammelt
- geronimoCGI.py - HTTP Frontend (CherryPy), dass an Apache gekoppelt wird
Der Datenaustausch erfolgt über die Dateien nodes.cache, links.cache (Pickle Framework) und die interne Repräsentation über einfache Objekte (siehe primitives.py). Die Backend Module, welche die Daten einsammeln liegen unter /helpers (zur Zeit nur ondataservice DB und OLSR lastseen CSV) und diese werden über config.ini mit den richtigen Pfaden versorgt.
Das Frontend liefert derzeit geoJSON und kann wie folgt aufgerufen werden:
http://www.opennet-initiative.de/api/node/neighbours?ip=192.168.1.59 http://www.opennet-initiative.de/api/nodes/online/ http://www.opennet-initiative.de/api/nodes/offline/ http://www.opennet-initiative.de/api/links/online/
Letztere können auch mit einer Suchbox mit Mercator Koordinaten gefiltert werden
http://www.opennet-initiative.de/api/links/online?bbox=11.925507659912,54.040317086552,12.314492340088,54.119673430674
Das ganze wird durch eine verbesserte Version der Openlayers Karte im Browser angezeigt und liegt unter ./src/www.
Ablauf
- cronjob ruft geronimo.py auf
- WSGI generiert Seiten mittels geronimoCGI.py (Cherrypy framework)
- Features nodes, links, neighbours, bbox
Einrichtung
Der Dienst läuft derzeit auf dem WWW Server (Server/on-v6) und ist unter /var/www/geronimo/src zu finden In der config.ini sind die Pfade entsprechend der lokalen Einrichtung zu setzen. Das Unterverzeichnis ./www muss dann dem Apache zugänglich und über diesen statisch freigegeben werden. Außerdem muss eine zusätzliche URL (z.Z. www.on-i.de/api/) per WSGI mit geronimoCGI.py verknüpft werden. Diese öffentliche URL muss anschließend in ./www/index.html als BASE_URL=* eingetragen werden.