Metadaten-Export

ZVDD METS/MODS

Problematik

Der Export für das Zentrale Verzeichnis Digitalisierter Drucke stellt besondere Formatanforderungen an das auszuliefernde MODS/METS.

Damit Metadaten vom ZVDD akzeptiert werden, müssen sie den Validator des ZVDD passieren. Ein nicht-Bestehen der Validierung hat die Ablehnung der Datensätze zur Folge.

Möglich Gründe für Validierungsfehler sind:

  • Das ZVDD erwartet Daten, die im Katalog nicht zur Verfügung stehen.
  • Divergierende Interpretation der MODS-Felder zwischen ZVDD und VLS.

Als Antwort auf dieses Problem, bietet die OAI <apis/oai/full> Export-Schnittstelle des VLS Abfrageformate an, die speziell auf die Anforderungen des ZVDD zugeschnitten sind.

Diese werden über den OAI-Parameter metadataPrefix angesteuert:

  • zmods für zvdd-geprüfte MODS-Ausgabe
  • zmets für zvdd-geprüfte METS-Ausgabe (mit eingebettetem MODS)

Vorgehen

Die Überprüfung der Daten beim ZVDD erfolgt mit Hilfe eines Schematron-Stylesheets. Dieser Validator, in seiner aktuellen Version 2.1, wird von VLS genutzt, um die Validität eines jeden über OAI abfragbaren Datensatzes zu beurteilen. Diese Beurteilung wird als zmods_validation Status am jeweiligen Datensatz gehalten. Ebenso wird die Begründung für den jeweils aktuellen Statuswert gespeichert.

Der Job OaiOutputValidator leistet die beschriebene Validierung der Datensätze und setzt den für den Export benötigten Validierungsstatus zmods_validation. Dazu wird für jeden Datensatz das ZMETS der OAI-Schnittstelle abgefragt - der Job nutzt also die gleiche API auf der auch das Harvesting durch das ZVDD erfolgt.

Das ZVDD hat ordnet Validierungprobleme gemäß ihrer Schwere in Klassen ein. Diese werden gemäß folgender Tabelle in zmods_validation Statuswerte überführt:

ZVDD-Fehlerklasse zmods_validation Status Export bei Freigabe
Validierung ausstehend zmods_validation:undefined Nein
error zmods_validation:invalid Nein
warn zmods_validation:valid_warn Ja
info zmods_validation:valid_warn Ja
keine Probleme gefunden zmods_validation:valid_valid Ja

Jeder Datensatz generiert häufig mehrere Fehlermeldungen unterschiedlicher Schwere. Die Fehler oder Anmerkungen werden in der oben stehenden Reihenfolge ausgewertet. Wird mindestens ein error gemeldet, so ist der Datensatz invalid. Wir kein error gemeldet, wird auf das Vorhandensein von level warn geprüft usw. Unabhängig vom letztendlich vergebenen zmods_validation Status, werden sämtliche ZVDD-Validator Meldungen aller Schweregrade zu späteren Auswertung gespeichert.

Nur Datensätze im Zustand zmods_validation:valid und zmods_validation:valid_warn werden für den Export in Betracht gezogen. Zusätzlich ist der Export an den Freigabestatus gekoppelt. Nur Datensätze die valide _und_ freigegeben sind, sollen in den OAI-Kanal gelangen. Daher steuert ein zusätzlicher Status zmods_export:export die eigentliche Ausgabe, wenn beide Bedingungen (valide und freigegeben) erfüllt sind.

In vielen Fällen ist es möglich, bestimmte ZVDD-Validierungsprobleme auf Basis der vorhandenen Daten zu beheben. VLS analysiert die Daten und nimmt die notwendigen Manipulationen bei einer ZMETS/ZMODS-Abfrage automatisch vor. Der zmods_validation Status bildet also den besten, mit VLS-Mitteln erreichbaren, Validierungszustand ab.

Konfiguration und Aktivierung

Zur Aktivierung genügt es sicherzustellen, dass folgende Domain-Konfigurationsoptionen gesetzt sind:

  • oai.formats.zmets.on = true (notwendig)
  • oai.formats.zmods.on = true (sinnvoll)

Initial ist der OaiOutputValidator Job einmalig im mode=‘zmets’ zu starten. Dieser erste Durchlauf kann einige Stunden in Anspruch nehmen. Dabei werden alle Metadaten-Knoten:

  1. mit state zmods_validation:undefined initialisiert.
  2. erstmalig validiert und das Ergebnis gespeichert.

    Der Job kann, wie üblich, in der root-domain gestarted werden.
    Alle tiefer liegenden Domains in denen zmets aktiv ist, werden dadurch evaluiert. https://fqdn/dname/admin/jobs/qs#OaiOutputValidator
    (fqdn: fully qualified domain-name; dname: Domainkürzel)

Der Job: OaiOutputValidator sollte in den Job-Scheduler eingetragen werden, sodass er täglich ausgelöst wird. Ein guter Zeitpunkt wäre vor der Abfrage der Daten durch den oai-Harvester des ZVDD. Bei diesen täglichen Durchläufen werden die Datensätze einer domain ermittelt, die sich seit dem letzten Durchlauf des OaiOutputValidator in irgend einer Weise verändert haben. Das ZMETS dieser Datensätze, sowie aller ihrer Überordnungen und Unterordnungen, wird daraufhin re-validiert.

Die Freigabe eines Datensatzes löst ebenso eine Revalidierung aus.

Analyse

Die Validierungsstatistiken sind unter folgender Route einsehbar:

https://fqdn/dname/qa/oaivalidator (fqdn: fully qualified domain-name; dname: Domainkürzel)

Dort wird im oberen Bereich eine Übersicht des Validierungsstatus zmods_validation mit der Anzahl der sich im jeweiligen Zustand befindlichen Datensätze angeboten. Eine kleine Auswahl an Beispieldatensätzen (im rechten Bereich), ermöglicht die Begutachtung der Datensätze auf der OAI-Schnittstelle.

Zur Betrachtung der Beispielabfragen wird die Schnittstelle mit dem query-Parameter diag=true angewiesen, eine Validierung der Daten vorzunehmen und das Resultat, neben weiteren Diagnoseinformationen, im Bereich oai:record/oai:about/vls:diagnostics auszugeben. Hier finden sich detaillierte Informationen zum Validierungszustand vor jeglichen ZVDD-Konformitäts-Manipulationen, genaue Daten und Logs zu ausgeführten Manipulationen sowie das End-Validierungsergebnis.

Tatsächlich ist dies genau der Bereich, der durch den OaiOutputValidator Job ausgewertet wird. Die Abfrage ist, durch die Validierung, je nach abgefragter VLID, sehr resourcenintensiv und kann längere Zeit in Anspruch nehmen.

OAI Output Validator QAStats

Weiterhin steht eine genaue Auflistung sämtlicher gefundenen Validierungsfehler zur Verfügung. Die ZVDD-Fehlerklasse in der ersten Spalte entspricht den oben aufgelisteten <mdexport/zvdd/statesmap> Werten.

Im rechten Bereich ist jeder einzelne Fehler mit seiner offiziellen Kennung, Beschreibung und Beispielen aufgelistet. Die Zahlen hinter der Fehlerkennung (z.B.: MODS-AP-Kap-0 [7/9]) geben Auskunft darüber, wie häufig VLS dazu in der Lage war, den Fehler selbst so zu korrigieren, dass der Validator nichts zu beanstanden hatte. Hier also in sieben von neun Fällen.

Die Links zu den Beispielrequests auf der OAI-Schnittstelle sind dementsprechend eingefärbt:

  • grün: Problem konnte behoben werden
  • rot: Problembehebung nicht erfolgt oder fehlgeschlagen.

OAI Output Validator QAStats Probleme

Die gleichen Informationen werden Jobreport des OaiOutputValidator für den jeweiligen Job-Durchlauf visuell aufbereitet: https://fqdn/dname/admin/jobreport/jobid

OAI Output Validator JobStats