4. Nástroje pro práci s digitálními objekty

Digitální soubory nebo objekty je nutno do detailu poznat, abychom je mohli dlouhodobě uchovávat. K tomu existuje mnoho nástrojů různého zaměření. Postup zpracování digitálního objektu před vstupem do dlouhodobého archivu může být sledem kroků, které mají nejprve rozpoznat, o jaký digitální formát se jedná; dále pomocí dalších nástrojů ověřit, že digitální objekt je validní reprezentací daného typu formátu. Nástroje mohou také získat technická metadata z objektu nebo z něj extrahovat důležité technické vlastnosti. Jde většinou o nástroje volně dostupné, fungující jako samostatné stojící aplikace ovládané přes příkazovou řádku, výjimečně mají nástroje uživatelské rozhraní. Velmi často jsou integrované v komplexních systémech pro dlouhodobou ochranu.  

Identifikace formátů dat

Identifikace je obvykle prvním krokem při zpracování digitálního objektu v repozitáři, předchází ji kontrola "fixity", antivirové kontrole a kontrolách úplnosti balíčku dat přicházejících od producenta. Cílem vlastní identifikace digitálního formátu je nejen jednoznačné určení formátu a jeho verze, ale také získání jednoznačného identifikátoru formátu a jeho verze, které přesně určují typ souboru pro pozdější procesy. V internetovém prostředí se často používá jako identifikátor typu formátu tzv. MIME-type. Ten dokáží zjistit obvyklé nástroje operačních systémů/file systémů, ovšem pro dlouhodobou archivaci je tahle informace nedostatečná. Vedle MIME-typu totiž pracují systémy repozitářů nejčastěji s PRONOM Unique ID, tzv. PUID. K jednoznačnému určení, identifikaci formátu, používají nástroje v oblasti dlouhodobé archivace tzv. "signatures" nebo "magic numbers". Jsou to v podstatě konkrétní bitové sekvence, které se musí nacházet v těle souboru na místech typických pro daný formát. Při identifikaci také mohou pomáhat externí znaky – jako je koncovka souboru. 

Nástroje na identifikaci, resp. workflow, které tyto nástroje používá, musí řešit situace, kdy např.:
  • koncovka souboru neexistuje;
  • koncovka souboru neodpovídá formátu identifikovanému pomocí "signature"; 
  • více metod identifikace nevede k stejnému výsledku (soubor s koncovkou .pdf je identifikován jako .doc);
  • není k dispozici "signature", která by souborový formát uměl identifikovat (nové nebo exotické formáty);
  • je identifikováno více typů/verzí formátů, mezi nimiž není nástroj schopen dále rozlišit (typicky TIFF, DOC, XML nebo TXT soubory);
  • soubor je hybridní – obsahuje "signatures" více formátů (PDF a HTML/javascript v jednom, OCR TXT obsahují zdrojový kód naskenovaný k článku apod.).
Při praktickém využití nástrojů pro identifikaci velkého množství souborů musí vývojáři vždy volit mezi rychlostí a spolehlivostí. Rychlejší nástroje obvykle používají jednodušší metody identifikace (hledají sekvenci bitů v kratší části souboru nebo kontrolují jen hlavičky apod.). Větší spolehlivost znamená často vyšší nároky na čas a výpočetní výkon. Většina nástrojů tohoto typu se běžně nepoužívá jako samostatně stojící aplikace, častěji jsou zapojeny do jiné komplexní aplikace nebo systému. 

Nejobvyklejší nástroje pro identifikaci souborových formátů jsou: 
  • DROID (Digital Record Object Identification) – http://droid.sourceforge.net/, Java, používá PRONOM "signatures" – je nástroj vyvinutý Národním archivem Velké Británie. Provádí automatickou identifikaci formátů jak u jednotlivých objektů, tak hromadně. Výstupem je informace o konkrétní verzi formátu digitálního objektu. K tvorbě výstupu využívá databázi registru formátů PRONOM, ke které je připojen. PRONOM obsahuje informace o formátech, které DROID identifikuje. Nutno podotknout, že ač JHOVE i DROID/PRONOM používají k identifikaci stejný postup (dle přípon, podpisů a sekvencí bytů), výsledky jsou často různé. Jde o známé problémy a je s nimi při práci v LTP systémech počítáno. DROID občas využívá pouze rozlišení dle přípony, pokud není schopen identifikovat formát pomocí "signatures". Použití pouze koncovky není ke kvalitní identifikaci bráno jako dostatečné. Mnoho různých formátů může mít stejnou příponu, včetně variant stejného formátu. Ve své nové verzi 6 umí DROID také kontrolovat integritu jednotlivých digitálních objektů i celých složek. V případě změny hlásí problém.
  • FIDO (https://github.com/openpreserve/fido) – Python, používá PRONOM "signatures" – velmi rychlý nástroj na identifikaci formátů digitálních objektů vyvinutý díky Open Planets Foundation komunitě. Používá podpisy z databáze PRONOM, zachází s nimi ale jinak než např. DROID, FIDO nemusí být přesné.
  • Nanite (https://github.com/openplanets/nanite/) – Nanite staví na nástroji DROID a Apache Tika, takže je schopen nejen identifikovat, ale také extrahovat metadata. Je stavěn tak, aby zvládal velká množství dat, např. s použitím HADOOP. 
  • Siegfried (http://www.itforarchivists.com/siegfried) – Golang, používá PRONOM „signatures“ – nástroj vyvinutý v roce 2014, umožňuje editaci "signatures", využívání více PRONOM "signatures" najednou, specifikaci způsobu identifikace apod. 
  • ffident (https://github.com/gmcgath/ffident) – java knihovna, podporuje jen některé formáty 
  • Unix File (http://unixhelp.ed.ac.uk/CGI/man-cgi?file=
  • Apache Tika (http://tika.apache.org/
  • TRID (http://mark0.net/soft-trid-e.html)
Příklad exportu metadat pro jeden soubor z nástroje DROID (výstup lze konfigurovat): 

zdroj

koncovka

velikost

datum poslední úpravy

výsledek identifikace

popis formátu

verze

mime type

PUID

metodu identifikace

path

jp2

3.1MB

19.09.2014 16:21

done

JP2 (JPEG 2000 part 1)


image/jp2

x-fmt/392

signature

Validace formátů a extrakce technických metadat (někdy také charakterizace) 

Validace a extrakce technických metadat představují soubor kroků následující po potvrzení identity souboru. Validací se zjišťuje nakolik je daný digitální objekt v souladu s konkrétním předpisem nebo standardem pro daný typ formátu. Zjišťuje, zda jsou naplněny syntaktické požadavky (zda je objekt well-formed) a sémantické požadavky (zda je valid). Charakterizace nebo extrakce technických metadat je pak další fází, jejíž cílem je získat (do metadat) v repozitáři ke každému objektu informace o pokud možno všech vlastnostech (včetně těch, které budou ochraňovány – signifikantní vlastnosti) digitálního objektu. Každý takový nástroj pochopitelně produkuje větší množství metadat a repozitář je musí nějak konvertovat nebo zasadit do datového modelu svého balíčku AIP. 

Protože zde už se jedná o podrobnější zpracování formátů, nelze očekávat, že jeden nástroj bude umět bezchybně pracovat s jakýmkoli formátem. Podobně jako v oblasti identifikace formátů, jsou i tyto nástroje vyvíjené jako open-source a každý projekt má své limity. Nejobvyklejší nástroje, jako je JHOVE, podporují jen několik základních skupin formátů a validaci jiných neumožňují. Komunita proto našla dvě řešení – jednou cestou je vývoj formátově specifických nástrojů (jako je Jpylyzer nebo mnoho validátorů PDF/A) nebo balení více nástrojů do jednoho "wrapperu" (jako je např. FITS).

Důležité je si uvědomit, že validace znamená ověření toho, že celé tělo souboru má strukturu a obsah, které jsou stanovené nějakým předpisem, nejčastěji specifikací formátu. V praxi to znamená, že k ověření validity musí nástroje analyzovat třeba i celý obsah souborů.  

Samotná extrakce technických metadata nebo významných vlastností může být jednodušší. V této oblasti se běžně používají základní nástroje jako je ExifTool, který je populární i mimo oblasti dlouhodobé archivace, nebo Metadata Extraction Tool, MediaInfo a další. Ovšem tyto nástroje formáty většinou nevalidují. 
Obvyklé nástroje pro validace formátů a extrakci metadat: 
  • JHOVE (JSTOR/Harvard Object Validation Environment) http://hul.harvard.edu/jhove/ – je velmi úspěšný a všude využívaný nástroj, vyvinutý na Harvardské univerzitě ve spolupráci s organizací JSTOR. Cílem bylo automatizovat identifikaci, validaci a extrakci metadat digitálních objektů. Nástroj pracuje s několika datovými formáty (AIFF, ASCII, BYTESTREAM, GIF, HTML, JPEG2000, JPEG, PDF, TIFF, UTF8, XML, ZIP a WAV). Je v mnoha ohledech nastavitelný, např. podoba výstupu (délka, výstupní formát txt nebo XML, obsah záznamu), způsob práce s objekty. JHOVE ale nepodporuje běžné formáty kancelářských dokumentů, kromě PDF. To může působit problémy hlavně v archivech, které tyto dokumenty budou od institucí dostávat. 
  • JHOVE2 https://bitbucket.org/jhove2/main/wiki/Home – pokus o následovníka JHOVE1, umí odlišné formáty, nikdy se ale masově neujal.
  • NZME (New Zealand Metadata Extraction Tool) http://meta-extractor.sourceforge.net/ – jde o jeden z prvních nástrojů pro dlouhodobou ochranu vůbec. Vytvořen byl v Národní knihovně Nového Zélandu v roce 2003 se záměrem mít nástroj, který dokáže vyextrahovat ochranná metadata (převážně technická) z formátů používaných balíkem Microsoft Office. Nástroj se dodnes vyvíjí a v mnoha LTP systémech doplňuje JHOVE. Oba nástroje umí některé formáty zároveň, některé umí pouze NZME (formáty sady MS Office do verze 2007 – neumí na xml založené formáty docx, xlsx a pptx).
  • FITS (The File Information Tool Set) http://code.google.com/p/fits/  – jde o nástroj, který provádí identifikaci, validaci a také extrakci metadat z různých typů digitálních objektů. FITS spojuje různé obecně známé nástroje (JHOVE, ExifTool, NZME, DROID, FFident aj.) do jednoho, normalizuje a upravuje jejich výstupy a také hlásí jejich chyby. Vytvořen byl na univerzitě v Harvardu pro použití v jejich LTP systému. 
  • EPub validace online http://validator.idpf.org/.
  • Jpylyzer https://github.com/openpreserve/jpylyzer – validace a extrakce metadat z obrazových souborů ve formátu JPEG 2000.
  • ExifTool http://www.sno.phy.queensu.ca/~phil/exiftool/ – zaměřen na obrazové soubory.
  • Ffprobe http://www.ffmpeg.org/ffprobe.html – mj. extrakce metadat z audio-video souborů.
  • Mediainfo https://mediaarea.net/cs/MediaInfo – nástroj určený spíše pro audio a video formáty.
  • BWF MetaEdit http://bwfmetaedit.sourceforge.net/ – nástroj určený spíše pro audio a video formáty. Podporuje editaci metadat, export apod.
Seznam dalších validátorů můžete nalézt na na blogu Gary McGatha: http://www.garymcgath.com/formatsoftware.html.

Formátová migrace (a normalizace) 
Migrace digitálního objektu z jednoho formátu do jiného je jednou ze základních strategií dlouhodobé archivace. Vedle tohoto typu migrace se stejným termínem často označuje přesun dat z jednoho HW nebo replikace dat do další lokality apod. Zde ale budeme mluvit o formátové migraci, tedy převodu z jednoho formátu do druhého za účelem zajištění uchování a trvalé použitelnosti obsahu digitálního objektu, ať už proto, že formát objektu již zastarává, nebo s ním je spojeno konkrétní riziko. 
Formátová migrace není jen jednoduchým převodem objektu z formátu A do formátu B.  
  • Správce obsahu má obvykle tisíce, miliony souborů v různých formátech. Předně musí mít každý z nich identifikovaný formát a přidělené ID formátu a jeho verze. 
  • Správce musí mít nástroje pro identifikaci rizikové vlastnosti (například kompresního algoritmu, který je proprietární nebo chybný) nebo musí být schopen identifikovat nevalidní soubory nebo soubory ve formátech, které nepovažuje za vhodné k archivaci. V praxi je nutné mít o každém souboru vyčerpávající technické informace, na kterých lze později stavět. Jakmile se zjistí, že určitá vlastnost nebo technologie použitá v konkrétním formátu je riziková, je možné na základě technických metadat identifikovat postižené soubory a začít s nimi pracovat. To samé platí pro data, která jsou ve formátech, které se v určitém okamžiku formáty stanou zastaralými, ty také musí být nutné v archivu najít na základě metadat. Nevalidní soubory by měly být identifikovány již při vkládání do archivu. Pokud se správce rozhodne je uložit i přes to, že jsou nevalidní, pak musí tuto informaci uchovat v metadatech v podobě údaje o rizicích a informace o nevaliditě souboru.
  • Správce musí být schopen definovat, jaké vlastnosti informačního obsahu souborů se mají při migraci zachovat. K tomu potřebuje nástroje, aby mohl možné migrační scénáře porovnat, zkontrolovat výsledky a odhadnout časové nároky migrace. 
  • Výsledek migrace, nový soubor a proces migrace samotný musí být popsány v metadatech objektu. Vazba mezi originálním souborem, který se zachovává a novou verzí musí být z metadat jasná a vystopovatelná.
  • Pokud je repozitář skutečně budován s cílem informační obsah dlouhodobě uchovávat, měl by mít k dispozici nástroje a mechanismy, které mu umožní se o potřebě objekty migrovat dozvědět. Musí mít také dostatečně kompetentní zaměstnance, kteří dovedou s pomocí LTP systému a dalších nástrojů migraci provést a vyhodnotit rizika apod. 
Z výše uvedeného je vidět, že technická realizace migrace z formátu A do formátu B je jen jedním z mnoha kroků v řetězu aktivit. Těmto aktivitám se říká “plánování dlouhodobé archivace” (preservation planning). K podpoře těchto aktivit vytvořila komunita zabývající se dlouhodobou archivací řadu metodických i praktických nástrojů (PLATO, Planets test-bed a další). Více viz kapitola Plánování dlouhodobé ochrany. 

Obvyklé nástroje pro formátové migrace (používané jako samostatné aplikace nebo v podobě pluginů pro komplexní systémy dlouhodobé ochrany):
  • ImageMagick: http://www.imagemagick.org/index.php Je zdaleka nejpoužívanější univerzální knihovnou v oblasti migrace obrazových formátů. 
  • MEncoder – http://www.mplayerhq.hu/DOCS/HTML/en/encoding-guide.html je open source nástroj na transkódování video formátů ovládaný z příkazové řádky.
  • ffmpeg – http://www.ffmpeg.org/about.html podobně jako MEncoder umí přehrávat, transformovat, a streamovat video i audio formáty.
  • VLC – http://www.videolan.org/vlc/index.html oblíbený přehrávač má grafické uživatelské rozhraní a umí provádět i konverze a audia.
  • Jako nástroj lze použít i australský systém XENA, který je specializován na migrace formátů během ingestu (tedy normalizace) a lze jej tedy použít pouze na tento úkon – http://xena.sourceforge.net/. Je součástí australského balíku nástrojů pro podporu logické dlouhodobé ochrany DSPS (Digital Preservation Software Platform). Vyvinuto v Národním archivu Austrálie. 
  • LibreOffice – http://www.libreoffice.org/ – nebo jeho knihovny jsou často používány na migrace MS Office dokumentů do PDF nebo OpenOffice formátů.
  • Calibre – http://calibre-ebook.com/ – migrace různých formátů pro elektronické knihy.
Samozřejmě v určitých případech mohou být použitelné i různé další formátově specifické, a často proprietární, nástroje. 

Příklad procesu plánování formátové migrace podávají McKinney a Gattuso v článku o migraci z formátu WordStar. Některá komerční řešení jako Ex Libris Rosetta nebo i Preservica obsahují moduly pro plánování dlouhodobé ochrany, které poskytují "test bed" umožnující simulaci migrace pomocí více nástrojů, dále její vyhodnocení a pak teprve aplikaci na vybraná data daného typu v repozitáři.