This directory contains a script that is meant to be used with the following drawio plugin:
https://msdl.uantwerpen.be/git/jexelmans/drawio/src/master/src/main/webapp/myPlugins/dtdesign.js
The plugin uses the backend to:
gradle) and load them into a running Fuseki instance.On top of the dependencies listed in this repo's main README, you also need:
PATH/TO/SDO2L.gradle will be invoked by the backend script, so it needs to be in your PATH)
When building the backend (or the service monitor, see below) with Nix, all dependencies are taken care of automatically. The complete dependency graph of the service monitor (and hence, the Docker container), can be observed in dependencies.svg.
There are three ways to run the backend:
In order to run the backend script directly, there are some prerequesites:
gradle startFuseki in PATH/TO/SDO2L)dtdesign-backend PATH/TO/SDO2LTo use the backend, you also need to host a version of the drawio webapp that has the dtdesign-plugin enabled. Any static web server (e.g., Nginx, Lighttpd, Apache, ...), serving the following directory as its root will work:
https://msdl.uantwerpen.be/git/jexelmans/drawio/src/master/src/main/webapp/
The file service-monitor.nix contains a recipe for a service monitor script (and its dependencies), that will start, monitor, and cleanly stop the following services:
This allows running the DTDesign demo as if it were a single application.
To use the script, first build it:
nix-build service-monitor.nix
This places a symlink result in the current directory, that can be run. The only configuration parameter needed by this script is the PROJECTDIR environment variable, which should point to PATH/TO/SDO2L:
PROJECTDIR=PATH/TO/SDO2L ./result
To end the script, hit Ctrl+C in the same terminal and all services will be cleanly shut down.
A Docker container that contains the service monitor script and all its dependencies, as well as a clone of the SystemDesignOntology2Layers OML project.
To build the container:
nix-build docker.nix
This places a symlink result in the current directory, pointing at a Docker container image file.
Pre-built containers are regularly uploaded in this directory:
https://msdl.uantwerpen.be/cloud/public/dfbe22
Just download the latest container version there.
To run the container, load the container image, then create and start an instance:
docker load < container.tar.gz # load the image
docker run --network host dtdesign:XXX # create and start an instance - replace XXX by the hash printed by the previous command
Once the backend, Fuseki and drawio web server are running, navigate to the following URL: