Probleme beim Ausprobieren des QA catalogue

Ich probiere zum ersten Mal den QA catalogue aus und schaffe es nicht, eine MARC-Datei zu validieren :sweat_smile: Wahrscheinlich sitzt das Problem vor dem Terminal, daher frage ich hier mal rum, bevor ich eine Issue im Github öffne.
Meine catalogues/test.sh sieht so aus:

#!/usr/bin/env bash

. ./setdir.sh

NAME=test
TYPE=xml
if [[ $TYPE == "marc" ]]; then
  echo "marc"
  TYPE_PARAMS="--marcVersion DNB"
  MARC_DIR=${BASE_INPUT_DIR}/test/marc
  MASK=*.mrc
elif [[ $TYPE == "xml" ]]; then
  echo "xml"
  TYPE_PARAMS="--marcVersion DNB --marcxml"
  MARC_DIR=${BASE_INPUT_DIR}/test/marc
  MASK=*.xml
else
  echo "else: ${TYPE}"
fi

. ./common-script

Die MARC-Datei liegt in input/test/marc/test-output-0.xml.

Beim Versuch die Datei zu validieren kommt folgender Output:

phu@hp470:~/qa-catalogue$ catalogues/test.sh validate
xml
2024-04-10 12:50:15> input:  ./input/test/marc/*.xml
2024-04-10 12:50:15> output: ./output/test
2024-04-10 12:50:15> logs:   ./input/_reports/test
[validate]
2024-04-10 12:50:15> ./validate --details --trimId --summary --format csv --defaultRecordType BOOKS --outputDir ./output/test --detailsFileName issue-details.csv --summaryFileName issue-summary.csv --marcVersion DNB --marcxml ./input/test/marc/test-output-0.xml
/usr/bin/java -Xmx8g -cp target/qa-catalogue-0.8.0-SNAPSHOT-jar-with-dependencies.jar de.gwdg.metadataqa.marc.cli.ValidatorCli --details --trimId --summary --format csv --defaultRecordType BOOKS --outputDir ./output/test --detailsFileName issue-details.csv --summaryFileName issue-summary.csv --marcVersion DNB --marcxml ./input/test/marc/test-output-0.xml
2024-04-10 12:50:15> do_validate_sqlite
2024-04-10 12:50:15> run 'validate sqlite'
[validate sqlite]
2024-04-10 12:50:15> php scripts/sqlite/normalize-issue-details.php ./output/test
2024-04-10 12:50:15> create DB structure
2024-04-10 12:50:15> create importable files
tail: './output/test/issue-summary.csv' kann nicht zum Lesen geöffnet werden: Datei oder Verzeichnis nicht gefunden
2024-04-10 12:50:15> import issue details
2024-04-10 12:50:15> import issue summary
2024-04-10 12:50:15> delete importable files
2024-04-10 12:50:15> index
2024-04-10 12:50:15> DONE in 00:00:00

Was mache ich falsch?

Ich verwende übrigens die Docker-Version mit diesem Image Package qa-catalogue · GitHub

2 Likes

Der Fehler liegt darin, dass catalogues/test.sh validate nicht im Docker-Container ausgeführt wird.
In der README steht ist ein Hinweis auf das Hilfsskript ./docker/qa-catalogue, das das eigentliche Skript im Container ausführt.
Mir ist nicht klar, wie das aktuelle Docker-Setup genutzt wird. Es scheint nur rudimentär konfiguriert zu sein (z. B. landet der output im input-Verzeichnis auf dem Host).

Der in der README verlinkte Blogpost Running QA catalogue with Docker - Metadata Quality Assessment Framework ist leider veraltet.

1 Like

Danke, ich habe den Link rausgenommen und jemanden darauf angesetzt, die aktuelle Anleitung auszuprobieren, wo etwas unverständlich ist oder nicht funktioniert.

Es gibt zwei Methoden, qa-catalogue auszufühen:

  1. (eigenes) Skript unter catalogues (geht nicht mit Docker)
  2. Skript qa-catalogue bzw. ./docker/qa-catalogue

Ich empfehle die zweite, d.h. ignoriere das catalogues Verzeichnis und rufe qa-catalogue bzw. ./docker/qa-catalogue direkt oder via einem eigenen bash-skript auf. Intern sind beide Varianten Wrapper um ./common-script.sh, aber das sollte nicht direkt aufgerufen werden.

Danke, Jakob. Spricht etwas dagegen, den catalogues-Ordner in den Container zu mounten und die Skripte darin genauso zu nutzen wie auf dem Host ohne Docker?

Wahrscheinlich macht ein eigener Abschnitt „Nutzung mit Docker“ Sinn. Ich würde so eine Doku auch schreiben, wenn ich mit dem Ausprobieren etwas weiter bin.

1 Like

Wir wollen den QA catalogue einsetzen, das würde ich gern mit Docker machen.
Es wäre cool, wenn wir einen Einblick bekommen könnten, wie der QA catalogue anderswo produktiv eingesetzt wird.

Wenn man das Docker image lokal bauen will, muss man zurzeit vorher auf dem Host den SNAPSHOT-Release der Anwendung bauen, siehe GitHub - pkiraly/qa-catalogue: QA catalogue – a metadata quality assessment tool for library catalogue records (MARC, PICA) Ich war davon ausgegangen, dass dieser Schritt auch mit/in Docker gemacht wird.

Hab mal ein Vorschlag gemacht, damit das möglich ist: Add docker volume for scripts under ./catalogues · Issue #456 · pkiraly/qa-catalogue · GitHub

Ich möchte einen eigenen Katalog z. B. ./catalogues/test.sh (siehe den ersten Beitrag) verwenden. In der Web-Oberfläche unter /qa-catalogue/?tab=completeness&lang=en kommt die Meldung

Unable to open database: bad parameter or other API misuse: /opt/qa-catalogue/output/qa-catalogue/qa_catalogue.sqlite

Der Pfad stimmt nicht (es müsste output/test/ sein, nicht output/qa-catalogue/), wo kann man das ändern?
Im Dockerfile wird nur das (Basis-)Verzeichnis dir konfiguriert.
Laut Anleitung muss noch catalogue konfiguriert werden. Das habe ich in der web-config/configuration.cnf versucht mit catalogue=test, ändert aber nichts.

Man muss noch mehr konfigurieren, siehe ERROR: Failed to read analysis result. · Issue #462 · pkiraly/qa-catalogue · GitHub

Ich habe zuerst ein MARC-Datensatz analysiert. Später dann weitere 6 Mio. Im „Issues“-Tab der Webanwebdung wird immer noch 1 record angezeigt. Wie kann man die Anzeige aktualisieren?

Unter den Reitern „Data“ und „Completeness“ werden die 6 Mio. angezeigt.

@nichtich @pkiraly Hättet ihr mal Zeit für eine Hands-on Einführung aka Workshop in die Verwendung des QA catalogue?
Vielleicht haben noch andere Interesse an so einer EInführung?

2 Likes

Sure, good idea. Do you have a suggestion for a date?

1 Like

Großartig! :pray:
Hier einige Vorschläge:

  • Dienstag, 07.05. 10 Uhr
  • Mittwoch, 08.05. 10 Uhr
  • Mittwoch, 08.05. 14 Uhr
0 Teilnehmer

Wir sollten vielleicht eine Stunde einplanen? Ich will nicht zu viel Zeit von Euch beanspruchen.

1 Like

@petra_maier @TobiasNx Wollt ihr auch abstimmen?

I have a meeting at 15:00 Mittwoch, 08.05, so we can do it at 14:00 as well, but we should stop it at 15:00, and I am not sure if we can do it in one hour.

I guess you already overcame the problems, but it might help others. I just fixed some parts of docker and its documentation, and I created a Wiki page: Docker · pkiraly/qa-catalogue Wiki · GitHub.

Wir sollten am Mittwoch um 14 Uhr starten, dann können alle dabei sein. Ich habe ein Event angelegt: QA catalogue Mini-Online-Workshop für Newbies