-
Deployment instructions for FCS Endpoint Tester/Validator, FCS SRU Aggregator and FCS Korp Endpoint
-
NOTE: This is about the now legacy FCS endpoint tester, see Section: FCS Endpoint Validator for the updated and rewritten validator!
-
WebApp for testing the compliance with the FCS specification of endpoints
-
Deployment: clarin.ids-mannheim.de/srutest
-
Java 8; Vaadin 7.7.15 (UI)
-
Installation uses SNAPSHOT versions of the SRU/FCS libraries, and normally reserved functions to validate the SRU/FCS protocols
SRU/FCS SNAPSHOT libraries must be installed directly from Git
$ git clone https://github.com/clarin-eric/fcs-sru-client.git && cd fcs-sru-client
$ mvn install
$ git clone https://github.com/clarin-eric/fcs-simple-client.git && cd fcs-simple-client
$ mvn install
Build with Maven
$ git clone https://github.com/clarin-eric/fcs-endpoint-tester.git && cd fcs-endpoint-tester
$ mvn clean package
Deployment with Jetty on http://localhost:8080/
$ JETTY_VERSION="9.4.51.v20230217"
$ wget https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/${JETTY_VERSION}/jetty-distribution-${JETTY_VERSION}.zip && unzip jetty-distribution-${JETTY_VERSION}.zip && rm jetty-distribution-${JETTY_VERSION}.zip
$ cd jetty-distribution-${JETTY_VERSION}/
$ java -jar start.jar --add-to-start=http,deploy
$ cd webapps/ && cp ../../target/FCSEndpointTester-X.Y.Z-SNAPSHOT.war ROOT.war && cd ..
$ java -jar start.jar
Create Docker Image
$ git clone https://github.com/clarin-eric/fcs-endpoint-tester.git && cd fcs-endpoint-tester
$ docker build -t fcs-endpoint-tester .
Run Container
$ docker run --rm -it -p 8080:8080 fcs-endpoint-tester
-
This is a updated and completely rewritten SRU/FCS Endpoint Validator based on FCS Endpoint Protocol Conformance Tester. It allows to inspect HTTP requests/responses and store validation results in addition to more test cases.
-
WebApp for testing the compliance with the SRU/FCS specification of FCS endpoints
-
Deployment: fcs-validator.data.saw-leipzig.de
-
Multi-module maven project
-
(standalone) JUnit5 test runner with test cases, Java 11
-
Vaadin 24 UI with SpringBoot, Java 17
-
Build with Maven
$ git clone https://github.com/saw-leipzig/fcs-endpoint-validator.git && cd fcs-endpoint-validator
$ mvn clean package install
Deployment with SpringBoot on http://localhost:8080/ (might automatically open a new browser tab)
$ cd fcs-endpoint-validator-ui/
$ mvn spring-boot:run
Download sources:
$ git clone https://github.com/saw-leipzig/fcs-endpoint-validator.git && cd fcs-endpoint-validator
Create docker-compose.yml
deployment description:
version: '3'
services:
fcs-endpoint-validator:
build:
context: .
dockerfile: fcs-endpoint-validator-ui/Dockerfile
container_name: fcs-endpoint-validator
ports:
# default, public 8080 to docker container 8080
- 8080:8080
restart: unless-stopped
Run Docker-Compose deployment:
$ docker compose build
$ docker compose down -v
$ docker compose up -d
-
Primary FCS client application
-
Central search interface for users,
“aggregates” FCS search queries to/from distributed endpoints
-
Deployments:
-
CLARIN: contentsearch.clarin.eu + (Alpha / Beta instances)
-
Text+: fcs.text-plus.org (Alpha instance)
-
-
Registry of endpoints in Centre Registry + side loading
-
Deployment instructions found in the repo in
DEPLOYMENT.md
Build application (native)
$ git clone https://github.com/clarin-eric/fcs-sru-aggregator.git && cd fcs-sru-aggregator
$ ./build.sh --jar
Configuration (endpoint sideloading + logging) in aggregator_devel.yml
(aggregator.yml
for production deployment)
-
aggregatorParams
→additionalFCSEndpoints
-
logging
→loggers
Running on http://localhost:4019/
$ ./build.sh --run
Create Docker Image
$ git clone https://github.com/clarin-eric/fcs-sru-aggregator.git && cd fcs-sru-aggregator
$ docker build --tag=fcs-aggregator .
Run Docker Container
$ touch fcsAggregatorResources.json fcsAggregatorResources.backup.json
$ docker run -d --restart unless-stopped \
-p 4019:4019 -p 5005:5005 \
-v $(pwd)/aggregator.yml:/work/aggregator.yml:ro \
-v $(pwd)/fcsAggregatorResources.json:/var/lib/aggregator/fcsAggregatorResources.json \
-v $(pwd)/fcsAggregatorResources.backup.json:/var/lib/aggregator/fcsAggregatorResources.backup.json \
fcs-aggregator
-
Reference endpoint for Korp corpus search engine
-
Example → Korp-API publicly accessible, no further configuration required for testing
-
Code:
-
Java: github.com/clarin-eric/fcs-korp-endpoint
-
Python: github.com/Querela/fcs-korp-endpoint-python
-
-
Deployment(s):
-
Språkbanken (Göteborg): https://spraakbanken.gu.se/ws/fcs/2.0/endpoint/korp/sru
-
CLARIN-DK-UCPH (Copenhagen S): https://alf.hum.ku.dk/korp/fcs/2.0/endpoint/sru
-
…
Build Application
$ git clone https://github.com/clarin-eric/fcs-korp-endpoint.git && cd fcs-korp-endpoint
$ mvn clean compile war:war
Deployment then with Jetty/Tomcat etc. analogous to the FCS Endpoint Tester
Prepare Deployment
$ git clone https://github.com/Querela/fcs-korp-endpoint-python.git && cd fcs-korp-endpoint-python
$ python3 -m venv venv && source venv/bin/activate
$ python3 -m pip install -e .
Test Deployment (http://localhost:8080)
$ python3 -m korp_endpoint
Productive deployment with Docker (http://localhost:5000)
$ docker build --progress=plain -t korpy .
$ docker run --rm -it -p 5000:5000 korpy