Kustvakt

Kustvakt is a user and policy management component for KorAP. It manages user access to resources (i.e. corpus data) that is typically bound with some licensing schemes. The licensing schemes of the IDS resources provided through KorAP (DeReKo) are very complex involving the access location and purposes (Kupietz & Lüngen, 2014). To manage user access to resources, Kustvakt performs query rewriting with document restrictions.

Kustvakt acts as a middleware in KorAP binding other components, such as Koral a query serializer and Krill a search component, together. As KorAP's API provider, it provides services, e.g. searching and retrieving annotation data of a match/hit, that can be used by a client, e.g. Kalamar (a KorAP web user interface) and KorapSRU (the CLARIN FCS endpoint for KorAP).

Versions

  • Kustvakt lite version

    provides basic search and match info services without user and policy management.

  • Kustvakt full version

    provides user and policy management and extended services (e.g. resource and annotation services) in addition to the basic services.

Prerequisites

Jdk 1.7, Git, Maven 3.

Setup

Clone the latest version of Kustvakt

Since Kustvakt requires Krill and Koral, please install Krill and Koral in your maven local repository. Adjust the versions of Krill and Koral in Kustvakt/core/pom.xml according to the versions in Koral/pom.xml and Krill/pom.xml.

Install Kustvakt-core in your maven local repository

Packaging Kustvakt full version

The jar file is located in the target/ folder.

Packaging Kustvakt lite version

The jar file is located in the target/ folder.

If there are errors regarding tests, please skip the tests.

Setting kustvakt configuration file

Copy the default Kustvakt configuration file (e.g. core/src/main/resources/kustvakt.conf or lite/src/main/resources/kustvakt-lite.conf), to the same folder as the Kustvakt jar files (/target). Please do not change the name of the configuration file.

Set krill.indexDir in the configuration file to the location of your Krill index (relative path). In Kustvakt root directory, there is a sample index, e.g.

Optional custom configuration

Changing Kustvakt server port and host

Changing Kustvakt service base URI

By default, Kustvakt service base URI refers to /api/*

Running Kustvakt Server

Requires kustvakt.conf in the same folder as the jar file. Otherwise assuming sample-index located in the parent directory of the jar file.

Futher Setup for Developer

For working with an IDE, you need to install lombok for your tool. Go to the directory of your lombok.jar, e.g .m2\repository\org\projectlombok\lombok\1.16.6 and run

Restart your IDE and clean your project.

In an IDE, you can run KustvaktLiteServer or KustvaktServer as a normal Java application.

Known issues

Tests are verbose - this is no indication for an error.

Usage

Kustvakt service base URI runs by default at

Examples

Search

Retrieve match annotation information

Examples of services in full version only

Retrieve descriptions of all supported annotation layers.

Retrieve annotation descriptions of a list of foundries (POST request).

Retrieve descriptions of free resources.

Publication

Bański, Piotr/Diewald, Nils/Hanl, Michael/Kupietz, Marc/Witt, Andreas (2014): Access Control by Query Rewriting. The Case of KorAP. In: Proceedings of the Ninth Conference on International Language Resources and Evaluation (LREC’14). European Language Resources Association (ELRA), 2014. S. 3817-3822.

References

Kupietz, Marc/Lüngen, Harald (2014): Recent Developments in DeReKo. In: Calzolari, Nicoletta et al. (eds.): Proceedings of the Ninth International Conference on Language Resources and Evaluation (LREC'14). Reykjavik: ELRA, 2378-2385.