VisITMeta is an experimental IF-MAP 2.2 compliant MAP client written in Java that visualizes metadata stored on a MAP server. It supports features like showing a history of all metadata stored on a MAPS, using filter and search techniques to navigate the metadata as well as some visualization techniques like animations, highlighting and so on. Development was done by Hochschule Hannover (University of Applied Sciences and Arts, Hanover) within the VisITMeta research project, (support code 17PNT032) which is funded by the german BMBF (Federal Ministry of Education and Research).
The VisITMeta software consists of two main components:
- dataservice:
The dataservice component is responsible for collecting metadata from a MAP server.
Currently works with one subscription, and so records all data it can get with that
subscription.
Metadata is stored via a
neo4j
database, with timestamps attached to save the information, when this metadata was created, changed and deleted.
The dataservice component is the only component in VisITMeta, that is talking IF-MAP
with a MAP server.
Every other component, like the visualization component, connects via a REST
-like
interface to get the current MAP graph, the graph at a specific timestamp or the
changes between two timestamps, as well as a list of all timestamps with the number
of changes (separated into updates and deletes).
This allows arbitrary clients work with the history of metadata collected by the dataservice.
- visualization: The visualization component is a GUI that displays the information gathered by the dataservice. Metadata is rendered a graph, with different colors for different publisher IDs and highlighting changes in the graph. It supports navigating through the metadata via panning and zooming, as well as navigating through all timestamps of the metadata.
The list of visualization features is going to change over the duration of the project.
This section describes, how to build VisITMeta from scratch.
In order to build VisITMeta with Maven you need to install Maven 3 manually or via the package manager of your operating system.
Now you can build VisITMeta, simply execute:
$ mvn package
in the root directory of the VisITMeta project (the directory
containing this README
file). Maven should download all further
needed dependencies for you.
After a successful build you should find a zip-archive called
visitmeta-distribution-<version>-bundle.zip
in
visitmeta-distribution/target
.
This section describes the configuration needed to get VisITMeta working.
To use VisITMeta you need to have a MAP server running.
Make sure that a basic-authentication user exists in the corresponding
configuration file of your MAP server.
On irond, it would be basicauthusers.properties
.
If not present, add the line
visitmeta:visitmeta
at the end of the file.
VisITMeta itself has to be configured, too.
Inside the config
directory, you find all needed configuration files.
Most settings will work just fine in your environment (or when using our irondemo environment), but you maybe have to adjust at least the following entries:
-
dataservice_connections.yml
- default.url = The default URL of your MAP server (default: http://localhost:8443)
- default.identifierType = The default type of the start identifier for VisITMeta (default: device)
- default.identifier = The default value of the start identifier for VisITMeta (default: pdp)
-
Start a MAP server, e.g. irond (Download section at [Trust@HsH website] 12 or via [Github] 6
-
Change your working directory to the root directory of the VisITMeta project.
-
Start VisITMeta:
First, you must start the dataservice-component via
$ sh start-dataservice.sh
Afterwards, you can start the visualization-component (or at any later time, as the dataservice is already recording and providing the complete history). Start the GUI via
$ sh start-visualization.sh
- Publish some data:
Within the scripts
directory, you will find some Shell scripts that work with our
ifmapcli-tools and will publish and delete some metadata, so that you can test the
history-feature of VisITMeta.
If you have any questions, problems or comments, please contact [email protected]
VisITMeta is licensed under the Apache License, Version 2.0.
The visualization component uses the Java Swing Range Slider source code from Ernie You (Github).
The corresponding license is provided with the file LICENSE-swingRangeSlider.txt in the
root-directory of visitmeta-distribution
.