-
Notifications
You must be signed in to change notification settings - Fork 3
Setup Guide
DRES consists of two components: The backend and the frontend, each subdirectories of this repository. The backend is written in Kotlin, hence requires a JVM, and the frontend is written in Angular using Angular-CLI. However, the entire setup process is Gradle based. To setup DRES, follow these steps:
- Clone or Download this repository
- Build DRES using Gradle
$> ./gradlew distZip
(alternatively$> ./gradlew distTar
) -
Updating DRES: Pull from the repo and execute
$> ./gradlew clean distZip
.
Both the backend and the frontend have several properties which can be configured using a json configuration file.
The backend looks for a file named config.json
at the location from where it is started. If this file is not found, default values are used for all configurable settings. To use a different configutation file, pass its path as the first parameter when starting the backend. The configuration file is structured as follows. All values are optional and overwrite the defaults listed below, if set.
{
"httpPort": 8080, //the port to be used for HTTP
"httpsPort": 8443, //the port to be used for HTTPS, if enabled
"enableSsl": true, //specifies if HTTPS is supposed to be enabled. If set to true, HTTP connections will be upgraded
"keystorePath": "keystore.jks", //path to the Java Key Store file to be used for the SSL certificate
"keystorePassword": "password", //password for the Key Store file
"externalPath": "./external", //path for external media items
"dataPath": "./data", //path where the local database is to be stored
"cachePath": "./cache" //path where pre-rendered media items are to be stored
}
Using the DRES CLI, the help
command lists available commands and their usage. If one would like to know more about a certain command, use the argument -h
.
Following the first steps towards a successful installment of a (distributed) retrieval evaluation campagn. A prerequisit is the previous deployment, see Setup and a running DRES instance.
Using the CLI, the following command creates your first administrator user with the username admin
and the password password
(Do not use this user in production).
DRES> user create -u admin -p password -r ADMIN
Additional users are required in order to perform an evaluation. At least one user per participating system instance
(i.e. with -r PARTICIPANT
). To simply have a user to view competitions, but otherwise not interact with the system,
we recommend to create a viewer user: -r VIEWER
.
Again, using the CLI one can create the very first media collection, called first
.
This assumes you already have a folder with multimedia content for the collection at path/to/media
.
DRES> collection create -n first -d "A desription of the collection" -p path/to/media
Then, there are several ways to import the actual multimedia content. The easiest way (but might take a while) is to use the scan command:
DRES> collection scan -c first -vt mp4
Obviously, for an image collection one would replace -vt mp4
with -it png
or -it jpg
. For mixed collections, use both.
The next step is to create a competition. This is done using the web frontend of DRES. Using your browser, navigate to your DRES address and perform the login using the administrator user created previously.
Then, navigate to Competition Builder and create a new competition. Follow the instructions there.
A competiton serves as the template for one or more competition runs. Please keep in mind, that once a run was created, changes on the competition are not reflected in the run.
Competition runs are created from the Competitoin Runs view, where one uses the "+" button to create a new one. Currently (DRES v0.3.2), only SYNCHRONOUS runs are supported, so please chose this option.
In a non distributed setting, it might be desirable, that participants cannot view the actual run from the frontend, but require an external source for the query hints (e.g. a large monitor). This could be achieved by unchecking the corresponding option in the dialog.
As competition operator, one has to first start the run, then switch to a fitting task and ultimately start the task. Query hints are displayed as configured to all viewers, once they are all loaded (depending on the setup, this might take a breif moment). Viewers and participants are shown the message "Waiting for host to start task". In case this seems to take too long, the operator can switch to the admin view and force all participants to be ready, by clicking the red ones.