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:
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
Metadata is stored via a
neo4jdatabase, 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
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
README file). Maven should download all further
needed dependencies for you.
After a successful build you should find a zip-archive called
This section describes the configuration needed to get VisITMeta working.
MAP server configuration
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
If not present, add the line
at the end of the file.
VisITMeta itself has to be configured, too.
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:
- 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)
Change your working directory to the root directory of the VisITMeta project.
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:
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 firstname.lastname@example.org
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