Roadmap to version 1.0

Det er vanskelig å få til progresjon i prosjektet når man ikke jobber med det på heltid. Prosjektet får kun oppmerksom når jeg ikke har undervisning og på en måte er det håpløst å jobbe sånn, men når vi ikke har ressurser så må det bli sånn.

Dette semesteret (Vår, 2016) har jeg også begrenset med tid da jeg underviser MBIB4140 Metadata og interoperabilitet og det tar mye av oppmerksomheten. Jeg har gitt meg selv et hårete mål å komme i mål til sommern. Jeg tviler jeg rekker det, men jeg ønsker å sette et strek for dette prosjektet og er nødt til å sette strek en eller gang.

N5-kjerne prosjektet har vært gjennom flere runder med utvikling og har sakte blitt bedre. Jeg begynner med grunn versjonen fra 2013. For det meste er det annotert datamodell som er nyttig der. I fjor lagde vi kdrs-toolbox-innsyn,  en prototype noark 5 “kjerne” med spring/spring-boot. Dette var et forsøk på få på plass en forståelse hvordan REST og kjernen vil samhandle og koden er å se på som en alpha utgave av en innsynsløsning for Noark 5 uttrekk. Vi lagde også en prototype for en Noark 5 uttrekk validator og et program som kan importere et Noark 5 uttrekk for innsynsløsningen.

I januar satt  jeg og grublet lenge hvordan jeg skal komme videre. Spring er et fantastisk verktøy og gir deg veldig mye av det en Noark 5 kjerne trenger. Det finnes mye annet som er relevant som er laget av Apache og det å lage en Noark 5 kjerne basert på fri programvare og som fri programvare er langt mer realistisk i dag enn for noen år tilbake.

Nå har jeg valgt å gjøre hele prosjektet om til et spring prosjekt. Det tror jeg var en bra avgjørelse da jeg merker at progresjon nå ikke er så vanskelig. Men jeg synes spring er utforende å lære om. Så jeg kjøpte meg tilgang til et Spring kurs som har gitt meg veldig mye kunnskap om det å bygge profesjonelle spring applikasjoner. Det kommer en oppfølger som går på sikkerhet som jeg også kommer til å benytte meg av. Disse kursene anbefaler jeg til alle som har lyst til å begynne å lære om spring.

Så nå er jeg i gang med utviklingen. Jeg jobber opp mot Noark 5 tjenestegrensesnittet og det ser for såvidt greit ut. Det som bekymrer meg litt er kravet til implementasjon av OData filtrene. Det virker ikke som om det er noe enkel implementasjon av dette med spring-rest. Men det finnes et bibliotek for Jersey. Det virker som om utviklingen er aktiv så kanskje dette kan være løsningen.

Jeg velger nå å publisere en  Roadmap to version 1.0.  Disse versjonen vil publiseres her når de er klare.

0.1 Datamodellen implementert, arkiv via REST
0.2 Tjenestegrensesnittet implementert – REST
0.2.1 Støtte for OData syntaks
0.3 Indrekjerne funksjonalitet
0.4 Ytrekjerne funksjonalitet
0.5 Påloggingsmodul implementert,
0.6 Uttrekksmodul ferdig utivklet
0.7 Konverteringsmodul (til arkivformat)
0.8 JUnit testing
0.9
1.0 Versjon 1.0 Beta

Jeg er godt i gang med versjon 0.1. Jeg bruker spring-kursets oppsett som et mal og får et veldig godt oppsett med mye nyttig kode. Uttrekksmodulen er kommet i gang og vi klarer alt nå å lage arkivuttrekk.xml. Konverteringsmodulen er en viktig modul og vil for vår del være en REST-tjeneste som sitter på toppen av LibreOffice for konvertering.

Utviklingstrategien er å bruke tjenestegrensesnittet som mal for arbeidet. Dette vil etterhvert føre til versjon 0.4 og da skal vi se på integrasjon med påloggingtjenester. Feide er naturlig i første omgang.

Jeg tør ikke definere hvor lang tid jeg skal bruke på dette. Men spring gir meg veldig mye enterprise funksjonalitet så jeg tror ikke det trenger så mye arbeid. Framover kommer jeg til å skrive om hvordan utviklingen går og hvilken biblioteker jeg har valgt.