Allgemein zu Fragen der Datenablage auf der Foxridge: Robert Casties, Tel. -342 Stand: 02.02.2009
Die Arbeit mit gescanntem Material im VLP lässt sich grob in zwei Bereiche unterteilen.
Zum einen muss das Material (eigene Scans, Scans von der Digigroup, PDF's) für die Präsentation in der virtuellen Umgebung des VLP aufbereitet werden, d. h. für die online-Veröffentlichung angepaßt (“verbessert”) werden.
Zum anderen muss dafür gesorgt werden, dass das originale Bildmaterial für die Nachwelt erhalten bleibt: Es muss nach bestimmten Standards archiviert werden, um eine zukünftige Verfügbarkeit zu garantieren.
Diese Archivierung ist ein eigener Vorgang, der sich von der bloßen virtuellen Veröffentlichung der Bilder und dem zugehörigen Hochladen auf einen Online-Server noch unterscheidet. Das Hochladen allein reicht zu Archivierungszwecken nicht aus und würde darüber hinaus die Kapazitäten des Servers (“Foxridge”) recht bald sprengen.
Der Server Foxridge besteht aus zwei Partitionen. Die eine, online/permanent, stellt die online-Daten zur Anzeige im VLP bereit. Die andere, archive/data ist nach einer ganz ähnlichen Struktur aufgebaut wie online/permanent, ist jedoch nur eine Art Zwischenspeicher für Daten, die entweder noch auf ihre Archivierung warten oder für wieder de-archiviertes Material. Vor allem jedoch ist archive/data als derjenige Ort wichtig, auf dem die sogenannten Metadaten verbleiben. Dabei handelt es sich um Textdateien, die auf den genauen Archiv-Ort (und auf weitere Informationen, z.B. bibliografische Daten) des archivierten Materials verweisen.
Der endgültige, auf Langfristigkeit angelegte Archiv-Ort der Bilddateien ist ein Magnetband, auf das von einem Roboter, der vom MPIWG aus steuerbar ist, die Daten geschrieben werden.
Beim Archivierungsvorgang wird das zu archivierende Material zuerst einmal in archive/data/vlp abgelegt und dann von dort auf das Band “weg-archiviert”, denn nach erfolgter Archivierung werden die Dateien automatisch von der Foxridge gelöscht, die ansonsten schnell an die Grenzen ihrer Kapazität käme. Durch einen Dearchivierungsvorgang können die Dateien/Bilder zurück auf die Foxridge nach archive/data kopiert werden.
Es lassen sich nur komplette Verzeichnisse, d.h. ganze Ordner archivieren oder dearchivieren, keine einzelnen Dateien (daher ist bei nachträglicher Änderung einer Einzeldatei die Dearchivierung und Neuarchivierung des gesamten Ordners erforderlich).
Das zu archivierende Material liegt in verschiedenen Versionen vor und muss bestimmten Standards genügen. (Siehe hierzu auch: Übersicht Verzeichnisstruktur)
Die sogenannte Raw-Version ist die “ursprünglichste” Version des Bildmaterials, d.h. sie wird unbearbeitet archiviert, und zwar so, wie sie aus der Kamera oder dem Scanner kommt. Dazu gehören alle Unzulänglichkeiten, seien es Schrägstellung der Seiten, ein zu großer Rand, Farbfehler oder Grauschleier.
lit12345/raw
gespeichert, später dann auf der Foxridge in archive/data/vlp.Bei den sogenannten Final-Versionen handelt es sich um bearbeitete Scans. Typische Bearbeitungsschritte sind die Umwandlung in Graustufen, die Erhöhung des Kontrastes und das Beschneiden der Ränder. Sie werden ebenfalls archiviert.
Das zugehörige Verzeichnis soll immer als lit12345/pages
benannt werden.
Bilder werden ebenfalls archiviert. Nach dem Ausschneiden und der Umbenennung (img12345) werden sie in einen Ordner lit12345/images
kopiert. Beide Ordner, pages
und images
werden bis zur endgültigen Archivierung unter der zugehörigen LitID in archive/data/vlp zwischengelagert.
Das Archivformat sollte immer TIFF sein, denn das TIFF-Format komprimiert die Bilddateien nicht und es garantiert eine relativ langfristige Lesbarkeit. Die Ausnahme stellen PDF's aus anderen online-Quellen dar, die für das VLP heruntergeladen wurden. In einem solchen Fall ist das PDF die Raw-Version, da “ursprünglichst” und die daraus extrahierten TIFF-Dateien ergeben die ebenfalls zu archivierende Final-Version. JPG ist kein gültiges Archivformat.
Die Auflösung der Archivversion sollte mindestens 300 dpi betragen (Digigroup scannt mit 600 dpi).
Metadaten geben Aufschluss über die Art, Form, Anzahl und den Ort der auf Magnetband gesicherten Bilddateien. Ohne die Metadaten wäre eine Kommunikation der Steuerungsskripte mit dem Roboter, der die Dateien auf Magnetband sichert, nicht möglich. Sie sollten außerdem sowohl über verschiedene archivierte Versionen (Digigroup-Archiv und VLP-Archiv, Tag: “derived from”) sowie über die Produktionsbedingungen (verwendete Hard- und Software, Farbprofile… Tag: “production comment”) Aufschluss geben.
Metadaten werden aus der Filemaker-Datenbank durch ein Skript automatisch erzeugt und auf archive/data/vlp/ im jeweiligen lit12345
- Verzeichnis angelegt (s. u. “Metadaten”). Sie tragen den Namen index.meta.
Zur Verzeichnisstruktur und den zugehörigen Dateiformaten auf online/permanent und archive/data siehe diese Übersicht).
Für eine Übersicht des Vorganges siehe die Kurzanleitung. Bei der Einzel- und auch bei der Vielfach-Archivierung hat sich die hier vorgeschlagene Reihenfolge der einzelnen Schritte bewährt.
Die Archivierung wird mit dem Terminal-Programm vorgenommen. Um damit Zugriff auf die Foxridge zu erhalten, muss ein Schlüssel auf dem Rechner installiert sein. Zu Grundlagen der Arbeit mit der Kommandozeile siehe: Dave Taylor und Jerry Peek, Learning Unix for Mac OSX, O`Reilly, Sebastopol. u.a. 2002 (in der Bibliothek vorhanden) und die Tipps.
Die oben beschriebenen Versionen des zu archivierenden Materials werden auf die Foxridge in den Bereich archive/data
hochgeladen.
Um sich mit dem Server zu verbinden, wird im Finder Gehe zu → Mit Server verbinden (Apfel-K) aufgerufen, Serveradresse ist foxridge.
Benutzername und Passwort bitte erfragen.
Der Lit-Ordner wird in den Bereich vlp kopiert. Da die Liste der dort schon vorhandenen Ordner sehr lange lädt, empfiehlt es sich, im Finder über die Darstellungsoptionen der Spaltenansicht (Apfel-3) die Symbolvorschauen temporär auszuschalten (Apfel-J), um die Ladezeit etwas abzukürzen.
Filemaker starten.
Bevor die Metadaten als .xml exportiert werden, muss kontrolliert werden, ob die Felder production comment und derived from im FileMaker Layout index.meta ausgefüllt sind.
Die Metadaten (bibliographische Angaben etc., s.o. Standards) des zu archivierenden Ordners/Verzeichnisses werden als .xml aus Filemaker in eine Datei exportiert. Aus dieser .xml-Datei wird später die index.meta-Datei generiert, darin liegen die exportierten Daten in einer besonderen Form vor.
.xml exportieren: Ablage → Datensätze exportieren
Der Name der Datei ist beliebig, z.B. fm_exportfile.xml
(Dateiendung .xml nicht vergessen, evtl. per Hand anfügen!).
Der Typ soll FMPDSORESULT sein und es werden alle Felder übernommen.
Anschließend wird die Exportdatei auf die Foxridge nach archive_data/vlp/ kopiert.
Im Verzeichnis der zu archivierenden Dateien (archive/data/vlp/lit12345) wird nun eine index.meta-Datei erstellt. Sie wird benötigt, damit die Archivierungsskripte mit dem Roboter kommunizieren können.
(Siehe hier die verbindliche Dokumentation des index.meta-Formates.)
Terminal starten (Macintosh HD → Programme → Terminal).
Anmelden auf der Foxridge (Einzugeben ist der Text nach dem $; nach der Eingabe mit Return bestätigen):
dhcp8059:~ benutzer$ ssh -l archive foxridge
(= Dieser Befehl besagt in etwa: “Öffne für den Benutzer “Archive” von diesem Rechner aus einen Zugang (ssh
) zur Foxridge .”)
Es folgt eine Passwortabfrage:
Enter passphrase for key '/Users/user/.ssh/id_dsa
Sie fragt nach der Kennung für den Foxridge-Zugangsschlüssel. Bestätigen.
Nun wird quasi mit dem Terminal-Fenster direkt “auf” der Foxridge gearbeitet, ablesbar an der Eingabeaufforderung archive@foxridge2:~ $
(= Der Nutzer “archive” arbeitet auf der Foxridge.)
Mit Hilfe eines sogenannten Skriptes (makemeta-vlp) wird die index.meta-Datei erstellt. Dieses wird aufgerufen nach dem folgenden Schema:
pfad zum script -archive-mode pfad zum filemaker export file
( = Rufe das auszuführende Skript von seinem Ort aus auf, ergänze die Optionen -archive-mode und wende es auf den Inhalt der Filemaker-Export-Datei an.)
Die Standardeingabe wird sein:
/usr/local/mpiwg/archive/makemeta-vlp -archive-mode /mpiwg/archive/data/vlp/fm_exportfile.xml
(Es können weitere Optionen für das Skript eingefügt werden. Sie werden, egal in welcher Reihenfolge, hintereinander geschrieben, z.B.
/usr/local/mpiwg/archive/makemeta-vlp -archive-mode -debug -dry-run /mpiwg/archive/data/vlp/fm_exportfile.xml
-debug
→ show debugging info-dry-run
→ simulate, dont'do anything-replace
→ replace existing index files-online-mode
→ mode for creating online/permanent files-archive-mode
→ mode for creating archive/data files-access=free
→ adds free access tag for online-modeMit Return bestätigen.
Das Terminal-Fenster gibt folgendes aus:
INFO: makemeta-vlp 0.2 (19.9.2005 ROC) INFO: processing entry 0 ... INFO: 0 warnings INFO: 0 errors DONE: done something successfully!
Im Verzeichnis befindet sich nun eine Datei namens index.meta.
Das Archivierungsprogramm ist ebenfalls ein Skript (archiver), das über das Terminal auf der Foxridge ausgeführt wird. Da bei Schließen des Fensters der u.U. sehr lang dauernde Archivierungsvorgang abgebrochen werden würde, empfiehlt es sich, vorher im Terminal in den screen-Modus zu wechseln.
Eingegeben wird ins Terminal nach dem Schema:
pfad zum script, optional: -option
, pfad zum ordner
Optionen:
-debug
→ show debugging info-premigrate
→ don't delete archived files-force
→ archive even if already archived-replace
→ rewrite index file
(Diese Optionen sind für den Fall interessant, dass ein Verzeichnis dearchivert (s.u.), geändert (z.B. Dateien hinzugefügt) und neu archiviert wird. Wird beispielsweise nur ein einziges Bild geändert, wird das gesamte Verzeichnis dearchiviert, das Bild hinzugefügt und mit den Optionen -force -replace
hinter dem archiver-Skript neu archiviert.)
Die Standardeingabe wird jedoch für die meisten Fälle sein:
/usr/local/mpiwg/archive/archiver -debug /mpiwg/archive/data/vlp/lit29464/
Bestätigen.
(Das Skript sollte von “zu Hause aus”, d.h. aus dem archive-Home-Verzeichnis ausgeführt werden. Das bedeutet, dass nicht per cd-Befehl in einen Ordner navigiert worden ist (nicht: archive@foxridge2:/mpiwg/archive/data/vlp/lit12345 $) sondern dass lediglich eine Tilde in der Eingabeaufforderung auftaucht: archive@foxridge2:~ $
Das Skript gibt folgendes aus:
INFO: going to remove successfully archived files from disk START: archiver 0.7.2 (ROC 5.10.2005) at 2005/11/18 17:55:22 DEBUG: checking index file: DONE: index file checked successfully! INFO: resource '/mpiwg/archive/data/vlp/lit29464' check OK DEBUG: index file: /mpiwg/archive/data/vlp/lit29464/index.meta DEBUG: root element: 'resource' DEBUG: FILE (pages)a0001.tif DEBUG: FILE (pages)a0002.tif DEBUG: FILE (pages)a0003.tif ... DEBUG: FILE (pages)p1028s0002.tif DEBUG: FILE (pages)z0001.tif INFO: 1115 files to archive DEBUG: enter /mpiwg/archive/data/vlp/lit29464/pages DEBUG: removed .DS_Store DEBUG: removed directory .HSResource DEBUG: removed .HSancillary DEBUG: removed .HSancillary DEBUG: removed .DS_Store DEBUG: removed directory .HSResource INFO: written new file /mpiwg/archive/data/vlp/lit29464/index.meta ARCH: file '/mpiwg/archive/data/vlp/lit29464/index.meta.old' ARCH: file '/mpiwg/archive/data/vlp/lit29464/index.meta' ...
Der Vorgang kann (muss aber nicht) sehr lange dauern (weit über 30 min). Das Terminal-Fenster darf in der Zeit nicht geschlossen werden.
Aus dem bearbeiteten Verzeichnis (archive/data/vlp/lit12345) sind raw, pages (und images) jetzt weg-archiviert worden. Das Skript hat eine neue index.meta- Datei erstellt, in der zusätzliche Angaben, z.B. das Datum der Archivierung, hineingeschrieben worden sind und hat das ursprüngliche index.meta in index.meta.old umbenannt. Diese verbleiben im Lit-Verzeichnis.
Die Archivierung mehrerer Ordner gleichzeitig entspricht in etwa der oben beschriebenen Vorgehensweise. Beschrieben werden hier nur abweichende und zusätzliche Schritte.
Zusatz: Alle bearbeiteten Verzeichnisse werden hochgeladen (z.B. alle Lit-Ordner eines Zeitschriftenbandes)
Zusatz: Mehrere Datensätze befinden sich in der Auswahl und werden exportiert.
Um später automatisch alle Verzeichnisse archivieren zu können, muss das dazugehörige Skript (archive-many) mittels einer Verzeichnisliste “informiert” werden.
Dazu werden die Datensätze, die in FileMaker schon ausgewählt sind, noch einmal exportiert (Ablage → Datensätze exportieren), diesmal jedoch in eine .tab-Datei:
Diese Liste muss in eine reine Textdatei umgewandelt werden. Dazu wird mit dem Programm SubEthaEdit die eben erstellte .tab-Datei aufgerufen und über Format → Zeilenende → Konvertiere zu Unix-Zeilenende sichergestellt, dass sich jede ID (reference) in einer neuen Zeile befindet, und dass sich keine Leerzeichen, unsichtbare Zeilenenden o.ä. versteckte Formatierungen in der Liste befinden.
Alternativen:
Die Liste wird als .txt (z.B. dirlist.txt) gespeichert und nach archive/data/vlp kopiert.
Im Terminal-Programm wird noch einmal mit dem Befehl less, einem 'Lesebefehl', die Richtigkeit der erstellten Liste (dirlist.txt) überprüft:
Die ID's müssen nach Eingabe des Befehles untereinander gelistet sein, s.u. So wird sichergestellt, dass das archivemany-script diese Liste verwenden kann.
(Schema: Befehl less pfad zur liste dirlist.txt)
less /mpiwg/archive/data/vlp/dirlist.txt
Ausgabe des Terminals:
archive@foxridge:/ $ less /mpiwg/archive/data/vlp/dirlist.txt WARNING: terminal is not fully functional lit31295rchive/data/vlp/dirlist.txt (press RETURN) lit31296 lit31297 lit31298 lit31299 lit31300 lit31301 lit31302 lit31303 lit31304 /mpiwg/archive/data/vlp/dirlist.txt (END)''
Mit Q
wird aus dem Programm less zur Eingabeaufforderung zurückgekehrt.
Zusatz: Das Skript makemeta erfasst nun alle in die .xml-Datei exportierten Datensätze.
Die Archivierung mehrerer Ordner gleichzeitig wird auf der Foxridge über das Programm Terminal mit Hilfe des Skripts archivemany ausgeführt, das mit Hilfe der oben erstellten Verzeichnisliste diese automatisch nacheinander auf Band schreibt.
Da bei Schließen des Terminal-Fensters der u.U. sehr lang dauernde Archivierungsvorgang abgebrochen werden würde, empfiehlt es sich, vorher im Terminal in den screen-Modus zu wechseln.
Im folgenden Befehl sind drei Schritte vorhanden, jeweils durch ein Leerzeichen getrennt:
Aufrufen des archivemany-Skriptes, Angabe, in welchem Verzeichnis archiviert werden soll und Anweisung, dass die Verzeichnisliste verwendet werden soll.
/usr/local/mpiwg/archive/archivemany /mpiwg/archive/data/vlp/ /mpiwg/archive/data/vlp/dirlist.txt
Eingeben und mit Return bestätigen.
Das Skript gibt folgendes aus:
archiving document 3: lit31297... INFO: going to remove successfully archived files from disk START: archiver 0.7.2 (ROC 5.10.2005) at 2006/06/20 14:31:07 INFO: resource '/mpiwg/archive/data/vlp/lit31297' check OK INFO: 146 files to archive INFO: written new file /mpiwg/archive/data/vlp/lit31297/index.meta ARCH: file '/mpiwg/archive/data/vlp/lit31297/index.meta' ARCH: file '/mpiwg/archive/data/vlp/lit31297/index.meta.old' ARCH: file '/mpiwg/archive/data/vlp/lit31297/pages/p0167.tif' ARCH: file '/mpiwg/archive/data/vlp/lit31297/pages/p0168.tif' ARCH: file '/mpiwg/archive/data/vlp/lit31297/pages/p0169.tif' ARCH: file '/mpiwg/archive/data/vlp/lit31297/pages/p0170.tif' . . . ARCH: OK INFO: 6 files archived INFO: 0 warnings INFO: 0 errors DONE: 6 files archived at 2006/06/20 15:02:27 done on Tue Jun 20 15:02:27 MEST 2006''
Der Vorgang kann sehr lange dauern (weit über 30 min.)
Noch einmal: Das Terminal-Fenster darf nicht geschlossen werden, wenn nicht auf screen umgeschaltet worden ist, sonst wird der Vorgang abgebrochen!
Durch eine Dearchivierung können Bilddateien zurück auf die Foxridge kopiert werden. Die Daten auf Band werden dabei nicht verändert oder gelöscht.
Nur komplette Verzeichnisse lassen sich dearchivieren, keine einzelnen Dateien.
Oft ist eine Dearchivierung nötig, wenn die Digitalisierungsgruppe der Bibiothek einen Scan-Auftrag des VLP schon weg archiviert hat, ehe dieser im VLP bearbeitet werden konnte. Befindet sich der Scan-Auftrag nicht mehr in archive/data/vlp/_inbox
, so kann für die Dearchivierung in der Datenbank archiv-ID der Name des Verzeichnisses gefunden werden.
Beim Dearchivieren von Daten der Digigroup sollte auch der info-Ordner beachtet werden, er enthält wichtige und aufschlussreiche Informationen über die Raw-Dateien (Auflösung, Kommentare zu den Scans…)
Wie auch die Archivierung, wird auch die Dearchivierung mit dem Terminal-Programm vorgenommen. Zum Dearchivieren mehrerer Items können Terminal-Befehle mit “&&
” verbunden werden. Dabei muss jeweils der komplette Befehl mit allen Pfadangaben und Argumenten wiederholt werden.
s. o.: Anmelden auf der Foxridge
Unarchiver script aufrufen:
Das Dearchivierungsprogramm ist ebenfalls ein Skript (unarchiver), das vom lokalen Rechner aus gesteuert auf der Foxridge ausgeführt wird. Da bei Schließen des Fensters der u.U. sehr lang dauernde Dearchivierungsvorgang abgebrochen werden würde, empfiehlt es sich, vorher im Terminal in den screen-Modus zu wechseln.
Eingegeben wird ins Terminal nach dem Schema:
pfad zum script -optional: -option pfad zum ordner
(Die Option -debug
gibt im Terminal die einzelnen Schritte des Skriptes aus.)
ACHTUNG: Bitte das Skript nicht vom zu archivierenden Ordner aus (archive@foxridge2:/mpiwg/archive/data/vlp/lit12345 $
) sondern vom Home-Verzeichns aus (archive@foxridge2:~ $
) aufrufen!
Aufrufen des unarchiver-Skriptes:
/usr/local/mpiwg/archive/unarchiver -debug /mpiwg/archive/data/vlp/lit12345
Eingeben und mit Return bestätigen. Das Skript startet und gibt Meldungen aus:
INFO: unarchiver 0.3.1 (21.6.2005) INFO: archive "/mpiwg/archive/data/vlp/lit12345" check OK INFO: archive storage date: 2005/07/13 16:26:21 INFO: .archived file exists. INFO: 1857 files to retrieve. INFO: looking for archives in /mpiwg/archive...
Der Vorgang kann sehr lange dauern (weit ueber 30 min.).
Nachdem ein Verzeichnis vom Band auf die Foxridge und dann zur Bearbeitung auf den lokalen Rechner kopiert wurde, müssen die Daten von der Foxridge wieder gelöscht werden, damit deren Speicherkapazitäten nicht überstrapaziert werden. Der Löschvorgang soll mit großer Sorgfalt ausgeführt werden: Die index.meta-Dateien dürfen auf keinen Fall verloren gehen!
Vorsicht bei routiniertem oder voreiligem Abschicken der Eingaben, ein Navigieren in das zu löschendeVerzeichnis und ein Test der enthaltenen Dateien ist vorher angebracht. Schema:
cd pfad_zum_ordner
: wechselt in betreffendes Verzeichnis
ls pfad_zum_ordner
: zeigt den Inhalt des Verzeichnisses
Z.B.:
archive@foxridge2:~ $ cd /mpiwg/archive/data/vlp/lit12345 archive@foxridge2:/mpiwg/archive/data/vlp/lit12345 $ ls pages images archive@foxridge2:/mpiwg/archive/data/vlp/lit12345 $
Der Löschvorgang geschieht nach dem Schema:
rm -rf pfad_zum_ordner
Z.B.:
archive@foxridge2:/mpiwg/archive/data/vlp/lit12345 $ rm -rf pages