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-Ausgabezmets
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:
mit state
zmods_validation:undefined
initialisiert.erstmalig validiert und das Ergebnis gespeichert.
Der Job kann, wie üblich, in der root-domain gestarted werden.
Alle tiefer liegenden Domains in denenzmets
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.
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.
Die gleichen Informationen werden Jobreport des OaiOutputValidator
für
den jeweiligen Job-Durchlauf visuell aufbereitet:
https://fqdn/dname/admin/jobreport/jobid