Skip to content

Repository files navigation

visFramework

This readme contains information on how to build and run the framework. You can find the full documentation in /docs/documentation.md.

  1. visFramework
    1. Building
    2. Running on a Single Device
    3. Running for Multiple Devices
    4. Sharing a Session via Share Button and Connector
    5. Usage
    6. Authors
    7. License

Building

This is optional, the development version (not minified) works without building.

  1. Install Node.js
  2. Run npm install
  3. For building a development version of the library run npm run build:development
  4. For building a minified version of the library run npm run build:production

If you added or removed any files, you need to make sure that the build.js file contains all JavaScript files!

Running on a Single Device

Open index.html for the development version or index_production.html for the production version with a web browser.

Running for Multiple Devices

If you want to display views on separate devices, you have to start the included websocket server via npm start. The server runs on port 80 by default, you can configure this in pakcage.json

The main part of the framework with the toolbar is then available on the local machine at http://127.0.0.1/?channel=1.

Now choose a data provider, simulation and the visFramework as visualization to display any data.

In another browser tab or on another device you can now access any of the currently displayed views via http://<ipaddress>/?channel=1#<viewname> (example: http://127.0.0.1/?channel=1#filterInfo).

Sharing a Session via Share Button and Connector (deactivated in example)

For this feature the framework must be served via a Node.js server.

  1. Make sure that all Node.js modules are installed (npm install in the project root)
  2. Start the server with npm start
  3. In the session you want to share, press the share button on the right side of the toolbar
  4. On a second client choose the Synchronized VF-Clients connector

Usage

Information on the usage is shown on a help page. Click the (?) button on the top-right or select (?) Help & Information from the menu if the page is shown in a narrow viewport.

Help for a view is shown when hovering, clicking or tapping the view's title.

Authors

Authors of this project (comprising ideas, architecture, and code) are:

This project and code was mainly developed by:

  • USTUTT - University of Stuttgart, Institute for Visualization and Interactive Systems
  • DFKI - German Research Center for Artificial Intelligence

Parts of the project and code were developed as part of the EU H2020projectCIMPLEX - Bringing CItizens, Models and Data together in Participatory, Interactive SociaLEXploratories.

Futher partners that deliver data and simulations via webservice access are:

  • ETHZ (ETH Zurich)
  • UCL (University College of London)
  • Közép-európai Egyetem (Central European University, CEU)
  • ISI (Fondazione Istituto per l'Interscambio Scientifico)
  • CNR (National Research Council)
  • FBK (Bruno Kessler Foundation)

Client External Dependencies

The table below lists all used external libraries and their respective uses in the client.

NameUsed forLicense *
Bootstrapgeneral page layoutMIT License
Colorbrewercolor palettes that are used in color mappingApache License 2.0
Crossfilterdata filteringApache License 2.0
d3 v3utility functions, scaling, interaction, colors and timeline.BSD 3-clause "New" or "Revised" License
d3 v4updated packages for some functionalityBSD 3-clause "New" or "Revised" License
d3forcebundleforce directed edge bundling with d3GNU General Public License v2.0
Font AwesomeiconsSIL OFL 1.1 (font), MIT License (code)
gLayerscanvas Layer for LeafletMIT License
jLouvaincommunity detectionMIT License
jQueryHTTP requests and DOM manipulationMIT License
Leafletgeographic mapBSD 2-clause "Simplified" License
MustacheHTML logic-less templatesMIT License
Sortableview drag and drop to reorder viewsMIT License
inflection.jsword inflectionMIT License
cimplex-decodera decoder library for cimplex servicesApache License 2.0
cimplex-globea library for visualizing data on the globeApache License 2.0
socket.ioSocket.IO enables real-time bidirectional event-based communication.MIT License

* as of 2018-01-22

Server External Dependencies

The table below lists all used external libraries and their respective uses in the server.

NameUsed forLicense *
socket.ioSocket.IO enables real-time bidirectional event-based communication.MIT License
expressFast, unopinionated, minimalist web framework for node.MIT License
uuidFast, unopinionated, minimalist web framework for node.MIT License
wsimple to use, blazing fast and thoroughly tested WebSocket client and server for Node.jsMIT License

* as of 2018-01-24

Tile providers used in example

  • Tileset light_gray, light_gray(no labels), dark and dark(no labels) © OpenStreetMap &copy CartoDB
  • Tileset sattelite © Esri — Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community

Additional contributions

License

See LICENSE.

Releases

Packages

Contributors

Languages