Publicatie:SCALA. Ontwikkeling en evaluatie van een testsysteem voor de preservering van born-digital privaatrechtelijke archieven

Uit Cultureel Erfgoed Standaardentoolbox
Naar navigatie springen Naar zoeken springen


Samenvatting

Deze gevalstudie beschrijft de ontwikkeling en evaluatie van een testsysteem voor de preservering van born-digital privaatrechtelijke archieven. Dit testsysteem is gebouwd met RODA, een softwarepakket op basis van de Europese E-ARK standaard, ontwikkeld en aangeboden door het bedrijf KEEP. De technische partner meemoo levert de infrastructuur waarop het systeem draait, alsook de opslagcapaciteit voor de storage functie van het systeem.

Dit traject was een doelstelling van de eerste fase van SCALA. SCALA is een gemeenschappelijk project van negen culturele archiefinstellingen/erfgoedinstellingen in Vlaanderen en Brussel (AIDA).

Fase 1 heeft als doel een testsysteem voor preservering/archivering van born-digital archieven uit te rollen. Op die manier kunnen de kosten en randvoorwaarden voor het preserveren van born-digital privaatrechtelijke archieven beter ingeschat worden. Dit is belangrijke informatie om een duurzaam samenwerkingsmodel uit te bouwen waarbinnen de AIDA-partners samen de preservering van archieven kunnen aanpakken. De uitbouw van het samenwerkingsmodel is de doelstelling van SCALA fase 2 (2022-2023).


Referentie
Titel SCALA. Ontwikkeling en evaluatie van een testsysteem voor de preservering van born-digital privaatrechtelijke archieven (Voorkeurstitel)
Locatie
Uitgever
Jaar van uitgave 2022
Rechten CC-BY-SA
Persistent ID


Inleiding

Deze gevalstudie beschrijft de ontwikkeling en evaluatie van een testsysteem voor de preservering van born-digital privaatrechtelijke archieven. Dit testsysteem is gebouwd met RODA, een softwarepakket op basis van de Europese E-ARK standaard, ontwikkeld en aangeboden door het bedrijf KEEP. De technische partner meemoo levert de infrastructuur waarop het systeem draait, alsook de opslagcapaciteit voor de storage functie van het systeem.

Dit traject was een doelstelling van de eerste fase van SCALA. SCALA is een gemeenschappelijk project van negen culturele archiefinstellingen/erfgoedinstellingen in Vlaanderen en Brussel (AIDA).

Fase 1 heeft als doel een testsysteem voor preservering/archivering van born-digital archieven uit te rollen. Op die manier kunnen de kosten en randvoorwaarden voor het preserveren van born-digital privaatrechtelijke archieven beter ingeschat worden. Dit is belangrijke informatie om een duurzaam samenwerkingsmodel uit te bouwen waarbinnen de AIDA-partners samen de preservering van archieven kunnen aanpakken. De uitbouw van het samenwerkingsmodel is de doelstelling van SCALA fase 2 (2022-2023).

Beoogde functionaliteit van het testsysteem

Voor de aanbesteding van het testsysteem stelden we onderstaande eisen voorop.

Overeenstemmen met AIDA-waarden

De AIDA-partners hebben zich verenigd om een oplossing te ontwikkelen die overeenstemt met de kernwaarden van het samenwerkingsverband:

  • Onafhankelijkheid van de leverancier. Een asymmetrische machtsverhouding tussen klant en technische partners kan een risico zijn voor de preservatie van de collectie op de lange termijn.
  • Experiment en expertiseopbouw. AIDA-partners willen zelf het kennisniveau op peil houden m.b.t. preservering. AIDA wil meer dan louter een oplossing 'afnemen', maar zelf deelnemen aan de ontwikkeling ervan.
  • Transparantie en inspraak. Het systeem moet goed gedocumenteerd zijn. De AIDA-partners moeten op eigen initiatief preservatieworkflows kunnen ontwikkelen en implementeren. Het systeem moet dus modulair en aanpasbaar zijn.

Afgestemd op de ingest en verwerking van privaatrechterlijk born-digital archief

Privaatrechterlijke born-digital archieven komen vaak bij de archiefinstellingen terecht in een ongeordende, onverwerkte toestand. Orde brengen in deze archieven vereist personeelscapaciteit die niet altijd voorhanden is. AIDA wenst daarom een flexibele preserveringsfunctionaliteit te ontwikkelen, waarin archieven na een minimale hoeveelheid pre-ingestacties kunnen worden geïngest en veilig worden bewaard op tape storage van meemoo. Op die manier kan de daadwerkelijke verwerking beter worden ingepland en door automatische metadata-extractie zijn de archieven bovendien meteen doorzoekbaar. Dit betekent ook dat het systeem wijziging van AIPs (AIP edities) in een latere fase moet toelaten, via het toevoegen, wijzigen of herstructuren van data en metadata.

E-ARK conforme AIPs

Om de onafhankelijkheid van de leverancier te bevorderen, besloot AIDA om in te zetten op een systeemonafhankelijk AIP. Dit is de doelstelling van de Europese E-ARK standaard.

Kan geïntegreerd worden met bestaande infrastructuur

Omdat AIDA niet zelf in de nodige opslaginfrastructuur wil voorzien, moet de oplossing geïntegreerd kunnen worden met bestaande systemen. Voor SCALA fase I hebben we gekozen om de piloot uit te voeren op het archiefsysteem (MAM) van meemoo.

Aanbesteding

Via een aanbesteding (Onderhandelingsprocedure zonder voorafgaande bekendmaking) selecteerden we een leverancier die het testsysteem zou ontwikkelen en de nodige ondersteuning zou bieden aan de AIDA-partners. De selectie van een leverancier doorliep verschillende fases.

Voortraject: Request for information (RFI)

In 2019 werden gesprekken gevoerd met de leveranciers van de softwarepakketten Preservica, ESSArch (ES Solutions), Archivematica (Artefactual) en RODA (KEEP Solutions) en werd hun gevraagd om een demo te geven van hun software.

Op basis van de gesprekken werd beslist dat open source software de voorkeur wegdraagt voor het piloot preserveringssysteem, omdat dit het beste overeenkomt met de waarden die we met het AIDA-samenwerkingsverband willen nastreven.

Door middel van een Request for Information (RFI) aan de leveranciers die werken op basis van een open source licentie, kregen we een eerste indicatie van het benodigde budget. Via een RFI vraag je aan een leverancier geen formeel bindende offerte, maar wel een indicatie van prijzen op basis van een eerste overzicht van eisen.

Aanbesteding: Request for proposal (RFP)

In mei 2021 werd een request for proposal (offerteaanvraag) gestuurd naar de leveranciers die werken met een open source licentie, met name ES Solutions, Artefactual en KEEP Solutions. In het technische deel van de offerte werd vooral gehamerd op de volgende aspecten:

  • Het systeem kan een SCALA Transfer Bag opnemen (een eigen implementatie van  BagIt dat de CP’s wilden gebruiken om data aan het systeem te leveren).
  • Het systeem kan AIPs na ingest ook weer ophalen, aanpassen (bv. migratie) en daarna terug ingesten.
  • De leverancier gebruikt enkel software en code die beschikbaar is onder een open-sourcelicentie.
  • Het systeem produceert SIPs en AIPs die voldoen aan de E-ARK specificatie.
  • Het systeem kan draaien op de infrastructuur van meemoo.
  • Er moet frequent contact zijn met de leverancier.

Daarnaast waren er enkele belangrijke voorwaarden, die geen breekpunt vormden:

  • Het systeem ondersteunt de ingest workflows en OAIS-implementatie die SCALA voor ogen heeft.
  • Het systeem kan AIPs opslaan op disk of tape volgens de eisen van meemoo.
  • Alle code en documentatie wordt gepubliceerd op een publieke GitHub repository.

Bij de offerteaanvraag werden vier bijlagen toegevoegd, waarin verschillende technische zaken verder in detail worden uitgewerkt:

  • Een flow van drie verschillende ingest pipelines (AIP-creatie, nieuwe AIP-versie, nieuwe AIP-edition).
  • De manier waarop SCALA de functionele entiteiten uit OAIS wil implementeren.
  • De technische specificatie voor een transfer bag, dit wil zeggen, het formaat waarin AIDA de bestanden aan het systeem wenst aan te leveren.
  • De technische specificatie voor de AIP, gebaseerd op E-ARK.

Twee bedrijven (Artefactual en KEEP Solutions) dienden een offerte in. Na een evaluatie en onderhandelingsronde werd besloten om de opdracht te gunnen aan KEEP Solutions.

Ontwikkeling

Architectuur

SCALA architectuur

Bijhorende afbeelding geeft een overzicht van de algemene systeemarchitectuur die werd ontwikkeld.

Pre-ingest

  • RODA-In is de tool die we gebruiken om SIPs te creëren.
  • Iedere gebruiker laadt via sFTP SIPs op naar een RODA dropfolder (enkel toegankelijk voor de gebruiker).
  • RODA is een tool die geüploade SIPs omzet tot AIPs, of die AIPs update.
  • AIPs die klaar zijn voor ingest worden aangeboden aan een MAM dropfolder.

Ingest

  • MAM is het archiefsysteem van meemoo dat AIPs ontvangt van RODA en opslaat in het digitaal depot van meemoo.

Archive

  • Tape of disk storage van meemoo.

Geplande ontwikkelingen

RODA is een open source systeem dat out-of-the-box kan worden geïnstalleerd en gebruikt. Zoals vaak bij de ingebruikname van een softwarepakket, waren er enkele specifieke configuraties of ontwikkelingen nodig zodat RODA aan de vereisten van het SCALA project kon voldoen.

Volgende ontwikkelingen waren voorzien bij de start van het project.

AIDA ingest plugin

RODA is een modulair systeem dat verschillende functies uitvoert via plugins. Speciaal voor SCALA werd een specifieke ingest plugin ontwikkeld. Deze plugin neemt als input een E-ARK SIP (versie 2.0.4), voert er vervolgens de AIDA ingest workflow op uit en geeft als output een E-ARK AIP (versie 2.0.4). Als er tijdens de ingest flow issues zijn, wordt geen AIP als output gegeven, maar een rapport van wat er is misgelopen.

De AIDA ingest plugin bouwt verder op de standaard RODA ingest plugin en voegt twee processen toe: Remove unwanted files en Generate meemoo descriptive metadata.

AIDA ingest workflow

Volgende processen worden in volgorde uitgevoerd op de SIP

  1. E-ARK SIP validation: Controleert de validiteit van de SIP met de software commons-ip.
    • Controle op conformiteit met de E-ARK specificatie.
    • Controle op volledigheid (zijn alle bestanden aanwezig?).
    • Controle op checksums (zijn alle bestanden ongewijzigd?).
  2. Remove unwanted files: Verwijder ongewenste bestanden volgens vooropgestelde regels.
    • Er wordt een blacklist bijgehouden met bestandsformaten die automatisch uit de SIP worden gehaald. Deze blacklist kan zo nodig worden uitgebreid.
  3. Antivirus: Scant SIPs op schadelijke inhoud met behulp van de antivirustoepassing ClamAV.
    • Als er schadelijke software wordt gedetecteerd, wordt er een rapport gegenereerd.
  4. Descriptive metadata validation: Valideert de scala.xml die in het SIP aanwezig is.
    • Het scala.xml bestand bevat de beschrijvende metadata die aangeleverd worden door de AIDA-partners.
    • Validatie gebeurt op basis van de XML-schema's (XSD) die in de repository zijn geïnstalleerd. Er wordt een validatierapport gegenereerd dat aangeeft welke informatiepakketten geldige en ongeldige metadata hebben.
  5. Fixity information computation: Berekent checksums voor alle bestanden en slaat deze op als PREMIS objecten.
    • Deze taak gebruikt SHA-256, SHA-1 en MD-5 als checksum-algoritmes, maar andere algoritmes kunnen worden geconfigureerd.
  6. File format identification: Identificeer bestandsformaten en formaat met Siegfried.
    • Net zoals DROID identificeert Siegfried bestanden op basis van digital file signatures die worden bewaard in de PRONOM-databank. De resultaten van de actie worden opgeslagen in PREMIS objecten. Het volledige rapport van Siegfried wordt eveneens opgeslagen in het AIP.
  7. Verify user authorization: Verifieert of de gebruiker gemachtigd is om de AIPs op te slaan in de archival storage en of deze toegang heeft in de werkzone van de AIDA-partner.
  8. Generate meemoo descriptive metadata: Creëert een meemoo.xml bestand dat de metadata bevat om de integratie met meemoo te beheren.

Meemoo plugins

De RODA-omgeving creëert AIPs en laat toe om AIPs te bewerken. RODA is echter een pre-ingest tool die niet instaat voor de langetermijnbewaring van de archieven. Wanneer AIPs klaar zijn voor archival storage, worden ze naar meemoo gestuurd voor opslag op tape storage. Drie plugins werden hiervoor ontwikkeld:

  • Submit AIP to meemoo: hiermee worden AIPs aangeboden aan de meemoo repository. Er wordt een sidecar.xml bestand gegenereerd met enkele kern-beschrijvende metadata uit de AIP. De sidecar.xml bevat essentiële metadata die worden opgeslagen in het MAM van meemoo. Ze wordt gegenereerd op basis van bestaande metadata in de AIP.
  • Prune AIP representations: data van AIPs die op meemoo zijn opgeslagen, hoeven niet op RODA te blijven staan. Via deze plugin kun je de data van AIPs verwijderen uit RODA, zodat ruimte vrijkomt binnen de RODA storage. Metadata van de AIPs blijven wel beschikbaar en doorzoekbaar in RODA.
  • Restore pruned representations from meemoo: hiermee kunnen de data van een AIP opnieuw worden opgehaald, zodat het AIP opnieuw kan worden geconstrueerd. Vanaf dan kan RODA het AIP wijzigen/updaten en hierna weer naar meemoo sturen. Op dat moment wordt er een nieuwe versie van het AIP opgeslagen in het MAM van meemoo.

In RODA wordt een meemoo.xml bestand bijgehouden per AIP, dat toelaat om de status van het AIP op meemoo te tracken, bijv.

  • De laatste versie van een AIP.
  • Of de versie al gesynced is met meemoo. (In het andere geval bestaat deze versie van de AIP enkel op RODA).
  • De datum waarop de laatste versie werd toegevoegd in meemoo.
  • Of en AIP al dan niet pruned is.

De keuze om al dan niet te 'prunen' wordt in de pilootfase manueel uitgevoerd door gebruikers. In een productiefase is dit wellicht moeilijk beheersbaar en zullen deze stappen worden geautomatiseerd in een workflow.

Voorbeeld van een meemoo.xml bestand

Off-the-shelf plugins

Er werden op vraag van AIDA ook enkele off-the-shelf plugins toegevoegd. Dit betekent dat de plugins al bestonden en niet moesten worden ontwikkeld door KEEP. Deze plugins werken out-of-the-box, maar hebben wel extra configuratie nodig wanneer deze plugins zouden worden gebruikt in een productieomgeving, vooral omwille van het grote beslag die het gebruik van de plugins leggen op systeembronnen.

De plugins:

  • Create E-ARK AIP 2.0 manifest files (METS.xml) - creëert een E-ARK AIP 2.0 METS-bestand van de bestaande informatie in de AIP. Op die manier wordt een AIP gegenereerd die conformeert aan de specificatie.
  • Unoconv - een tool die allerlei bestandsformaten van office documenten kan herkennen en migreren.
  • Imagemagick - een tool die allerlei bestandsformaten van afbeeldingen kan herkennen en migreren. Het kan ook gebruikt worden om andere transformaties toe te passen.

Onvoorziene ontwikkelingen

Tijdens de ontwikkeling van RODA, kwamen nieuwe feature requests en bugs naar boven. Dit was zo voorzien in de projectplanning (zie onder). Bugs en feature requests werden behandeld door KEEP tijdens ontwikkelingsfases 2 en 3. Hieronder een overzicht van de belangrijkste ontwikkelingen. In Bijlage: RODA features en fixes is een volledige lijst beschikbaar.

  • METS-bestand automatisch genereren bij het opslaan van een AIP naar meemoo --> Door deze wijziging zijn de AIPs in meemoo volledig conform AIDA.
  • Er was in de metadata geen rechtstreekse link tussen de PREMIS object informatie en het object zelf --> Dit werd opgelost door het UUID van het object op te slaan bij de PREMIS metadata (zie issue op RODA Github).
  • Toestaan om Pronom PUID te gebruiken als parameter voor de conversie van documenten in unoconv.

Bij het testen van de open source tool RODA-In, werden ook hier door AIDA bugs gerapporteerd. Deze bugs op de RODA-In GitHub werden behandeld.

Projectplanning

AIDA-leden verzamelden per iteratie hun bevindingen als issues op GitHub. Bugs en feature requests werden zo gemeld aan KEEPS, die ze op hun beurt behandelde.

Er vonden drie ontwikkelingsfases plaats, waarna telkens een volgende iteratie van de RODA software gereleased werd.

Iteratie 1: RODA basisversie

  • een definitieve projectplanning werd afgesproken.
  • meemoo configureerde de nodige infrastructuur: Server voor RODA, FTP-server voor transfer van SIPs en AIPs.
  • keep rolde de basisversie van RODA werd uitgerold.
  • AIDA-partners verkregen toegang om de bestaande functies uit te testen met hun eigen archieven.
  • Voltooid op 20/8/2021.

Iteratie 2: Voorziene ontwikkelingen (AIDA ingest, meemoo & off-the-shelf plugins)

  • Ontwikkeling van AIDA ingest plugin.
  • Ontwikkeling van meemoo plugins.
  • Ter beschikking stelling off-the-shelf plugins.
  • Bug fixes.
  • Voltooid op 11/10/2021.

Iteratie 3: Bug fixes en verbeteringen

Evaluatie

In werkpakket 3 van het SCALA-project voorzagen we acties om het pilootsystemen uit te testen en evalueren. Een gebruikersbevraging werd georganiseerd om de input van alle AIDA-partners te bekomen.

Testarchieven

De partners testten onderstaande archieven uit in RODA.

Instelling Archief Aantal files Data (GB)
Amsab Globelink 1991-2019 (S/2019/160) 153713 822.10
Amsab Amnesty International Vlaanderen 1996-2012 (D/2017/001) 28226 53.60
Amsab Kabinet van Vlaams minister van onderwijs Eddy Baldewijns (D/1999/025) 32924 1.78
AMVB Festival van Vlaanderen – Afdeling Brussel (BE AMVB 362) 60215 182
VAi Christian Kieckens 158118 480
CAVA Lichtpunt 20753 22.4
ADVN VTB-VAB 52000 52
Letterenhuis Meulenhoff-Manteau 55145 7.37
AVG-Carhif Wereldvrouwenmars 1545 0.85
AVG-Carhif Furia 17954 11.12

Procestimings

SIP creation time

Tijdens verschillende processen werden tijdsmetingen uitgevoerd om een beeld te krijgen op de performantie van het pilootsysteem. Specificaties van de gebruikte PC:

Processor Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz 2.90 GHz
Geïnstalleerd RAM-geheugen 16,0 GB (15,7 GB beschikbaar)
Type systeem 64-bits besturingssysteem, x64-processor
Editie Windows 10 Pro Versie 21H1

Ingesttijden

  • SIP creation time: Snelheid is afhankelijk van de performantie van de gebruikte computer.
  • SIP upload time: Upload van gebruiker naar de RODA server via FTP. Snelheid is afhankelijk van de kracht van de internetconnectie.
  • SIP ingest time: SIP naar AIP transformatie in RODA. Snelheid is afhankelijk van de performantie van de RODA server.
SIP upload time naar RODA server
SIP ingest time

Meemoo plugin times

De snelheid van onderstaande processen hangt af van de beschikbare rekenkracht op de server en de beschikbaarheid van het meemoo depot.

Process Amount of AIPs Amount of data (GB) Time
Submit AIP to Meemoo (1.0) 55 50 1 hours, 39 minutes and 11 seconds
Prune AIP representations (1.0) 55 50 16 minutes and 19 seconds
Restore pruned representations from Meemoo (1.0) 55 50 51 minutes and 16 seconds

Kostenstructuur

Om de kostenstructuur te berekenen, gingen we uit van een termijn van vijf jaar waarin het systeem zou worden gebruikt. Onderstaande prijzen geven inschattingen op basis van gesprekken die we hadden met dienstenleveranciers. Het gaat niet om toegezegde of vastgelegde bedragen.

SCALA systeem

Om het SCALA pilootsysteem operatief te houden met een geschat werkgeheugen van 40 TB, wordt gerekend dat 16.000 euro budget per jaar nodig zal zijn.

  • 40.000 EUR gaat naar de aankoop/installatie van server hardware voor het RODA-systeem. Afgeschreven over vijf jaar komt dit neer op een jaarkost van 8000 EUR. De server voorziet in 8 CPU en 64 GB RAM en storage tot 40 TB. Dit is de maximale werkruimte die we denken nodig te hebben over een periode van vijf jaar.
    • Berekeningen met cloudsystemen vielen duurder uit, al bestaat daar wel het voordeel dat de 40 TB opgeschaald kan worden naargelang het nodige gebruik. 40 TB zal immers enkel nodig zijn als alle AIDA-partners tegelijkertijd hun storage limieten maximaal gebruiken. De afweging zal verder worden gemaakt in SCALA fase II.
  • 8000 EUR gaat jaarlijks naar support voor zowel preserveringssysteem als de hardware.

Bijkomende kosten

  • Een medewerker zal nodig zijn voor het applicatiebeheer, opleiding en eerstelijnssupport aan AIDA-partners (Geschat: 0,7 VTE).
  • Per AIDA-partner is er een kost voor de opslag van de data bij meemoo.
  • Een systeem moet blijvend worden doorontwikkeld. We schatten over een periode van vijf jaar een bijkomende kost van 16.000 EUR.

Daarbij komen uiteraard nog kosten van AIDA-leden voor manuele pre-ingest en lidmaatschap bij AIDA.

Geïdentificeerde issues

In de eindevaluatie werden enkele (potentiële) issues geïdentificeerd met de huidige pilootopstelling.

Cold storage mogelijk niet flexibel genoeg

Tijdens de transformatie van SIP naar AIP in RODA wordt data opgeslagen op disk storage, d.w.z. op hot storage, zodat ze instant toegankelijk zijn voor de preserveringstools van het pilootsysteem. Eenmaal een AIP stabiel, wordt deze naar de tape library van meemoo gestuurd, d.w.z. op cold storage. Cold storage is goedkoper en milieuvriendelijker, maar het gebruik van de bewaarde data is duurder, omdat het langer duurt om deze in te lezen. De keuze voor deze workflow was ingegeven door AIDA’s initiële doelstelling om een archiefcontainer (AIP) te definiëren die kon opgeladen worden in de bestaande lange termijn opslag-op-tape-infrastructuur van meemoo.

In deze pilot konden we echter niet testen in welke mate deze ‘lineaire workflow’ volstaat om verdere verwerking en preservering van gearchiveerde IP’s toe te laten. Preservatie impliceert een eerder ‘cyclische’ workflow waarbij archief in onregelmatige tijdsintervallen wordt verwerkt. Dit vereist een meer dynamische infrastructuur waarvoor de huidige tape storage misschien niet voldoet.

RODA's omgang met gemigreerde bestanden leidt tot duplicatie

RODA duplicatie door datamigratie

RODA slaat gemigreerde bestanden op volgens de E-ARK standaard. Een gemigreerd bestand komt in een nieuwe representatiefolder terecht.

Maar het komt vaak voor dat niet voor alle bestanden een migratiestrategie voorhanden is. Het volgen van de E-ARK standaard vereist dat deze bestanden mee worden gekopieerd in de nieuwe representatie, zodat een volledige nieuwe representatie voor het AIP ontstaat. (Zie AutoCAD.dwg-bestand in de afbeelding) Het spreekt voor zich dat dit naar opslag toe niet evident is.

Verder lezen

Manuals en alle technische info op de SCALA Github.

Bijlages

Bijlage: RODA features en fixes