Datei-Validierung: Wie kaputt ist das denn? - Yvonne Tunnat nestor Praktikertag ZBW Kiel - Langzeitarchivierung
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Datei-Validierung: Wie kaputt ist das denn? Yvonne Tunnat nestor Praktikertag ZBW Kiel 09.06.2021 Twitter: @YvonneTunnat Die ZBW ist Mitglied der Leibniz-Gemeinschaft
Inhalt des Vortrags Warum Validierung? Datei kaputt? Was ist Validierung? Validierung validieren? Seite 2
Natürlich können auch Bücher defekt sein Oder nur ein Häufchen Asche nach einem Brand etc…. Seite 10
PDF-Dateien Seite 11
Aber was ist das überhaupt, Dateivalidierung? Seite 12
Wie werden kaputte Dateien aufgespürt? Validierungstools: Erfüllt die Datei die Regeln des Dateiformats? Beispiel PDF Prüft u. a. korrekten Header & Trailer Seite 13
JHOVE – oft als Validierungstool genutzt Erstmals veröffentlicht 2005 von der Harvard University Library Seit März 2014 gehostet bei der OPF (Open Preservation Foundation) Unterstützt von der Community via: • GitHub • JHOVE Hack days • JHOVE Product Board Seite 14
Dateiformate sind natürlich unterschiedlich komplex Beispiele PDF, JPEG, TIFF und GIF No. Of pages in No. of possible JHOVE Lines of code in JHOVE specification errors module PDF 1310 152 18.290 JPEG 481 13 3329 TIFF 121 68 16.220 GIF 34 (GIF89a)* 10 1374 * GIF87 hat nur 15 Seiten Seite 15
Keine Dateierkennung ist vollständig ohne Dateivalidierung Ja, denn… Nein, weil… Seite 16
Ja, denn… Das ist kein PDF, aber DROID hält es für eines Seite 17
Nein, weil… Dateiformaterkennung ist der erste Schritt. Nicht für jedes Dateiformat gibt es ein Validierungstool. Es gilt die Unschuldsvermutung Seite 18
Einige Tools zur Dateivalidierung • JHOVE (14 Module: Gif, Jpeg, Jpeg2000, PDF, PNG, Tiff, Wave, XML, …) • Bad Peggy für JPEG • Jplyzer für JPEG2000 • viele für PDF/A • andere Tools für Validierung zweckentfremden (ExifTool, ImageMagick, pdfaPilot für Standard-PDF) Seite 19
Wie arbeitet das Validierungstool? Beginnt das PDF mit %PDF-1.x ? End-of-File-Tag %%EOF vorhanden? Falls nein: unvollständiges File, lässt sich ggf. nicht öffnen Seite 20
Idealfall Realität Toleranz der • Tool prüft Datei • Datei-Richtlinien Tools auf alle oft zu komplex • Dateien Richtlinien • Tools prüfen verstoßen nicht vollständig gegen (Performanz, Richtlinien, aber schwer Viewer zeigen umsetzbar) sie trotzdem korrekt an Seite 21
Drei konkrete Beispiel aus der Praxis Vermeintlich PDF heruntergeladen, aber nur Fehlermeldung erwischt Seite 22
Die ewige Fragen: Was bedeutet diese Fehlermeldung? Aber ich kann diese Datei doch öffnen? Kann ich sie nun nicht ingesten? Muss ich sie jetzt reparieren? Wie? Seite 23
Was bedeutet der Fehler denn nun? Gern beim PDF-Modul von JHOVE Seite 24
„Compression method is invalid or unknown to JHOVE“ Seite 25
Implikationen Das PDF ist ausreichend defekt, dass die Metadaten nicht extrahiert werden können. So ist es z. B. unmöglich, zu extrahieren, ob ein Passwortschutz besteht. Seite 26
Dies ist normalerweise möglich Wichtige signifikante Eigenschaft: Informationen zum Passwortschutz. Geschützte PDF-Dateien können in der Regel nicht migriert werden Seite 27
Fazit zur Fehlermeldung: Kann nicht repariert werden, falls Passwortschutz vorhanden Wird im Preservation Planning in der Praxis hier extra behandelt, da viele Fehler auftreten: • Nicht migrierbar wegen Passwortschutz • Auch sonst schlechte Quote, weil PDF-Qualität niedrig Seite 28
Wie gut ist die PDF-Validierung von JHOVE wirklich? Prüft nur strukturell und syntaktisch Keine Profile wie PDF/A (aber dafür gibt es andere) In 2017 Testsuite von M. Lindlar und Y. Tunnat, PDF gezielt Defekte eingebaut, Ergebnis: • 80% korrekt validiert • 20% false negativ (kaputt, aber Prüfung bestanden) • 2 davon könnte man mit Viewern nicht öffnen Seite 29
JHOVE erkennt bei PDFs längst nicht alle Probleme Nicht eingebettete Schriften: Ist nur bei PDF/A, im PDF laut Spezifikation nicht zwingend erforderlich. Also: Datei valide, aber trotzdem großes Risiko bzgl. Langzeitverfügbarkeit Seite 30
Implikation bekannt bei JPEG Bad Peggy: „corrupt data: premature end of data segment“ Seite 31
Sichtkontrolle? Seite 32
Tool Benchmarking 2016/17 Format Verglichene Tools Ergebnis Bemerkungen JPEG JHOVE 1.14.6 Bad Peggy Best JHOVE hat einen Fehler Bad Peggy 2.0 übersehen PDF JHOVE JHOVE einziger veraPDF 1.8.4 offizieller PDF- pdfaPilot 7 Validator veraPDF ungeeignet pdfaPilot teilweise geeignet TIFF JHOVE 1.14.6 Für TIFF große ImageMagick 7.0.3 Auswahl an guten ExifTool 10.37 Tools DPF Manager 3.1 Checkit_tiff 0.2.0 LibTiff 4.0.7 GIF JHOVE 1.14.6 ImageMagick Best ImageMagick 7.0.3-Q16 NLNZ MD Extractor 3.6GA Bad Peggy 2.2 Seite 33
Fazit • Leider sieht man nicht allen Dateien ihre Probleme an • Invalide und defekt im Sinne der Nutzung trifft nicht zwingend gleichzeitig zu • Tools sind nicht unfehlbar - stellen aber große Hilfe dar • Auch Tools müssen regelmäßig überprüft werden (nicht erkannte Fehler melden via GitHub etc.) Seite 34
Fragen? YVONNE TUNNAT Projektmanagement Langzeitarchivierung Twitter: @YvonneTunnat ZBW –Leibniz-Informationszentrum Wirtschaft Düsternbrooker Weg 120 D-24105 Kiel Germany T: +49 431. 88 14-610 E: y.tunnat@zbw.eu Seite 35
Quellen • Lindlar, Michelle; Tunnat, Yvonne; Wilson, Carl „A PDF Test-Set for Well-Formedness Validation in JHOVE – The Good, the Bad and the Ugly.“ iPRES 2017: 14th International Conference on Digital Preservation, Kyoto, 27.09.2017. URL: https://files.dnb.de/nestor/weitere/ipres2017.pdf • Error Detection of JPEG Files with JHOVE and Bad Peggy – so who‘s the real Sherlock Holmes here? (2016) URL: https://openpreservation.org/blogs/jpegvalidation/ • TIFF format validation: easy-peasy? (2017) URL: https://openpreservation.org/blogs/tiff-format- validation-easy-peasy/ • JHOVE – the one and only PDF validator (2017) URL: https://openpreservation.org/blogs/jhove- the-one-and-only-pdf-validator/ • Good GIF hunting: JHOVE‘s GIF validation skills (2017) URL: https://openpreservation.org/blogs/good-gif-hunting/ Seite 36
Weiterführende Links zu JHOVE JHOVE bei GitHub: https://github.com/openpreserve/jhove Zu JHOVE Fehlermeldungen: http://wiki.opf- labs.org/display/Documents/JHOVE+issues+and+error+messages (alte Dokumentation) https://docs.google.com/spreadsheets/d/1zyg4eqH6akoehI10fNhzroaW 3CgcwUjkNlvvVZvFDyo/edit#gid=421046548 (Liste der Fehler mit kurzen Beschreibungen & Link zu GitHub) Seite 37
Sie können auch lesen