hopglass/README.md

138 lines
4.1 KiB
Markdown
Raw Normal View History

2015-04-01 17:49:12 +02:00
[![Build Status](https://travis-ci.org/tcatm/meshviewer.svg?branch=master)](https://travis-ci.org/tcatm/meshviewer)
2015-04-01 17:07:04 +02:00
# Meshviewer
Meshviewer is a frontend for
[ffmap-backend](https://github.com/ffnord/ffmap-backend).
2015-04-11 13:48:16 +02:00
[Changelog](CHANGELOG.md)
2015-04-01 17:07:04 +02:00
# Screenshots
![](doc/mapview.png?raw=true)
![](doc/graphview.png?raw=true)
![](doc/allnodes.png?raw=true)
![](doc/links.png?raw=true)
![](doc/statistics.png?raw=true)
2015-03-29 14:49:59 +02:00
# Dependencies
2015-03-29 01:09:21 +01:00
2015-03-29 14:49:59 +02:00
- npm
- bower
- grunt-cli
2015-04-14 21:45:43 +02:00
- Sass (>= 3.2)
2015-03-29 01:09:21 +01:00
2015-03-29 14:49:59 +02:00
# Installing dependencies
2015-03-29 01:09:21 +01:00
Install npm and Sass with your package-manager. On Debian-like systems run:
2015-04-25 18:23:20 +02:00
sudo apt-get install npm ruby-sass
2015-04-25 18:23:20 +02:00
Execute these commands on your server as a normal user to prepare the dependencies:
git clone https://github.com/tcatm/meshviewer.git
cd meshviewer
2015-03-29 14:49:59 +02:00
npm install
2015-04-25 18:23:20 +02:00
npm install bower grunt-cli
node_modules/.bin/bower install
2015-03-29 03:46:10 +02:00
2015-04-21 00:10:29 +02:00
# Configure
Copy `config.js.example` to `config.js` and change it to match your community.
## dataPath (string)
`dataPath` must point to a directory containing `nodes.json` and `graph.json`
(both are generated by
[ffmap-backend](https://github.com/ffnord/ffmap-backend)). Don't forget the
trailing slash! Data may be served from a different domain with [CORS enabled].
Also, GZip will greatly reduce bandwidth consumption.
## siteName (string)
Change this to match your communities' name. It will be used in various places.
2015-03-29 03:46:10 +02:00
2015-04-21 00:10:29 +02:00
## mapSigmaScale (float)
This affects the initial scale of the map. Greater values will show a larger
area. Values like 1.0 and 0.5 might be good choices.
## showContact (bool)
Setting this to `false` will hide contact information for nodes.
2015-04-26 13:12:11 +02:00
## maxAge (integer)
Nodes being online for less than maxAge days are considered "new". Likewise,
nodes being offline for less than than maxAge days are considered "lost".
## nodeInfos (array, optional)
This option allows to show client statistics depending on following case-sensitive parameters:
- `name` caption of statistics segment in infobox
- `href` absolute or relative URL to statistics image
- `thumbnail` absolute or relative URL to thumbnail image,
can be the same like `href`
- `caption` is shown, if `thumbnail` is not present (no thumbnail in infobox)
To insert current node-id in either `href`, `thumbnail` or `caption`
you can use the case-sensitive template string `{NODE_ID}`.
Examples for `nodeInfos`:
"nodeInfos": [
2015-05-21 22:56:08 +02:00
{ "name": "Clientstatistik",
"href": "nodes/{NODE_ID}.png",
"thumbnail": "nodes/{NODE_ID}.png",
"caption": "Knoten {NODE_ID}"
},
{ "name": "Uptime",
"href": "nodes_uptime/{NODE_ID}.png",
"thumbnail": "nodes_uptime/{NODE_ID}.png",
"caption": "Knoten {NODE_ID}"
}
]
In order to have statistics images available, you have to run the backend with parameter `--with-rrd` or generate them in other ways.
## globalInfos (array, optional)
This option allows to show global statistics on statistics page depending on following case-sensitive parameters:
- `name` caption of statistics segment in infobox
- `href` absolute or relative URL to statistics image
- `thumbnail` absolute or relative URL to thumbnail image,
can be the same like `href`
- `caption` is shown, if `thumbnail` is not present (no thumbnail in infobox)
In contrast to `nodeInfos` there is no template substitution in `href`, `thumbnail` or `caption`.
Examples for `globalInfos`:
"globalInfos": [
{ "name": "Wochenstatistik",
"href": "nodes/globalGraph.png",
"thumbnail": "nodes/globalGraph.png",
"caption": "Bild mit Wochenstatistik"
},
{ "name": "Jahresstatistik",
"href": "nodes/globalGraph52.png",
"thumbnail": "nodes/globalGraph52.png",
"caption": "Bild mit Jahresstatistik"
}
]
In order to have global statistics available, you have to run the backend with parameter `--with-rrd` (this only creates globalGraph.png) or generate them in other ways.
2015-04-21 00:10:29 +02:00
# Building
2015-04-25 18:23:20 +02:00
Just run the following command from the meshviewer directory:
2015-03-29 03:46:10 +02:00
2015-04-25 18:23:20 +02:00
node_modules/.bin/grunt
2015-03-29 03:46:10 +02:00
This will generate `build/` containing all required files.
2015-04-21 00:10:29 +02:00
[CORS enabled]: http://enable-cors.org/server.html