Frem og tilbake er dobbelt så langt - en rundtur i arkivet via API

Petter Reinholdtsen pere at hungry.com
Tue Jan 14 14:51:35 CET 2020


De av dere som følger utviklingen på IRC vet allerede dette, men jeg
hadde lyst til å dele en liten gladnyhet fra i går med dere på
epostlisten.  Først litt bakgrunnsinformasjon.  Siden litt før jul har
vi jobbet med å gjøre Nikita mer komplett, dvs. implementere også de
mindre brukte delene av Noark 5 og API-spesifikasjonen, slik at mer
metadata og struktur kan stappes inn og hentes ut via API-et.  Som del
av denne utviklingen har vi satt opp automatisk kjøring av ulike tester
på koden som ligger på github, slik at forslag til endringer kan sjekkes
for feil før de tas inn i koden.

For min del har det vært et mål å kunne importere arkivuttrekk i Nikita
for å kunne søke på informasjonen i en samlet database, og med det for
nøye har jeg laget et pythonscript ved navn 'import-uttrekk', som laster
metadata fra arkivstruktur.xml og importerer tilhørende filer inn i
Nikita via API-et.  Har testet det på ulike eksempler jeg fant på nettet
eller som vi har laget selv, og etter hvert som Nikita ble mer komplett
har den sakte men sikkert har den begynt å fungere for flere og flere
eksempelfiler.

Det har også vært et mål at en skal kunne hente ut lagret informasjon
fra Nikita via API-et og lagre det som et arkivuttrekk, dels for å kunne
deponere arkivmateriale fortløpende, men også som sikkerhetskopi og for
å gi mulighet til å flytte med seg et arkiv til en annen API-løsning
(via import-uttrekk).  Dette gjøres med et pythonscript ved navn
'export-all'.

I går kveld klarte vi for første gang å få en av de automatiske sjekkene
i Nikita til å først stappe litt informasjon inn i Nikita med
'runtest'-scriptet, så eksportere det igjen med 'export-all --xml' som
et uttrekk, og til sist importere det igjen med 'import-uttrekk'.

Det er riktignok en del verdier som endres på veien (slik som dato for
sist endret og når opprettet), men jeg synes likevel dette er en stor
milepæl for prosjektet.

Et fremtidig steg er å forsøke import med påfølgende eksport, og
sammenligne original- og eksportfilen for å se hvilke felt som ble
endret på veien, og finne en måte å sikre at flere verdier bevares i
prosessen.

Et problem som må løses er import av uttrekk for avsluttede arkiv, da
Nikita nekter en å fylle på mere arkivmateriale i slik.  Det skaler
problem ved import, da en jo må først opprette arkiv og arkivdel med
status som tillater endring, importere klasser, mapper og dokumenter, og
så oppdatere status til å flagge at arkivet nå er avsluttet.  Eventuelt
ha en måte å få Nikita til å gå i 'import-modus' og ignorere slike
kontrollmekanismer.  Vi får se hva vi ender opp med. :)

Siste versjon av Nikita kan testes på nikita.oslomet.no, og diskuteres
her og på IRC, #nikita på irc.freenode.net.

-- 
Vennlig hilsen
Petter Reinholdtsen


More information about the nikita-noark mailing list