Crates.io | annis-web |
lib.rs | annis-web |
version | 0.2.0 |
source | src |
created_at | 2023-10-24 12:57:28.553477 |
updated_at | 2023-10-30 18:53:22.454885 |
description | This is an experimental version of ANNIS corpus search frontend. |
homepage | https://github.com/korpling/annis-web/ |
repository | https://github.com/korpling/annis-web/ |
max_upload_size | |
id | 1012340 |
size | 3,978,879 |
ANNIS is an open source, versatile web browser-based search and visualization architecture for complex multilevel linguistic corpora with diverse types of annotation. This is an experimental version of ANNIS trying to rethink the user interface and implementation of the ANNIS frontend.
The experimental is very limited in its feature set, and only supports exporting the results as CSV for now. Additional features, like other exporters or a frequency analysis will be added later.
ANNIS 4 is based on a web-frontend library called Vaadin 8. Since Vaadin 8 is end-of-life and receives no further updates, we have to rethink the whole technical application stack of the ANNIS frontend. Updating to Vaadin 23 is practically a complete rewrite, so we should be open about which Programming Languages and Frameworks we use. Especially, porting the different visualizers might become a larger struggle. This project is meant to create an experimental prototype with a Rust-based framework and technologies and to create a usable next generation of the ANNIS frontend step-by-step. While Vaadin 7/8 was around as Open Source for a long time, we are even more conservative when choosing the new technology, so it will work for a long time.
You need to install Rust to compile the project. We recommend installing the following Cargo subcommands for developing annis-web:
When developing, you can run a web server that is automatically re-compiled when any of the source files changes.
cargo watch -x 'run -- --session-file annis-frontend-sessions.db'
You will need a Chromium/Chrome browser and the matching chromedriver
binary
installed to execute the tests. Before running the tests, start chromedriver
on port 4444.
chromedriver --port=4444
If the Chromium/Chrome binary is installed as a snap, you might have to change
the temporary directory by setting the TMPDIR
environment variable.
mkdir -p "${HOME}/tmp/"
TMPDIR="${HOME}/tmp/" chromedriver --port=4444
Then run the tests in another terminal.
cargo test
To execute the tests and calculate the code coverage, you can use cargo-llvm-cov
:
cargo llvm-cov --open --ignore-filename-regex 'tests?\.rs'