Langzeitarchivierung¶
Übersicht¶
Visual Library unterstützt die Auslieferung der wesentlichen Stammdaten eines Titels in ein Langzeitarchiv und die Wiedereinspielung im Fall eines Datenverlustes.
Zur Auslieferung werden die zu einem Titel gehörenden Daten (Metadaten und Ressourcen wie Bilddateien, Volltexte, etc.) mit zusätzlichen Metadaten für den Archivbetreiber versehen und in eine langzeitarchivierbare Datei (SIP, Submission Information Package) überführt. Diese erste Auslieferung wird in Visual Library auch als Master-Kapsel bezeichnet.
Nachfolgende Änderungen an den Stammdaten werden vom VL-Server erkannt und führen zur Auslieferung weiterer Kapseln, welche die inkrementellen Änderungen (und nur diese) enthalten. Diese Ergänzungskapseln werden in Visual Library als Delta-Kapseln bezeichnet und tragen eine fortlaufende Nummer („Generation“).
Zur Wiederherstellung der Stammdaten eines Titels sind die Master-Kapsel sowie alle folgenden Delta-Kapseln notwendig. Diese können aus dem Langzeitarchiv über die Identifikation (z. B. URN) zurückgewonnen werden. Eventuell unterstützt das Langzeitarchiv auch die Zusammenführung dieser Kapseln zu einer Datei (DIP, Dissemination Information Package), die gleichwertig für eine Wiederherstellung verwendet werden kann.
Titel¶
Die Auswahl der Titel, die langzeitarchiviert werden sollen, findet über Statuswerte statt. Gewählt werden kann initial zwischen dem Abhname-, Bearbeitungs- und dem Freigabestatus. Im Standardverhalten werden nur freigegebene Titel archiviert. Die Auswahl beschränkt sich auf Titel, deren Metadatentyp die Eigenschaft „capsuleExport“ aktiviert hat. Dies ist vor der Ablieferung frei konfigurierbar und sollte nach Beginn der Ablieferung möglichst nicht mehr geändert werden. Im Standard wird nach Domaintypen unterschieden; bei elektronischen Pflichtexemplaren beispielsweise werden standardmäßig alle Metadatentypen außer Aufsätzen eigenständig verkapselt, in der Retrodigitalisierung standardmäßig alle Metadatentypen, auch Aufsätze, außer Beilagen und Heften. Die Daten und Ressourcen Metadatentypen, bei denen die Eigenschaft „capsuleExport“ deaktiviert ist, werden in der Kapsel ihrer Überordnung mitverkapselt.
In der VL-Baumstruktur können einem Titel beliebig viele andere Titel untergeordnet sein. Dies betrifft insbesondere mehrbändige Werke und Periodika, kann aber beispielsweise auch bei archivalischen Beständen der Fall sein. Den Überordnungen selbst können dabei Digitalisate zugeordnet sein. Zudem kann sich die Strukturierung im Einzelfall auch nach der initialen Kapsel-Auslieferung ändern.
Dieser Komplexität wird auf einfache Weise Rechnung getragen: Zu jedem exportierten Titel gehört eine Folge von Kapseln (eine Master- und mehrere Delta-Kapseln), die alle Daten in der Baumstruktur abwärts bis zu den untergeordneten Titeln erfassen, die gemäß Konfiguration („capsuleExport“ aktiviert) selbstständig verkapselt werden.
Eine Kapsel zu einem Titel enthält in ihren Metadaten Verweise auf die Metadaten aller ihrer Überordnungen, so dass ihr hierarchischer Zusammenhang vollständig ausgeliefert wird.
Bemerkung
Das Verfahren erfordert die Auszeichnung aller Jahrgänge eines Periodikums als eigenständig verkapselte Metadateneinheit. Insbesondere muss dazu die Zuweisung eines URNs erfolgen, sofern dieser als Kapsel-Identifier genutzt wird. Ansonsten würden alle Jahrgänge in die Kapsel der Überordnung eingeschlossen, die damit in der Regel zu groß werden würde.
Bemerkung
Auch für Überordnungen ohne eigene Digitalisate werden Kapseln gebaut. Diese enthalten dann nur Metadaten-Dateien.
Domainstrukturen¶
Die Titel-Kapseln erfassen nicht alle wesentlichen Stammdaten. So fehlen die oberhalb der Titel liegenden Strukturen wie Sammlungen, Kollektionen und Wiki-Daten, die nicht Teil eines Titels sind.
Alle diese Daten werden jeweils in einer Domain-Kapsel zusammengefasst. Diese referenziert auch die obersten Titel in der Baumstruktur (welche wiederum ihre Unterordnungen referenzieren, u.s.w.).
Diese Strukturen werden sowohl als METS-Datei wie auch als EAD-Datei je Domain ausgeliefert. Wikiressourcen auf Domainebene, darunter Bilder für Wikiseiten, werden in einem zusätzlichen Ordner der Domain-Kapsel ausgeliefert.
Voraussetzung¶
Um die Langzeitarchivierung für eine VL-Instanz zu aktivieren, muss in
der server.ini
der Wert preservation.on=True
gesetzt werden.
Ablauf für Titel¶
Der automatisierte Kapselexport wird über eine Statusmaschine gesteuert, die für jeden Titel den Auslieferungs-Status verwaltet.
Die zugehörigen Serverjobs, die auf die Kapsel-Statuswerte für Titel reagieren, laufen in regelmäßigen Abständen. Der automatisierte Export wird über die Domain-Konfiguration eingestellt.
Kapselerstellung zu prüfen¶
Der Auslieferungsprozess beginnt in der Regel mit der Freigabe eines Werks. Es wird der Status „Kapselerstellung zu prüfen“ vergeben.
In diesem Zustand wird regelmäßig geprüft, ob eine Master- oder in der Folge eine Delta-Kapsel für den Titel gebaut werden muss.
Kapsel zu erstellen¶
Ist noch keine Kapsel vorhanden, so wird der Status auf „Kapsel zu erstellen“ geändert, um die Erstellung der Master-Kapsel zu beauftragen.
Nach Erstellung der Master-Kapsel wird der Status auf „Kapselerstellung zu prüfen“ zurückgesetzt. Hiermit beginnt auch der Ablauf für die Master-Kapsel (s. nächster Abschnitt).
Delta-Kapsel zu erstellen¶
Werden im Status „Kapselerstellung zu prüfen“ Änderungen an den wesentlichen Stammdaten des Titels festgestellt, so wird der Status auf „Delta-Kapsel zu erstellen“ geändert.
Nach Erstellung der Delta-Kapsel wird der Status auf „Kapselerstellung zu prüfen“ zurückgesetzt. Hiermit beginnt auch der Ablauf für die Delta-Kapsel (s. nächster Abschnitt).
Kapselerstellung fehlgeschlagen¶
Tritt ein Fehler während der Erstellung der Master- oder einer Delta-Kapsel auf, so wird der Status auf „Kapselerstellung fehlgeschlagen“ gesetzt.
Ein Titel in diesem Zustand nimmt nicht mehr am Kapselexport teil.
Nachdem das Problem behoben wurde, kann der Status manuell auf „Kapselerstellung zu prüfen“ zurückgesetzt werden. Die Kapselerstellung wird dann erneut probiert. Alternativ kann von Zeit zu Zeit in der Domain-Konfiguration der Wert retryOnError=true
gesetzt werden. Dadurch nehmen auch Titel, die im Status „Kapselerstellung fehlgeschlagen“ stehen, am Kapselexport teil.
Kapsel nicht erstellen¶
Dieser Zustand wird vergeben, falls der Titel nicht mehr für einen Kapselexport in Frage kommt, zum Beispiel weil die Freigabe entzogen oder der Metadatentyp geändert wurde.
Ein Titel in diesem Zustand nimmt nicht mehr am Kapselexport teil.
Sind die Voraussetzungen für einen Kapselexport wieder gegeben, so wird der Titel automatisch wieder in den Zustand „Kapselerstellung zu prüfen“ versetzt.
Kapselerstellung angehalten¶
Dieser Zustand kann manuell vergeben werden, zum Beispiel über den Visual Library Manager.
Ein Titel in diesem Zustand nimmt nicht mehr am Kapselexport teil.
Soll der Kapselexport fortgesetzt werden, so muss der Status manuell auf „Kapselerstellung zu prüfen“ zurückgesetzt werden.
Ablauf für Kapseln¶
Der Ablauf der Kapselverarbeitung wird über eine Statusmaschine gesteuert. Der VL-Server verwaltet den Status für jede Kapsel.
Die zugehörigen Serverjobs, die auf die Kapsel-Statuswerte reagieren, laufen in regelmäßigen Abständen. Die Einstellungen für den automatisierten Export finden über die Domain-Konfiguration statt.
Findet kein manueller Eingriff oder Fehler statt, so durchlaufen alle Kapseln die folgenden Statuswerte der Reihe nach.
Kapsel neu¶
Die Kapsel wurde neu erstellt und im Dateisystem abgelegt.
Kapsel gelöscht¶
Die Kapsel wurde vom Dateisystem entfernt. Dies ist üblicherweise der Fall, wenn sie in ein Langzeitarchiv überführt wurde.
Kapsel archiviert¶
Die Kapsel ist im Langzeitarchiv angekommen.
Dieser Status kann entweder über eine Online-Schnittstelle des Langzeitarchivs abgefragt werden oder nach Ablauf einer Frist (Voreinstellung: 2 Tage) ex silentio angenommen werden.
Für die Abfrage einer Online-Schnittstelle ist üblicherweise eine Domain-spezifische Implementierung notwendig.
Originalbilder zu entfernen¶
Die Originalbilder, die in der Kapsel exportiert wurden, sind zu entfernen.
In VL-Instanzen, auf denen die Originalbilder nicht erhalten bleiben sollen, können dann die Originalbilder nach Erstellung aller Webcache-Stufen entfernt werden (um Speicherplatz einzusparen).
Dieser Status wird nach Ablauf einer Schonfrist (Voreinstellung: 14 Tage) ex silentio angenommen.
Dieser Status ist optional, und wird nur in VLS-Instanzen erreicht, in denen die Originalbilder gelöscht werden sollen.
Originalbilder entfernt¶
Sind die Originalbilder durch den DeleteArchiveJob entfernt worden, so wird dieser Status gesetzt.
Achtung
Sind die Originalbilder gelöscht, so darf die Kapselinformation in der VL-Datenbank nicht mehr gelöscht werden, da eine erneute Erstellung einer Master- oder Delta-Kapsel, welche diese Bilder enthalten müsste, nicht mehr möglich ist.
Dieser Status ist optional und wird nur in VLS-Instanzen erreicht, in denen die Originalbilder gelöscht werden sollen.
Aufbau der Kapseln¶
Kapsel-Typen¶
Es gibt zwei Typen von ZIP-Kapseln, Master und Delta. Beiden Typen sind
gleich aufgebaut und enthalten immer eine METS-Datei mit dem Dateinamen
export_mets.xml
.
Dateiname¶
Master-Kapsel¶
Beispielname:
| Identifier | Datum | Typ | Version | Erweiterung |
urn+nbn+de+hbz+6+1-612_20120626T140756_master_ver1.zip
- Identifier
Als Identifier wird der
URN
,DOI
,source identifier
oder dieVLID
verwendet. Sonderzeichen wie:
und/
werden ersetzt, da sie auf POSIX-Plattformen bzw. unter Windows reserviert sind. Im Standard werden die Sonderzeichen durch+
ersetzt, es ist aber auch_
möglich.- Datum
Das Datum bezieht sich auf den Zeitpunkt, an dem die Informationen für die Kapsel gesammelt worden sind. Der Zeitpunkt ist eine Sekunde bis Stunden vor der Generierung der Kapsel. Das Datum ist in UTC und hat den Aufbau
YYYYmmddThhmmss
.- Typ
Der Typ ist entweder
master
odergenX
, wobeiX
eine streng monoton ansteigende Zahl startend mit 1 ist. Die erste Delta-Kapsel hat den Typgen1
, die nachfolgendegen2
etc.- Version
Die Version ist zur Zeit immer
ver1
.- Erweiterung
Die Erweiterung ist
.zip
.
Delta-Kapsel¶
Beispielname:
urn+nbn+de+hbz+6+1-612_20130115T173301_gen1_ver1.zip
Verzeichnisstruktur¶
urn+nbn+de+hbz+6+1-612/
export_mets.xml
image/
117637.tif
117638.tif
...
fulltext/
117637.xml
...
pdf/
117637.pdf
117638-somename.pdf
...
zip/
117637.zip
...
generic/
117637.doc
117637.odt
117638-unknown.bin
...
Verzeichnisstruktur (BagIt)¶
Im BagIt-Format werden die Kapseldaten in einem Unterverzeichnis data
abgelegt. Das übergeordnete Verzeichnis enthält die BagIt-Metadaten,
insbesondere die Prüfsummen aller Dateien.
urn+nbn+de+hbz+6+1-612/
bagit.txt
bag-info.txt
manifest-sha1.txt
tagmanifest-sha1.txt
data/
export_mets.xml
(...wie oben...)
Kriterien für die Erstellung von Delta-Kapseln¶
Vergleich der Zeitstempel¶
Es werden die Zeitstempel der letzten Änderung von Tabellenzeilen
verglichen. Dieser Test ist sehr schnell, da er komplett innerhalb des
Datenbankservers erfolgt. Als Referenzdatum wird der
Erstellungszeitpunkt der neusten (Delta)Kapsel der Einheit oder der
Zeitpunkt der letzten Überprüfung durch den ZipExportStatusJob
verwendet.
Dieser Zeitpunkt wird mit den update timestamps der Tabellenzeilen für den zentralen Baum, Metadaten, Ressourcen (Volltext, ZIP Package, Generic File, Upload PDF), Identifiern, Zugriffsbeschränkungen und Lizenzen verglichen, außerdem wird das Änderungsdatum des Archivbilds in Betracht gezogen. Dabei werden alle Unterordnungen der Einheit untersucht und die Einträge betrachtet, die einen neueren Zeitstempel haben. update timestamps werden von der Datenbank bei jeder Schreiboperation über Trigger gesetzt und sind somit verlässlich.
Wenn Änderungen dieser Eigenschaften gefunden werden, wird der Titel auf Delta-Kapsel zu erstellen
gesetzt, weitere Überprüfungen sind nicht mehr notwendig.
Falls nur der Baumeintrag des Hauptknotens geändert wurde, weitere Einträge aber unverändert sind, wird die Überprüfung abgebrochen und keine Delta-Kapsel veranlasst. Dies ist eine Optimierung für den Fall, dass ein Titel verschoben oder die Freigabe geändert wurde.
In allen anderen Fällen erfolgt der nächste Schritt.
Vergleich des METS¶
Im dritten Schritt wird ein aktuelles METS des Werk erzeugt und dieses METS blockweise mit dem METS verglichen, das für die letzte ZIP-Kapsel erstellt worden ist. Vom METS aller früheren Kapsel-Generationen werden dauerhaft Kopien vorgehalten.
Vor dem Vergleich werden eine Reihe von Informationen aus beiden METS entfernt, um die Anzahl der falschen Erkennungen gering zu halten bzw. um das Verfahren zu beschleunigen.
MIX-Informationen in Image AMD Section (bereits über Änderungsdatum des Bilds abgedeckt)
CREATED
,CHECKSUM
,CHECKSUMTYPE
undvls:file-omitted
Attribute dermets:fileGrp/mets:file
Elemente, außerdem dasSIZE
aus der MIX-Section gesetzt, fallsSIZE
nicht vorhanden ist. Dies ist notwendig, weil die Informationen erst seit VL-Version 2.11 vorhanden sind.Alle
mets:metsHdr
,mets:amdSec
undmets:dmdSec
Sektionen und die ADMID- bzw. DMDID-Links zu den Sektionen.mets:dmdSec
wird nur entfernt, wenn der Domain-KonfigurationswertcompareMODS
auffalse
gesetzt, also ausgeschaltet, ist.
Zum Schluss werden die Blöcke mit der C14N Form in UTF-8
serialisiert und die Strings verglichen. Bei einem Unterschied wird der Titel auf Delta Kapsel zu erstellen
gesetzt.
Überprüfungszeitpunkt speichern¶
Schließlich wird der Zeitpunkt der letzten Überprüfung gespeichert. Dies ist eine Optimierung, damit zeitaufwändige Vergleiche des METS nicht jede Nacht notwendig sind.
LZA-Jobs¶
Die Erstellung der Kapseln wird durch eine Reihe aufeinanderfolgender Serverjobs gesteuert, die im ZipExportCombinedJob
zusammengefasst sind. Im Standard ist die Reihenfolge:
- ZipExportStatusJob
Aktualisiert den Status aller zur Auslieferung ausgewählten Titel.
- ZipExport
Erzeugt Kapseln zur Auslieferung von Titeln mit passenden Status.
- ZipCapsuleTransfer
Transferiert Kapseln ins Langzeitarchiv.
- ZipCapsuleStatusJob
Aktualisiert den Status aller erzeugten und abgelieferten Kapseln.
- DeleteArchiveJob (optional)
Löscht die exportierten Originalbilder vom VL-Server, nachdem alle benötigten Webcache-Stufen erzeugt worden sind. Neuer Master ist die 0er-Webcache-Stufe, die den Abmessungen des Originals entspricht.
Gemeinsame Parameter¶
subdomains
(Boolean)Der Job kann entweder auf der Job-Domain laufen, oder auf der Job-Domain sowie allen untergeordneten Domains (rekursiv). Die Job-Einstellungen werden für jede Domain individuell über die Domain-Konfiguration geregelt.
Voreinstellung: false
target
(String,zipcapsule
)Bestimmt das Export-Ziel für diesen Job. Nur Domains (bzw. Subdomains), die das gleiche Export-Ziel wie der Job haben, werden von dem Job bearbeitet.
Aktuell ist nur ein Export-Ziel vorgesehen:
zipcapsule
. Dieses unterstützt den fortlaufenden Export in ein Langzeitarchiv. Wenn eine Domain gar nicht am Kapselexport teilnehmen soll, kann als Export-ZielNone
eingestellt werden.Der ZipExportJob (und nur dieser) unterstützt auch ein weiteres Export-Ziel:
manual
. Dieses ist für den manuellen Einzel-Export von Master-Kapseln (außer der Reihe) vorgesehen.Voreinstellung:
zipcapsule
startMode
(String, automatic
oder manual
)
ZipExportCombined¶
Der Job ZipExportCombined ruft (optional) alle anderen Jobs auf, die für den Kapselexport relevant sind.
exportstatus
(Boolean)Falls wahr, wird der ZipExportStatus-Job aufgerufen.
Voreinstellung: true
export
(Boolean)Falls wahr, wird der ZipExport-Job aufgerufen.
Voreinstellung: true
capsulestatus
(Boolean)Falls wahr, wird der ZipCapsuleStatus-Job aufgerufen.
Voreinstellung: true
deletearchive
(Boolean)Falls wahr, wird der DeleteArchive-Job aufgerufen.
Voreinstellung: false
subdomains
(Boolean)Dieses Argument wird an alle untergeordneten Jobs weitergereicht.
Voreinstellung: false
target
(String,zipcapsule
)Dieses Argument wird an alle untergeordneten Jobs weitergereicht.
Voreinstellung:
zipcapsule
limitCount
(Integer)Dieses Argument wird an den ZipExportJob weitergereicht.
Voreinstellung: 0
limitSizeGB
(Float)Dieses Argument wird an den ZipExportJob weitergereicht.
Voreinstellung: 0.0
ZipExportStatusJob¶
Der ZipExportStatusJob implementiert den „Ablauf für Titel“. Dabei werden für jede ausgewählte Domain mehrere Schritte durchlaufen:
Neue (freigegebene) Titel bekommen den Zustand „Kapselerstellung zu prüfen“.
Titel im Zustand „Kapsel nicht erstellen“, bei denen die Voraussetzung für diesen Zustand weggefallen ist (z.B. zurückgezogene Freigabe wird erneut erteilt), bekommen den Zustand „Kapselerstellung zu prüfen“.
Falls die Domain-Konfiguration
export.retryOnError
gesetzt ist: Titel im Zustand „Kapselerstellung fehlgeschlagen“ bekommen den Zustand „Kapselerstellung zu prüfen“.Titel in irgendeinem Zustand, bei denen die Voraussetzung für den Kapselexport weggefallen ist (z.B. Freigabe wird entzogen), bekommen den Zustand „Kapsel nicht erstellen“.
Zu exportierende Titel, für die noch keine Kapseln erstellt wurden, bekommen den Zustand „Kapsel zu erstellen“.
Zu exportierende Titel, für die bereits Kapseln erstellt wurden, bekommen den Zustand „Delta-Kapsel zu erstellen“. Der genaue Ablauf der Prüfung, ob eine Delta-Kapsel erstellt werden soll, wird im Abschnitt „Kriterien für die Erstellung von Delta-Kapseln“ beschrieben.
Die folgenden Domain-Einstellungen sind verfügbar:
export.target
(String)Bestimmt das Export-Ziel für diese Domain. Nur Domains (bzw. Subdomains), die das gleiche Export-Ziel wie der Job haben, werden von dem Job bearbeitet.
Voreinstellung:
zipcapsule
export.checkWorkflowState
(Boolean)Falls true, wird die Auswahl der zu exportierenden Titel auf QA-geprüfte beschränkt („Strukturierung nicht notwendig“ und „Strukturierung abgeschlossen“)
Voreinstellung: true
export.checkReleaseState
(Boolean)Falls true, wird die Auswahl der zu exportierende Titel auf freigegebene beschränkt.
Voreinstellung: true
export.retryOnError
(Boolean)Falls true, werden Titel im Zustand „Kapselerstellung fehlgeschlagen“ automatisch zurückgesetzt.
Voreinstellung: false
export.compareMODS
(Boolean)Falls true, erstelle eine Delta-Kapsel, wenn Änderungen im MODS festgestellt werden.
Voreinstellung: true
export.compareDPSection
(Boolean)Falls true, erstelle eine Delta-Kapsel, wenn Änderungen an den VLS-DP-Erweiterungen im Export-METS festgestellt werden. Die VLS-DP-Erweiterungen enthalten zusätzliche VL-Daten, welche im Export-METS nicht nativ abgebildet werden können.
Voreinstellung: false
export.metstype
(String)Der Typ der Export-METS, die erzeugt und auf Änderungen untersucht werden soll. Aktuell wird ausschliesslich
vdzip
unterstützt.Voreinstellung:
vdzip
Die folgenden Job-Parameter sind verfügbar:
target
(String,zipcapsule
)Das Export-Ziel für den Job (aktuell nur
zipcapsule
).Voreinstellung:
zipcapsule
subdomains
(Boolean)Ob der Job nur in der Job-Domain oder auch allen untergeordneten Domains laufen soll.
Voreinstellung: false
deltaDeepScan
(Boolean)Erzwingt eine Prüfung von Titeln, bei denen die Zeitmarken in der Datenbank alleine keinen Hinweis auf die Notwendigkeit einer Delta-Kapsel geben. Dies kann der Fall sein, wenn Teile eines Titels gelöscht wurden, ohne dass ein übergeordneter Datenbankeintrag eine Aktualisierung der Zeitmarke erhält.
Dieser Test ist langsam und sollte deshalb nur im Einzelfall durchgeführt werden.
showDiff
(Boolean)Zeigt den Unterschied zwischen zwei Export-METS-Dateien, der zum Zustand „Delta-Kapsel zu erstellen“ geführt hat, in der Log-Datei.
dryrun
(Boolean)Falls
true
werden keine Änderungen an der Datenbank vorgenommen.Voreinstellung: false
ZipExportJob¶
Der ZipExportJob implementiert den Kapsel-Export für Master- und Delta-Kapseln. Dabei werden grundsätzlich zwei Varianten unterschieden:
target=zipcapsule
: Hier ist das Export-Ziel ein Langzeitarchiv. Es werden Master- und Delta-Kapseln über einen langen Zeitraum exportiert. Die Einstellungen finden ausschliesslich über die Domain-Konfiguration statt, da eine unbedarfte, manuelle Änderung in den Job-Parametern zu Inkonsistenten im Langzeitarchiv führen könnte.target=manual
: Hier ist das Export-Ziel eine einmalige, händische Auslieferung einzelner Master-Kapseln. Die Einstellungen finden über die Domain-Konfiguration statt und können durch die Job-Parameter überschrieben werden.
Die folgenden Domain-Einstellungen sind verfügbar:
export.target
(String)Nur für
target=zipcapsule
.Bestimmt das Export-Ziel für diese Domain. Nur Domains (bzw. Subdomains), die das gleiche Export-Ziel wie der Job haben, werden von dem Job bearbeitet.
Voreinstellung:
zipcapsule
export.destination
(String)Nur für
target=zipcapsule
(vgl. Job-Parameterdestination
).Das Verzeichnis, unter dem die Kapseln abgelegt werden sollen.
Voreinstellung: config.path.zipBackup (aus der Server-Konfiguration)
export.copy_mode
(String,keep
/copy
/move
)Nur für
target=zipcapsule
.Bestimmt, ob die Kapseln nach der Erstellung in ein weiteres Verzeichnis kopiert (
copy
) oder verschoben (move
) werden sollen.Voreinstellung:
keep
export.copy_destination
(String)Nur für
target=zipcapsule
.Das Verzeichnis, in das die Kapseln kopiert oder verschoben werden sollen (nur bei
export.copy_mode=copy
odermove
)Voreinstellung: N/A
export.copy_queue_size
(Integer)Nur für
target=zipcapsule
.Die Anzahl der parallelen Kopier- oder Verschiebeoperationen (nur bei
export.copy_mode=copy
odermove
). 0 bedeutet, dass alle Operationen sequentiell erfolgen.Voreinstellung: 3
export.create_report
(Boolean)Nur für
target=zipcapsule
.Falls true, wird eine CVS-Datei erstellt, die eine Tabelle aller erstellten Kapseln enthält.
Voreinstellung: false
export.metstype
(String)Der Typ der Export-METS, die erzeugt und auf Änderungen untersucht werden soll. Aktuell wird ausschliesslich
vdzip
unterstützt.Voreinstellung:
vdzip
export.identname
(String,urn
/doi
/sourceident
/struct
)Bestimmt den persistenten Identifikator, der Teil des Kapsel-Namens werden soll. Dieser wird üblicherweise bei Langzeitarchiven zur Referenzierun verwendet.
Voreinstellung:
urn
export.arctype
(String,zip
/tar
)Bestimmt das äussere Archiv-Format der Kapsel.
Voreinstellung:
zip
export.compression
(Boolean)Falls true, werden die Kapseln verlustfrei komprimiert. Nicht empfohlen, da Kompression bei Übertragungsfehlern zu grösseren Datenverlusten führen kann. Kompression ist zudem sehr CPU-intensiv, und die zu erwartende Kompressionsrate ist bei Bilddaten nicht sehr hoch.
Voreinstellung: false
export.containertype
(String,zipcapsule
/bagit
)Bestimmt die Dateistruktur in der Kapsel. Bei
zipcapsule
werden die Export-Daten direkt in das Archiv gepackt, beibagit
wird das Archiv um weitere Metadaten nach dem BagIt-Standard angereichtert.Voreinstellung:
zipcapsule
export.premistype
(String,no_premis
/danrw_premis
)Falls
danrw_premis
, werden die Kapseln zusätzlich um Metadaten nach dem PREMIS-Standard (DA-NRW-Profil) angereichert.Voreinstellung:
no_premis
export.validateImage
(Boolean)Falls true, müssen alle Bilder Prüfsummen in der Datenbank hinterlegt haben. Zusammen mit
export.compareChecksum
werden diese auch überprüft.Voreinstellung: false
export.compareChecksum
(Boolean)Falls true, werden alle vorhandenen Prüfsummen nach Erstellung der Kapsel überprüft.
Voreinstellung: true
export.with_public_mets
(Boolean)Falls true, wird in die Kapsel eine OAI-METS Datei unter
public_mets.xml
abgelegt.Damit die OAI-METS erzeugt werden kann, muss die Domain-Konfiguration
oai.baseUrl
gesetzt sein.Voreinstellung: false
export.export_mets
(Boolean)Falls true, wird neben der Kapseldatei noch eine
.xml
-METS-Datei erzeugt.Voreinstellung: false
export.export_checksums
(Boolean)Falls true, wird neben der Kapseldatei noch eine
.sha1
-Prüfsummendatei erzeugt. Diese enthält die Prüfsumme der Kapsel und, fallsexport.export_mets
gesetzt ist, auch die Prüfsumme der Export-METS-Datei.Voreinstellung: false
export.email_notification
(String)Falls gesetzt, wird eine Email-Nachricht an die angegebene Adresse geschickt, wenn Fehler beim ZipExportJob auftreten.
Voreinstellung: N/A
Die folgenden Job-Parameter sind verfügbar:
target
(String,zipcapsule
/manual
)Das Export-Ziel für den Job.
Voreinstellung:
zipcapsule
subdomains
(Boolean)Nur für
target=zipcapsule
.Ob der Job nur in der Job-Domain oder auch allen untergeordneten Domains laufen soll.
Voreinstellung: false
otids
(IntegerList)Bestimmt die Titel, welche exportiert werden sollen.
Nur für
target=manual
: Hier können auch Identifikatoren angegeben werden, welche sonst nicht zur Kapselerstellung ausgewählt werden.Nur für
target=zipcapsule
: Die Identifikatoren schränken nur die Auswahl für den automatisierten Ablauf ein. Sie müssen sich im richtigen Zustand befinden und über die Job-Parameter (Domain und Subdomain-Einstellung) finden lassen.Voreinstellung: N/A
destination
(String)Nur für
target=manual
.Das Verzeichnis, unter dem die Kapseln abgelegt werden sollen. Die Kapseln werden in einem Unterverzeichnis
export-{DATETIME}
abgespeichert.Voreinstellung: config.path.zipBackupManual (aus der Server-Konfiguration)
metstype
(String)Nur für
target=manual
.Diese Einstellung entspricht der aus der Domain-Konfiguration und kann diese überschreiben.
Voreinstellung: N/A (aus der Domain-Konfiguration)
identname
(String,urn
/doi
/sourceident
/struct
)Nur für
target=manual
.Diese Einstellung entspricht der aus der Domain-Konfiguration und kann diese überschreiben.
Voreinstellung: N/A (aus der Domain-Konfiguration)
arctype
(String,zip
/tar
)Nur für
target=manual
.Diese Einstellung entspricht der aus der Domain-Konfiguration und kann diese überschreiben.
Voreinstellung: N/A (aus der Domain-Konfiguration)
compression
(Boolean)Nur für
target=manual
.Diese Einstellung entspricht der aus der Domain-Konfiguration und kann diese überschreiben.
Voreinstellung: N/A (aus der Domain-Konfiguration)
containertype
(String,zipcapsule
/bagit
)Nur für
target=manual
.Diese Einstellung entspricht der aus der Domain-Konfiguration und kann diese überschreiben.
Voreinstellung: N/A (aus der Domain-Konfiguration)
premistype
(String,no_premis
/danrw_premis
)Nur für
target=manual
.Diese Einstellung entspricht der aus der Domain-Konfiguration und kann diese überschreiben.
Voreinstellung: N/A (aus der Domain-Konfiguration)
validateImage
(Boolean)Nur für
target=manual
.Diese Einstellung entspricht der aus der Domain-Konfiguration und kann diese überschreiben.
Voreinstellung: N/A (aus der Domain-Konfiguration)
compareChecksum
(Boolean)Nur für
target=manual
.Diese Einstellung entspricht der aus der Domain-Konfiguration und kann diese überschreiben.
Voreinstellung: N/A (aus der Domain-Konfiguration)
with_public_mets
(Boolean)Falls true, wird in die Kapsel eine OAI-METS Datei unter
public_mets.xml
abgelegt.Voreinstellung: N/A (aus der Domain-Konfiguration)
export_mets
(Boolean)Falls true, wird neben der Kapseldatei noch eine
.xml
-METS-Datei erzeugt.Voreinstellung: N/A (aus der Domain-Konfiguration)
export_checksums
(Boolean)Falls true, wird neben der Kapseldatei noch eine
.sha1
-Prüfsummendatei erzeugt. Diese enthält die Prüfsumme der Kapsel und, fallsexport.export_mets
gesetzt ist, auch die Prüfsumme der Export-METS-Datei.Voreinstellung: N/A (aus der Domain-Konfiguration)
emptyImages
(Boolean)Nur für
target=manual
.Falls true, werden die Bilder in der Kapsel durch leere Platzhalter-Dateien ersetzt. Dies ist sinnvoll, falls nur die Metadaten und andere Resourcen (z.B. Volltexte) exportiert werden sollen.
Voreinstellung: false
runDate
(String)Falls gesetzt, bekommen alle erzeugten Kapseln die vorgegebene Zeitmarke. Dies ist nur für automatisierte Tests.
Voreinstellung: N/A
ZipCapsuleStatusJob¶
Der ZipCapsuleStatusJob implementiert den „Ablauf für Kapseln“. Dabei werden für jede ausgewählte Domain mehrere Schritte durchlaufen:
Kapseln im Zustand „Kapsel neu“, die auf dem Dateisystem nicht mehr vorhanden sind, bekommen den Zustand „Kapsel gelöscht“.
Diese Zustandsänderung erfolgt auch dann, wenn der Titel nicht mehr an der Kapselverarbeitung teilnimmt, da sie eine externe Tatsache festhält.
Nur für
target=zipcapsule
:Kapseln im Zustand „Kapsel gelöscht“, die im Langzeitarchiv aufgenommen wurden, bekommen den Zustand „Kapsel archiviert“. Gibt es für das gewählte Langzeitarchiv keine Integration, wird dieser Zustand nach 2 Tagen ex silentio angenommen.
Diese Zustandsänderung erfolgt auch dann, wenn der Titel nicht mehr an der Kapselverarbeitung teilnimmt, da sie eine externe Tatsache festhält.
Nur für
target=zipcapsule
undexport.allowDeleteArchive=true
:Kapseln im Zustand „Kapsel archiviert“ bekommen nach 14 Tagen ex silentio den Zustand „Originalbilder zu entfernen“.
Kapseln im Zustand „Originalbilder zu entfernen“ werden vom DeleteArchiveJob weiter bearbeitet.
Kapseln im Zustand „Kapsel angehalten“ werden von der Verarbeitung durch den ZipCapsuleStatusJob ausgenommen.
Die folgenden Domain-Einstellungen sind verfügbar:
export.allowDeleteArchive
(Boolean)Falls true, wird die Kapselverarbeitung bis zum Zustand „Originalbilder zu entfernen“ fortgesetzt. Ansonsten hört diese bei „Kapsel archiviert“ auf.
Voreinstellung: false
export.archiveTimespan
(Integer)Bestimmt die Anzahl an Tagen, welche der Job wartet, bis der Zustand von „Kapsel gelöscht“ zu „Kapsel archiviert“ ex silentio geändert wird (nur bei Domains, für die keine Integration ans Langzeitarchiv implementiert ist).
Voreinstellung: 2 (Tage)
export.archiveStatusUrl
(String)Falls gesetzt, wird nach
export.archiveTimespan
Tagen noch eine Online-Abfrage zum Archivierungsstatus gemacht. Der String enthält die abzufragende URL, und kann folgende Parameter enthalten, die durch die konkreten Kapselangaben ersetzt werden:sb_id
(Kapsel-ID),filename
(Dateiname der Kapsel),ot_id
(VL-ID des gekapselten Werks),mangled_urn
(Dateisystem-kompatible Form der URN des Werkes),timestamp
(Zeitmarke der Kapsel),generation
(Generation der Kapsel),version
(Version des Kapselformats),mets_filename
(Name der Export-METS-Datei),checksums_filename
(Name der Prüfsummendatei).Benötigt auch
export.archiveStatusPattern
.Voreinstellung: N/A
export.archiveStatusPattern
(String)Enthält den regulären Ausdruck, mit das Ergebnis der
archiveStatusUrl
-Abfrage verglichen wird. Wird ein positiver Treffer festgestellt, so wird angenommen, dass die Kapsel erfolgreich archiviert wurde.Voreinstellung: N/A
export.removeTimespan
(Integer)Bestimmt die Anzahl an Tagen, welche der Job wartet, bis der Zustand von „Kapsel archiviert“ zu „Originalbilder zu löschen“ ex silentio geändert wird (nur bei Domains mit
export.allowDeleteArchive=true
).Voreinstellung: 14 (Tage)
DeleteArchiveJob¶
Der ZipCapsuleStatusJob vervollständigt den „Ablauf für Kapseln“ für Kapseln im Zustand „Originalbilder zu entfernen“. Er löscht alle Originalbilder für solche Kapseln und setzt den Zustand auf „Originalbilder entfernt“.
Die folgenden Domain-Einstellungen sind verfügbar:
export.allowDeleteArchive
(Boolean)Falls true, wird die Kapselverarbeitung bis zum Zustand „Originalbilder zu entfernen“ fortgesetzt. Ansonsten hört diese bei „Kapsel archiviert“ auf.
Voreinstellung: false
Die folgenden Job-Parameter sind verfügbar:
dryrun
(Boolean)Falls
true
werden keine Änderungen an der Datenbank vorgenommen.Voreinstellung: false
DomainCapsuleJob¶
Der DomainCapsuleJob erlaubt die Archivierung der Metadaten und Ressourcen einer Sammlung, die nicht in den Metadaten der Titel enthalten sind. Ausserdem enthält die Domain-Datei (METS bzw. EAD) eine Liste aller Titel einer Sammlung.
Die EAD-Dateien werden unter dem Dateinamen ead_SAMMLUNG_ZEITMARKE.xml
abgelegt, also zum Beispiel: ead_retro_20160401T122731.xml
, entsprechend die METS-Dateien mets_SAMMLUNG_ZEITMARKE.xml
.
Falls ein ZIP-Archiv erstellt wird, ist der Name der ZIP-Datei
ead_SAMMLUNG_ZEITMARKE.zip
, wobei sich die Sammlung auf die Job-Domain
bezieht. Für die VL-Instanzen, die am Digitalen Archiv NRW teilnehmen, werden in der Domainkapsel der jeweiligen Root-Domain der Instanz auch die VL-Datenbank und ein Verzeichnis der Schemadateien für die Validierung der verwendeten Formate ausgeliefert.
Die folgenden Job-Parameter sind verfügbar:
arctype
(String,zip
/xml
)Falls
zip
wird eine ZIP-Datei erstellt, welche die EAD- und METS-Dateien sowie ggf. weitere Elemente wie Webressourcen und Wikiseiten enthält. Fallsxml
wird für jede EAD-Datei eine separate Datei erstellt.Voreinstellung:
zip
destination
(Boolean)Das Ausgabeverzeichnis.
Voreinstellung: config.path.eadBackup (aus der Server-Konfiguration)
Use Cases¶
Die Ausgangslage für alle Fälle ist:
- Abnahmestatus
abgenommen
- Freigabestatus
freigegeben
- ZIP-Kapsel
Kapsel erstellt (Originalbilder gelöscht)
Neues Bild hinzufügen¶
Freigabe des Werks entziehen
Neues Bild mit dem VLM hochladen und positionieren
Werk wieder freigeben
Der nächtliche ZipExportStatusJob
erkennt, dass neue Strukturen
angelegt wurden und ein Bild ein neues Änderungsdatum als die letzte
Kapsel bzw die letzte Überprüfung besitzt. Der Job setzt daher den
Status Delta Kapsel zu erstellen
. Der nachgelagerte ZipExportJob
reagiert auf den Status, erstellt eine Kapsel, die das neue Bild und ein
aktuelles METS enthält und setzt den Status auf Kapsel vorhanden
. Der
weitere Verarbeitungsprozess erfolgt analog zum normalen
Kapselverfahren.
Vorhandenes Bild ersetzen¶
Freigabe des Werks entziehen
Bild mit dem VLM auswählen und ersetzen
Werk wieder freigeben
Der weitere Ablauf erfolgt genau wie unter Neues Bild hinzufügen_. Die Deltakapsel enthält das geänderte Bild und ein neues METS.
Verknüpfung zu einem Bild entfernen oder erstellen¶
Freigabe des Werks entziehen
Verknüpfung mit dem VLM anlegen oder entfernen
Werk wieder freigeben
Der weitere Ablauf erfolgt genau wie unter Neues Bild hinzufügen_. Die Deltakapsel enthält nur das neue METS und kein Bild. Bei Verknüpfungen in einem Werk wird das Bild nur einmal gespeichert.
Vorhandenes Bild oder Strukturierung löschen¶
Freigabe des Werks entziehen
Bild oder Strukturknoten mit dem VLM entfernen
Werk wieder freigeben
Dieser Fall wird zur Zeit noch nicht performant erkannt, da nach dem
Löschen eines Eintrags die Informationen in der Datenbank fehlen. Hierzu
ist ein zeitaufwändiger Vergleich der Daten mit den gespeicherten
METS-Dateien aus dem Kapselprozess notwendig. Die Tiefensuche ist über
neue Optionen im ZipExportStatusJob
möglich und kan mehrere Stunden in
Ansprucn nehmen.
Primärer Identifier wird geändert¶
Der primäre Identifier ist der Identifier, mit dem das Werk und die dazugehörigen Kapseln eindeutig zugeordnet werden, zum Beispiel URN, DOI oder die Systemnummer des Katalogs, falls beim Export keine URN oder DOI verwendet wird.
Die nachträgliche Veränderung des primären Identifiers wird nicht unterstützt. In diesem Fall muss eine neue und Hauptkapsel erzeugt und die Kapseln mit dem alten Identifiern aus dem Archiv gelöscht werden. Falls die Bilder in der Zwischenzeit gelöscht wurden, müssen sie erst re-importiert werden.
Verschieben von Bildern und Strukturen zwischen Werken¶
Nachdem ein Werk freigegeben und archiviert wurde, wird die Verschiebung von Bildern und Strukturen zwischen Werken nicht unterstützt.
Achtung
Zwar können Delta-Kapseln diese Änderungen wiedergeben, aber die SYS_Backup2Page-Tabelle wird in diesem Fall nicht korrekt nachgepflegt. Originalbilder könnten gelöscht werden, die für die neue Master- oder Delta-Kapsel gebraucht würden.
DA-NRW¶
Für Sammlungen, die in das Langzeitarchiv DA-NRW überführt werden sollen, gibt es gesonderte Einstellungen.
Contract¶
Der Contract regelt die Weiterverwendung der Digitalisate im Langzeitarchiv DA-NRW, und wird definiert durch die Metadaten in der PREMIS-Datei (Element „rightsExtension“ nach Schema „danrw-contract-1.xsd“).
Für die VLS sind derzeit zwei Contracts definiert:
- öffentliche Präsentation
Dieser Contract erlaubt die Weiternutzung des Werks im Präsentationsportal.
- gesperrte Präsentation
Dieser Contract verbietet die Weiternutzung des Werks im Präsentationsportal.
Beide erlauben die unbeschränkte Formatmigration im Archiv.
Die Auswahl des Contracts erfolgt automatisch nach dem Zugriffsstatus (access restriction) auf der Ebene des jeweiligen Titels. Darüber hinausgehende Einschränkungen unterhalb der Titelebene oder auf Domainebene wären möglich, sind aber in der aktuellen Implementierung obsolet.
Transfer¶
Der Transfer von Kapseln ins DA-NRW erfolgt automatisiert. Die Kapseln werden nach Erzeugung im Ausgangsverzeichnis der jeweiligen Instanz abgelegt und von dort mittels rsync über eine SSH-Verbindung ins jeweilige instanzspezifische Einlieferungsverzeichnis des DA-NRW-Ingestknotens im Hochschulbibliothekszentrum NRW (hbz) übertragen. Dabei werden folgende Statusinformationen geliefert:
Kapsel neu [new] - im Ausgangsverzeichnis abgelegt
Transfer aktiv - Übertragung der Kapsel ins DANRW hat begonnen
Transfer gescheitert [transfer failed] - Transfer der Kapsel ist - aus Performance-Gründen wie schlechter Verbindungsqualität - nicht erfolgreich gewesen
Transfer zurückgewiesen [transfer rejected] - Transfer der Kapsel ist - aus technischen Gründen wie fehlender SSH-Berechtigung oder erschöpfter Quota - nicht erfolgreich gewesen
Transferiert [transfered] - Transfer der Kapsel ins DANRW-Einlieferungsverzeichnis (OAIS: Ingest-Knoten) ist erfolgreich abgeschlossen
Verarbeitung im DA-NRW und Statusinformationen via API¶
Kapseln werden … Mehrere Kapsel-Generationen eines Titels werden im DA-NRW einzeln gespeichert, gleichzeit aber auch wieder jeweils zu vollständigen Generationspaketen zusammengesetzt, sodass jede Generation eines VL-Titels vollständig im DA-NRW langzeitgespeichert wird.
Jobinfos
Kapsel in Verarbeitung
Kapsel zurückgewiesen
Kapsel archiviert
Damit erhält der Status „Kapsel archiviert“ eine andere, aktive Bedeutung gegenüber dem in …. geschilderten Modell. Hier ist es der Endstatus für die DANRW-Kapselverarbeitung. Die optional anschließenden Statuswerte im Fall der Löschung von Bildern nach erfolgreicher Archivierung (siehe …) spielt im Kontext der Archivierung im DANRW praktisch keine Rolle.
Interaktion mit den archivierten Paketen¶
Die API des DA-NRW bietet zwei Interaktionsmöglichkeiten: Löschen und Anforderung von archivierten Paketen für die Wiedereinspielung in VL (OAIS: Retrieval).
Löschen: Werden Kapseln vom DANRW zurückgewiesen, können sie also nicht so verarbeitet werden, dass sie ins Langzeitarchiv aufgenommen werden können, gelangen diese Statusinformationen via API-Abfrage in die VL-Datenbank zu den jeweiligen Statusinformationen der zu archivierenden Kapsel.
Anforderung: Wenn Kapseln erfolgreich archiviert worden sind, kann ihre Ausspielung über die grafische Benutzeroberfläche des DANRW angefordert und die Datei anschließend heruntergeladen werden. Bei der Rückspielung sind verschiedene Szenarien zu bedenken, die über den Standard-Import durchgeführt werden. Eine Automatisierung der verschiedenen Szenarien ist nach Spezifikation möglich.
Quellen und externe Links¶
- DA-NRW
- BagIt
- PREMIS
PREMIS Data Dictionary for Preservation Metadata