Hyppää pääsisältöön

Bittitason säilyttäminen PAS-palvelussa

Hyvänä lähtökohtana on tuottaa aineistoa tai normalisoida se säilytykelpoiseen tiedostomuotoon ennen PAS-palveluun siirtämistä. Tällä tavalla aineisto saatetaan ns. "täyden palvelun piiriin" pitkäaikaissäilytyksessä, eli sekä bittitasolla että loogisella tasolla. Paitsi, että PAS-palvelut valvovat aineiston ehyttä ja muuttumattomuutta, se myös seuraa esimerkiksi tiedostomuotojen vanhentumista ja omaa tekniset kyvykkyydet migroida aineisto vanhenevista tiedostomuodoista uusiin muotohin kohdeyleisön tarpeiden mukaan. Myös aineiston teknisen rakenteen oikeellisuus varmistetaan. Aina tämä ei kuitenkaan ole suoraviivaista, koska säilytys- ja siirtokelpoisten tiedostomuotojen joukko on rajallinen. Tässä puhutaan siitä, minkälaisia vaihtoehtoja on saattaa aineistoa säilytykseen pelkästään bittitasolle PAS-palvelussa.

Mitä tarkoittaa aineiston bittitason säilyttäminen PAS-palvelussa?

Aineiston säilyttäminen pelkästään bittitasolla PAS-palvelussa tarkoittaa, että aineisto säilytetään alkuperäisessä muodossa niin, että PAS-palvelu ei ylläpidä tällaisen aineiston käytettävyyttä. Tällaisen aineiston käytettävyyden varmistaminen on siten hyödyntävän organisaation vastuulla.

Bittitason aineistolle ei suoriteta loogisen säilyttämisen toimenpiteitä PAS-palvelussa. Tämä tarkoittaa käytännössä, että bittitason aineistolle ei aseteta samoja rajoituksia tiedostomuodoille, aineiston validiudelle tai teknisten piirteiden dokumentoinnille teknisten metatietojen avulla, kuin loogisen säilyttämisen piirissä olevalle aineistolle. PAS-palvelu ei valvo tällaisen aineiston tiedostomuotojen elinkaarta eikä suorita tiedostomuotomigraatioita tällaiselle aineistolle. Jotta tällainen aineisto voi pysyä käyttökelpoisena, hyödyntävän organisaation pitää itse ylläpitää tietoa siitä, kuinka aineistoa käytetään, ja sekä dokumentoida itselleen että valvoa aineiston käytön ympäristöä tulevien muutoksien varalta.

PAS-palvelu takaa bittitason säilytyksessä olevan aineiston eheyden ja muuttumattomuuden.

Bittitason säilyttämisessä varmistetaan datan muuttumattomuus
Bittitason säilyttämisessä varmistetaan datan muuttumattomuus

Bittitason säilyttäminen on perusteltua esimerkiksi seuraavissa tapauksissa:

  • aineiston säilyttäminen alkuperäisessä muuttumattomassa muodossa on tärkeää aineiston aitouden varmistamiseksi
  • aineiston säilyttäminen alkuperäisessä muuttumattomassa muodossa on tärkeää aineiston spesifin käyttötarpeen varmistamiseksi
  • aineiston normalisointi on teknisesti haastavaa tai häviöllistä sellaisella tasolla, että aineistosta häviää oleellista tietosisältöä
  • aineiston ensisijainen säilyttämisen strategia on emulaatio

Kuinka saattaa aineisto bittitason säilytykseen?

Tiedostojen paketointi bittitason säilytykseen ja siihen liittyvät vaatimukset ovat kuvattuna määrittelyssä Säilytys- ja siirtokelpoiset tiedostomuodot, liitteessä C. Tällä sivulla pyritään avaamaan prosessia laajemmin, ja antamaan esimerkkejä toteutusvaihtoehdoista.

Kun aineisto viedään bittitason säilytykseen, on olemassa seuraavat vaihtoehdot:

1. Normalisoidaan tiedostot säilytyskelpoiseen muotoon

Normalisointissa tavoiteltavaa on, että toimenpide säilyttää aineiston keskeiset ominaisuudet. PAS-palvelut tukevat organisaatioita antamalla teknistä neuvontaa tiedostomuotojen normalisoinnissa. Myös "eksoottisten" muotojen kohdalla kannattaa ensisijaisesti pyrkiä normalisoimaan aineisto laadukkaasti (tarkoittaen oleellisten piirteiden säilyttämistä).

Bittitasoon menevän aineiston rinnalla toimitetaan säilytyskelpoinen versio, joka on loogisen säilyttämisen piirissä. Tällöin aineistosta on olemassa versio, jonka käytettävyyden varmistaminen on turvattu PAS-palvelussa. Bittitasoon menevien tiedostojen tiedostomuodoiksi kelpaavat mitkä tahansa muut kuin säilytys- tai siirtokelpoisen muodot. Näitä tiedostoja ei validoida vastaanotossa.

Tiedostomuodon merkitseminen ja paikalliset tiedostomuodot

Myös bittitasoon menevien tiedostojen tiedostomuodot kuvataan siirtopaketin metatiedoissa. Suositeltavaa on kuitenkin, että jos tiedostojen analysointityökalut tunnistavat tiedoston muodoksi "application/octet-stream", sille pyritään selvittämään mahdollinen tarkempi MIME-tyyppi. Muoto "application/octet-stream" tarkoittaa yleisesti binäärimuotoa, eikä kerro juuri mitään oikeaa tietoa tiedoston muodosta tai rakenteesta. Tässä kannattaa olla yhteydessä PAS-tukeen.

Jos tiedostomuodolle ei ole tunnettua MIME-tyyppiä, PAS-palvelu voi luoda sellaisen, ja se voidaan integroida PAS-palvelun julkaisemiin työkaluihin. Tällainen MIME-tyyppi ymmärretään kuitenkin vain PAS-palvelun kansallisessa kontekstissa.

Kuinka paketoida aineistoa bittitasoon paketointikirjaston avulla?

Seuraavat ohjeet ovat teknisiä ja tarkoitettu avaamaan sitä, kuinka paketointikirjaston, dpres-siptools-ng, avulla voidaan toteuttaa yllä mainittuja vaihtoehtoja. Varsinainen määrittely on kuvattuna dokumentissa Säilytys- ja siirtokelpoiset tiedostomuodot, liitteessä C.

Jos tiedoston metatietoihin on tarve syöttää tiedostomuoto, esim. kun paketointikirjasto ei sitä osaa tunnistaa, katso ohjeet alempana.

Alkuperäisten (lähde) ja normalisoitujen (tulos) tiedostojen välille tulee luoda tapahtuma normalisoinnista metatietoihin. Tarvittava koodi on kuvattuna paketointikirjaston käyttöohjeissa luvussa Linking files to other files.

2. Normalisoidaan aineisto säilytyskelpoiseen muotoon

Tässä vaihtoehdossa ei normalisoida yksittäisiä tiedostoja erikseen, vaan normaalisoidaan aineistokokonaisuus. Tämä vaihtoehto voi tulla kyseeseen, jos aineiston kaikkia tiedostoja ei voi normalisoida mielekkäällä tavalla, mutta säilytettävälle tietosisällölle voidaan tuottaa normalisoitu säilytyskelpoinen kokonaisuus. Säilytyskelpoisen version ei tarvitse sisältää esimerkiksi samaa määrää tiedostoja kuin alkuperäinen kokonaisuus. Paljon ominaisuuksia sisältävä tiedosto voi joissakin tilanteissa olla hyvä hajottaa useaksi tiedostoksi. Joskus voi olla hyvä tehdä myös päinvastoin, eli useiden tiedostojen yhdistäminen yhteen tai muutamaan tulostiedostoon. Tärkeintä tässä lähestymistavassa on, että normalisoitu kokonaisuus vastaa tietosisällöltään alkuperäistä kokonaisuutta riittävällä tarkkuudella.

Bittitasoon menevän aineiston rinnalla toimitetaan säilytyskelpoinen versio, joka on loogisen säilyttämisen piirissä. Tällöin aineistosta on olemassa versio, jonka käytettävyyden varmistaminen on turvattu PAS-palvelussa. Bittitasoon menevien tiedostojen tiedostomuodoiksi kelpaavat mitkä tahansa muut kuin säilytys- tai siirtokelpoisen muodot. Näitä tiedostoja ei validoida vastaanotossa.

Tiedostomuodon merkitseminen ja paikalliset tiedostomuodot

Myös bittitasoon menevien tiedostojen tiedostomuodot kuvataan siirtopaketin metatiedoissa. Suositeltavaa on kuitenkin, että jos tiedostojen analysointityökalut tunnistavat tiedoston muodoksi "application/octet-stream", sille pyritään selvittämään mahdollinen tarkempi MIME-tyyppi. Muoto "application/octet-stream" tarkoittaa yleisesti binäärimuotoa, eikä kerro juuri mitään oikeaa tietoa tiedoston muodosta tai rakenteesta. Tässä kannattaa olla yhteydessä PAS-tukeen.

Jos tiedostomuodolle ei ole tunnettua MIME-tyyppiä, PAS-palvelu voi luoda sellaisen, ja se voidaan integroida PAS-palvelun julkaisemiin työkaluihin. Tällainen MIME-tyyppi ymmärretään kuitenkin vain PAS-palvelun kansallisessa kontekstissa.

Kuinka paketoida aineistoa bittitasoon paketointikirjaston avulla?

Seuraavat ohjeet ovat teknisiä ja tarkoitettu avaamaan sitä, kuinka paketointikirjaston, dpres-siptools-ng, avulla voidaan toteuttaa yllä mainittuja vaihtoehtoja. Varsinainen määrittely on kuvattuna dokumentissa Säilytys- ja siirtokelpoiset tiedostomuodot, liitteessä C.

Jos tiedoston metatietoihin on tarve syöttää tiedostomuoto, esim. kun paketointikirjasto ei sitä osaa tunnistaa, katso ohjeet alempana.

Alkuperäisten (lähde) ja normalisoitujen (tulos) tiedostojen välille tulee luoda tapahtuma normalisoinnista metatietoihin. Tarvittava koodi on kuvattuna paketointikirjaston käyttöohjeissa luvussa Linking files to other files.

Tässä vaihtoehdossa kuitenkin samaan tapahtumaan liittyy useita lähde- ja/tai tulostiedostoja, jolloin toistetaan paketointikirjaston ohjeessa esitettyjä event.link_object_metadata()-metodikutsuja tarpeen mukaan. Alkuperäiset lähdetiedostot "source" ja normalisoinnin tulostiedostot "outcome" pitää erottaa toisistaan roolin avulla.

3. Luodaan tietosisällöstä projektio säilytyskelpoisessa muodossa

Tämä vaihtoehto voi kuulostaa aluksi erikoiselta: Säilytyskelpoiseen muotoon konvertoidun kokonaisuuden ei välttämättä tarvitse sisältää alkuperäisen aineiston kaikkia tärkeitä ominaisuuksia. Tässä tapauksessa voidaan luoda säilytyskelpoinen projektio tietosisällöstä, joka säilytetään alkuperäisen bittitasolla olevan aineiston rinnalla. Tällöin alkuperäinen aineisto sisältää aineiston alkuperäiset ominaisuudet, mutta jos sen kanssa joutuu tekniseen umpikujaan, jää jälkipolville edes projektio, joka voi tietosisällöltään olla puutteellinen, mutta on kuitenkin vielä ikkuna menneeseen. Projektio voi esimerkiksi olla teknisesti karsittu kokonaisuus, mutta yhtä hyvin myös vaikkapa dokumentaatio alkuperäisestä kokonaisuudesta, tai esimerkiksi videotallenne siitä, kun teos on ollut esillä.

Bittitasoon menevän aineiston rinnalla toimitetaan säilytyskelpoinen puutteellinen versio, joka on loogisen säilyttämisen piirissä. Tällöin aineistosta on olemassa ainakin jonkinlainen näkymä, jonka käytettävyyden varmistaminen on turvattu PAS-palvelussa. Bittitasoon menevien tiedostojen tiedostomuodoiksi kelpaavat mitkä tahansa muut kuin säilytys- tai siirtokelpoisen muodot. Näitä tiedostoja ei validoida vastaanotossa.

Tiedostomuodon merkitseminen ja paikalliset tiedostomuodot

Myös bittitasoon menevien tiedostojen tiedostomuodot kuvataan siirtopaketin metatiedoissa. Suositeltavaa on kuitenkin, että jos tiedostojen analysointityökalut tunnistavat tiedoston muodoksi "application/octet-stream", sille pyritään selvittämään mahdollinen tarkempi MIME-tyyppi. Muoto "application/octet-stream" tarkoittaa yleisesti binäärimuotoa, eikä kerro juuri mitään oikeaa tietoa tiedoston muodosta tai rakenteesta. Tässä kannattaa olla yhteydessä PAS-tukeen.

Jos tiedostomuodolle ei ole tunnettua MIME-tyyppiä, PAS-palvelu voi luoda sellaisen, ja se voidaan integroida PAS-palvelun julkaisemiin työkaluihin. Tällainen MIME-tyyppi ymmärretään kuitenkin vain PAS-palvelun kansallisessa kontekstissa.

Kuinka paketoida aineistoa bittitasoon paketointikirjaston avulla?

Seuraavat ohjeet ovat teknisiä ja tarkoitettu avaamaan sitä, kuinka paketointikirjaston, dpres-siptools-ng, avulla voidaan toteuttaa yllä mainittuja vaihtoehtoja. Varsinainen määrittely on kuvattuna dokumentissa Säilytys- ja siirtokelpoiset tiedostomuodot, liitteessä C.

Jos tiedoston metatietoihin on tarve syöttää tiedostomuoto, esim. kun paketointikirjasto ei sitä osaa tunnistaa, katso ohjeet alempana.

Alkuperäisten (lähde) ja normalisoitujen (tulos) tiedostojen välille tulee luoda tapahtuma normalisoinnista metatietoihin. Tarvittava koodi on kuvattuna paketointikirjaston käyttöohjeissa luvussa Linking files to other files.

Tässä vaihtoehdossa kuitenkin samaan tapahtumaan voi liittyä useita lähde- ja/tai tulostiedostoja, jolloin toistetaan paketointikirjaston ohjeessa esitettyjä event.link_object_metadata()-metodikutsuja tarpeen mukaan. Alkuperäiset lähdetiedostot "source" ja normalisoinnin tulostiedostot "outcome" pitää erottaa toisistaan roolin avulla.

Lisäksi tulee lisätä seuraavat asiat:

  • Tarvittaessa tarkennetaan lähdetiedostojen muotoja teknisiin metatietoihin: source_file.generate_technical_metadata(file_format="[tiedostomuoto]")
  • Aineistokokonaisuuden alkuperäisille lähdetiedostoille tulee tieto bittitasosta: source_file.digital_object.use = "fi-dpres-no-file-format-validation"
  • Projektion tulostiedostoille tulee tieto projektiosta: outcome_file.digital_object.use = "fi-dpres-projection" merkitsemään sitä, että loogisen säilyttämisen piirissä oleva versio ei ole täydellinen.
  • Normalisointitapahtumaan tulee lähdetiedostoina (source) aineistokokonaisuuden tiedostot käyttäen event.link_object_metadata()-metodia
  • Normalisointitapahtumaan tulee tulostiedostoina (outcome) säilytyskelpoinen karsitun projektion tiedostot, käyttäen event.link_object_metadata()-metodia
4. Konvertoidaan aineisto johdettuun ei-säilytyskelpoiseen muotoon

Tämä vaihtoehto on käytännössä päinvastainen tapaus kuin edellä mainitut. Tässä vaihtoehdossa säilytyskelpoisesta aineistosta konvertoidaan ei-säilytyskelpoinen johdettu versio, esimerkiksi laadukas käyttökopio. Tällainen johdettu versio ei korvaa alkuperäistä aineistoa, eli varsinainen aineisto viedään PAS-palveluun loogisen säilyttämisen piiriin. Ei-säilytyskelpoisessa muodossa oleva johdettu versio voi olla perusteltua säilyttää bittitasolla PAS-palvelussa esimerkiksi jos sen tuottaminen uudelleen on työlästä tai kallista.

Bittitasoon menevien tiedostojen tiedostomuodoiksi kelpaavat mitkä tahansa muut kuin säilytys- tai siirtokelpoisen muodot. Näitä tiedostoja ei validoida vastaanotossa.

Tiedostomuodon merkitseminen ja paikalliset tiedostomuodot

Myös bittitasoon menevien tiedostojen tiedostomuodot kuvataan siirtopaketin metatiedoissa. Suositeltavaa on kuitenkin, että jos tiedostojen analysointityökalut tunnistavat tiedoston muodoksi "application/octet-stream", sille pyritään selvittämään mahdollinen tarkempi MIME-tyyppi. Muoto "application/octet-stream" tarkoittaa yleisesti binäärimuotoa, eikä kerro juuri mitään oikeaa tietoa tiedoston muodosta tai rakenteesta. Tässä kannattaa olla yhteydessä PAS-tukeen.

Jos tiedostomuodolle ei ole tunnettua MIME-tyyppiä, PAS-palvelu voi luoda sellaisen, ja se voidaan integroida PAS-palvelun julkaisemiin työkaluihin. Tällainen MIME-tyyppi ymmärretään kuitenkin vain PAS-palvelun kansallisessa kontekstissa.

Kuinka paketoida aineistoa bittitasoon paketointikirjaston avulla?

Seuraavat ohjeet ovat teknisiä ja tarkoitettu avaamaan sitä, kuinka paketointikirjaston, dpres-siptools-ng, avulla voidaan toteuttaa yllä mainittuja vaihtoehtoja. Varsinainen määrittely on kuvattuna dokumentissa Säilytys- ja siirtokelpoiset tiedostomuodot, liitteessä C.

Jos tiedoston metatietoihin on tarve syöttää tiedostomuoto, esim. kun paketointikirjasto ei sitä osaa tunnistaa, katso ohjeet alempana.

Alkuperäisten (lähde) ja normalisoitujen (tulos) tiedostojen välille tulee luoda tapahtuma normalisoinnista metatietoihin. Tarvittava koodi on kuvattuna paketointikirjaston käyttöohjeissa luvussa Linking files to other files, mutta tässä pitää huomata tehdä joitakin muutoksia: Loogisen säilyttämisen piirissä oleva tiedosto merkitaan lähdetiedostona "source", ja bittitasolle menevä johdettu versio merkitaan tulostiedostona "outcome", eli päinvastoin. Tapahtumatyyppinä event_type käytetään "conversion".

5. Normalisoidaan rikkinäiset tiedostot eheisiin

Tässä vaihtoehdossa normalisoidaan rikkinäiset säilytys- tai siirtokelpoisessa muodossa olevat tiedostot eheisiin säilytyskelpoisiin muotoihin. Siirto- tai säilytyskelpoisessa muodossa oleva rikkinäinen tiedosto säilytetään PAS-palvelussa bittitasolla korjatun version rinnalla. Tässä lähestymistavassa rikkinäiselle aineistolle suoritetaan PAS-palvelun vastaanotossa tekninen validointi niin, että validoinnin tulos tallennetaan rikkinäisen aineiston oheen. Tämä dokumentoi aineiston tekniset puutteet, mahdollistaen ymmärryksen siitä, miksi aineisto on PAS-palvelussa bittitason säilytyksessä.

Kuinka paketoida aineistoa bittitasoon paketointikirjaston avulla?

Seuraavat ohjeet ovat teknisiä ja tarkoitettu avaamaan sitä, kuinka paketointikirjaston, dpres-siptools-ng, avulla voidaan toteuttaa yllä mainittuja vaihtoehtoja. Varsinainen määrittely on kuvattuna dokumentissa Säilytys- ja siirtokelpoiset tiedostomuodot, liitteessä C.

Jos tiedoston metatietoihin on tarve syöttää tiedostomuoto, esim. kun paketointikirjasto ei sitä osaa tunnistaa, katso ohjeet alempana.

Alkuperäisten (lähde) ja normalisoitujen (tulos) tiedostojen välille tulee luoda tapahtuma normalisoinnista metatietoihin. Tarvittava koodi on kuvattuna paketointikirjaston käyttöohjeissa luvussa Linking files to other files, mutta USE-arvoksi tulee "fi-dpres-ignore-validation-errors" eli source_file.digital_object.use = "fi-dpres-ignore-validation-errors".

6. Viedään tiedostot bittitason säilytykseen ilman muunnoksia

Tässä vaihtoehdossa on kyseessä bittitasolla säilyttäminen ilman normalisointia tai muuta muunnosta, toisin sanoen ilman toista versiota aineistosta kuin alkuperäisessä muodossa oleva. Tämä vaihtoehto edellyttää, että tiedostomuoto voidaan tunnistaa koneellisesti työkalujen avulla, ja että se on (ilman normalisointia) hyväksytty bittitasoon PAS-palvelussa. PAS-palvelut ohjeistavat erikseen, kuinka tällainen tiedostomuoto merkitään metatietoihin. Tässä vaihtoehdossa hyödyntävä organisaatio vastaa kokonaan loogisesta säilyttämisestä ilman PAS-palvelun tukea. Sitä voidaan harkita tilanteissa, missä minkään tason normalisointi ei ole mahdollista ilman mittavaa lisävaivaa tai jos normalisointi ei ole mahdollista niin, että aineiston käytön kannalta merkittävät piirteet säilyvät.

Kuinka paketoida aineistoa bittitasoon paketointikirjaston avulla?

Seuraavat ohjeet ovat teknisiä ja tarkoitettu avaamaan sitä, kuinka paketointikirjaston, dpres-siptools-ng, avulla voidaan toteuttaa yllä mainittuja vaihtoehtoja. Varsinainen määrittely on kuvattuna dokumentissa Säilytys- ja siirtokelpoiset tiedostomuodot, liitteessä C.

Jos tiedoston metatietoihin on tarve syöttää tiedostomuoto, esim. kun paketointikirjasto ei sitä osaa tunnistaa, katso ohjeet alempana.

Tiedostomuoto on voitava vastaanotossa tunnistaa ja hyväksyä bittitasolle ilman (edes projisoivaa) normalisointia. Tällaiselle tiedostolle on annettava USE-arvoksi tulee "fi-dpres-file-format-identification" eli my_file.digital_object.use = "fi-dpres-file-format-identification".

Tiedostomuodon syöttäminen paketointikirjastossa

Paketoinnissa voidaan syöttää tiedostomuoto teknisten metatietojen luonnin yhteydessä, jos paketointityökalu ei osaa sitä tunnistaa, tai jos tunnistus halutaan tapauksessa ohittaa. Tämä onnistuu antamalla generaattorille tekniset perustiedot alla olevalla tavalla.

Koodissa "mimetype": "application/x-minun-oma-muotoni" syötetään tiedostomuodoksi "application/x-minun-oma-muotoni". Lisäksi esimerkissä "version": "(:unap)" on tiedostomuodon versio. Kun tiedostomuodolla ei ole versiota, käytetään arvoa "(:unap)", eli unapplicable. Grade-arvo "fi-dpres-bit-level-file-format-with-recommended" vastaa USE-attribuuttia "fi-dpres-no-file-format-validation", eli bittitason säilytystä säilytyskelpoisen version rinnalla.

# Lasketaan tiedoston tarkistussumma lisättäväksi metatietoihin
from file_scraper.scraper import Scraper
scraper = Scraper("mun_hakemisto/minun_tiedostoni.xyz")
source_checksum = scraper.checksum()

# Luodaan tiedostolle alkio
source_file = File(
   path="oma_hakemisto/minun_tiedostoni.xyz",
   digital_object_path="data/minun_tiedostoni.xyz"
)

# Luodaan tekniset metatiedot omilla tiedoilla
source_file.generate_technical_metadata(scraper_result={
   "mimetype": "application/x-minun-oma-muotoni", "version": "(:unap)",
   "checksum": source_checksum, "grade": "fi-dpres-bit-level-file-format-with-recommended",
   "info": {}, "streams": {0: {}}})

Huomio validoinnista

Jos organisaatio validoi tiedostot paketoinnin yhteydessä tai sitä ennen ja prosessi keskeytyy sen vuoksi, että bittitasoon menevän tiedoston validointi epäonnistuu, tulee validointi tai sen tulos ohittaa näiden tiedostojen osalta. Validointitulos on muille kuin säilytys- ja siirtokelpoiseille muodoille aina "None" (validointitulosta ei tiedetä).