1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" dir=
"ltr">
5 <meta http-equiv=
"Content-Type" content=
"text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: Entries Tagged noark5
</title>
7 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/vim.css" />
9 <link rel=
"alternate" title=
"RSS Feed" href=
"noark5.rss" type=
"application/rss+xml" />
14 <a href=
"http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
21 <h3>Entries tagged "noark5".
</h3>
25 <a href=
"http://people.skolelinux.org/pere/blog/Artikkel_om_Nikita_i_Arkheion_nummer_2019_2.html">Artikkel om Nikita i Arkheion nummer
2019/
2</a>
31 <p>Jeg hadde i dag gleden av å oppdage at en artikkel om
32 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">arkivsystemet
33 Nikita
</a> som vi skrev i sommer, nå er publisert i
34 <a href=
"http://www.arkheion.no/">Arkheion, fagtidsskrift for kommunial
35 arkivsektor
</a>. Du finner artikkelen på side
30-
33 i nummer
2019/
2,
36 PDF kan lastes ned fra nettstedet til tidsskriftet. Kanskje
37 publiseringen kan føre til at noen flere får øynene opp for verdien av
38 et åpent standardisert API for arkivering og søk i arkivet.
</p>
40 <p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
41 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
43 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
44 Merk, betaling med bitcoin er ikke anonymt. :)
</p>
50 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
55 <div class=
"padding"></div>
59 <a href=
"http://people.skolelinux.org/pere/blog/Oppdatert_Noark_5_Tjenestegrenesnitt_versjon_1_0_for_Noark_5_5_0.html">Oppdatert Noark
5 Tjenestegrenesnitt versjon
1.0 for Noark
5.5.0</a>
65 <p>Jeg er veldig glad for å kunne fortelle at i går ble ny versjon av
66 <a href=
"https://www.arkivverket.no/forvaltning-og-utvikling/noark-standarden/noark-5/tjenestegrensesnitt-noark5">API-spesifikasjonen
67 for Noark
5 Tjenestegrensesnitt
</a> gitt ut. Det så lenge mørkt ut
68 for sjansene for å få inn nødvendige korreksjoner i
69 spesifikasjonsteksten innen rimelig tid, men takket være intens og god
70 innsats fra Mona og Anne Sofie hos Arkivverket de siste ukene, så ble
71 resultatet som ble gitt ut på USAs uavhengighetsdag mye bedre enn jeg
75 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">tilgjengelig
76 som markdown-filer i Arkivverkets github-prosjekt for dette
</a>, og de
77 aller fleste av forslagene til forbedringer fra oss som holder på med
78 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core">Nikita-prosjektet
</a>
79 kom med i denne nye og oppdaterte spesifikasjonsteksten. Det er
80 fortsatt mye som gjenstår før den er entydig, klar og sikrer samvirke
81 på tvers av leverandører, men utgangspunktet er veldig mye bedre enn
82 forrige versjon fra
2016. Ta gjerne en titt.
</p>
84 <p>Ellers må jeg jo si at det var hyggelig å se at min forrige
85 bloggpost om tjenestegrensesnittet fikk en
86 <a href=
"https://beta.arkivverket.no/post/186020592045/noark-5-versjon-50-tjenestegrensesnitt-10">lenke
87 fra Arkivverket Beta
</a>.
</p>
89 <p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
90 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
92 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
93 Merk, betaling med bitcoin er ikke anonymt. :)
</p>
99 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
104 <div class=
"padding"></div>
108 <a href=
"http://people.skolelinux.org/pere/blog/Nikita_og_Noark_5_tjenestegrensesnittet_tilbyr_ny_m_te___tenke_arkivering.html">Nikita og Noark
5 tjenestegrensesnittet tilbyr ny måte å tenke arkivering
</a>
114 <p><em>av Thomas Sødring (OsloMet) og Petter Reinholdtsen (foreningen
117 <p>Nikita Noark
5-kjerne er et fri programvareprosjekt som tar i bruk
118 Arkivverkets spesifikasjonen for Noark
5 Tjenestegrensesnitt og tilbyr
119 et maskinlesbart grensesnitt (arkiv-API) til datasystemer som trenger å
120 arkivere dokumenter og informasjon. I tillegg tilbyr Nikita et
121 nettleserbasert brukergrensesnitt for brukere av arkivet. Dette
122 brukergrensesnittet benytter det maskinlesbare grensesnittet. Noark
5
123 Tjenestegrensesnitt er en ny måte å tenke arkivering, med fokus på
124 automatisering og maskinell behandling av arkivmateriale, i stedet for
125 å fokusere på brukergrensesnitt. En kan tenke på
126 tjenestegrensesnittet som arkivet uten brukergrensesnitt, der flere
127 aktører kan koble til ulike brukergrensesnitt, tilpasset ulike
130 <p>Historisk sett gjorde Noark standarden en veldig bra jobb med
132 papir til digital saksbehandling, men det har kommet til kort på andre
133 områder. Den teknologiske utviklingen har brakt oss ditt at vi kan og
134 skal forvente langt mer fra en arkivkjerne enn før, men det offentlig
135 er ofte konservativ når det gjelder nytenking. For lengst skulle
136 begreper som samvirke mellom datasystemer, metadata, prosess og
137 tjenestegrensesnitt (API) vært dominerende når systemer kjøpes
138 inn. Dessverre er det slik at ikke alle ønsker samvirke mellom
139 datasystemer velkommen, og det kan være trygt å kjøpe «svarte bokser»
140 der du slipper å ta stilling til hvordan man skal få flere systemer
141 til å virke sammen. Men IT-arkitektur er et begrep arkivfolk også
142 begynner å ta inn over seg.
</p>
144 <p>Slike systemer for å organisere metadata bør ha nettbaserte
145 tjenestegrensesnitt der brukergrensesnitt er tydelig adskilt fra
146 bakenforliggende system. Det finnes mange rapporter som snakker om å
147 bryte ned siloer i forvaltningen og standardiserte tjenestegrensesnitt
148 er det viktigste virkemiddel mot datasiloer og legger til rette for
149 økt samvirke mellom systemer. Et standardisert tjenestegrensesnitt er
150 et viktig middel for å få systemer til å samhandle da det sikrer at
151 ulike produsenters systemer kan snakke sammen på tvers. Samfunnet
152 fungerer ikke uten standardisering. Vi har alle samme strømstyrke og
153 kontakter i veggene og kjører alle på høyre side av veien i Norge. Det er i en slik
154 sammenheng at prosjektet «Noark
5 Tjenestegrensesnitt» er veldig
155 viktig. Hvis alle leverandører av arkivsystemer forholdt seg til et
156 standardisert tjenestegrensesnitt kunne kostnadene for arkivering
157 reduseres. Tenk deg at du er en kommune som ønsker et fagsystem integrert
158 med arkivløsningen din. I dag må fagsystemleverandøren vite og
159 tilpasse seg den spesifikke versjonen og varianten av arkivløsningen
160 du har. Hvis vi antar at alle leverandører av arkivkjerner har solgt
161 inn enten SOAP eller REST-grensesnitt til kunder de siste
10 årene og
162 det kommer endret versjon av grensesnittet innimellom, så gir det
163 veldig mange forskjellige tjenestegrensesnitt en fagsystemleverandør
164 må forholde seg til. Med
12 leverandører og kvartalsvise oppdateringer
165 kan det potensielt bli
96 ulike varianter hvert eneste år. Det sier
166 seg selv at det blir dyrt. Men det blir faktisk verre. Hvis du senere
167 ønsker å bytte ut arkivsystemet med et annet så er du avhengig å få
168 alle integrasjonene dine laget på nytt. Dette kan gjøre at du velger å
169 forbli hos en dårlig leverandør framfor å skaffe nytt system, fordi
170 det blir for vanskelig og dyrt å bytte. Dermed etableres det «små»
171 monopolsituasjoner som er vanskelig å bryte ut av. Dårlige valg i dag
172 kan ha uante kostander på sikt. I Nikita-prosjektet har vi kun jobbet
173 opp mot Noark
5 Tjenestegrensesnittet. Det har tatt en god del
174 ressurser å sette seg inn i spesifikasjonen og ta den i bruk, spesielt
175 på grunn av uklarheter i spesifikasjonen. Hvis vi måtte gjøre det
176 samme for alle versjoner og varianter av de forskjellige
177 tjenestegrensesnittene ville det blitt veldig tidkrevende og
180 <p>For deg som arkivar er digitalisering og systemer som skal virke
181 sammen en del av den nye hverdagen. Du har kanskje blitt skånet for
182 det ved å kjøpe svarte bokser, men du risikerer at du gjør deg selv en
183 bjørnetjeneste. Det kan oppleves som kjedelig å fortelle kolleger at
184 du skal sette deg inn i et tjenestegrensesnitt, men dette er faktisk
185 veldig spennende. Tjenestegrensesnittet er på en måte blitt levende og
186 det er spesielt et begrep du bør merke deg: OData. Å trekke inn deler
187 av OData-standarden som en måte å filtrere entitetsøk i et arkivsystem
188 var et nyttig trekk i prosjektet. Følgende eksempel er en
189 OData-spørring det går an å sende inn til en standardisert
193 .../sakarkiv/journalpost?filter=contains(tittel, 'nabovarsel')
196 <p>Spørringen over vil hente en liste av alle dine journalposter der
197 tittelen til journalposten inneholder ordet 'nabovarsel'. Alle
198 leverandører som implementerer tjenestegrensesnittet vil måtte tilby
199 dette. Det betyr at hvis du lærer dette språket for et system, vil det
200 være gjeldende for alle. Dette er egentlig en ny måte å søke i
201 arkivdatabasen på og vil være svært nyttig, for eksempel kan søk i
202 tjenestegrensesnittet antagelig brukes til å hente ut offentlig
203 postjournal. I arkivverden pleier vi å like teknologier som er
204 menneskelesbart, da vet vi det er enkelt og nyttig! OData er også
205 viktig fordi det kan bli en ny måte å svare innsynsforespørsler på i
206 tråd med offentlighetsloven §
9, der retten til å kreve innsyn i
207 sammenstilling fra databaser er nedfelt. I dag ser vi
208 forvaltningsorganer som avviser slike krav fordi det «ikke kan gjøres
209 med enkle framgangsmåter». Bruken av OData i tjenestegrensesnittet,
210 sammen med maskinlesbar markeringsformater kan være et viktig bidrag
211 til å åpne arkivene i tråd med prinsippene om en åpen og transparent
214 <p>Standardisering er viktig fordi det
<em>kan
</em> sikre samvirke.
215 Men den effekten kommer kun hvis standardiseringen sikrer at alle
216 forstår standarden på samme måte, dvs. at den er entydig og klar. En
217 god måte å sikre en entydig og klar spesifikasjon er ved å kreve at
218 det finnes minst to ulike implementasjoner som følger spesifikasjonen
219 og som kan snakke sammen, det vil si at de snakker samme språk, slik
220 IETF krever for alle sine standarder, før spesifikasjonen anses å være
221 ferdig. Tilbakemelding fra miljøet forteller at både leverandører og
222 kunder har et avslappet forhold til Noark
5 Tjenestegrensesnitt og det
223 er så langt kun Evry som har visst offentlig at de har en
224 implementasjon av tjenestegrensesnittet. Evry, HK Data og Fredrikstad
225 kommune er igang med et pilotprosjekt på Noark
5
226 Tjenestegrensesnitt. For å redusere kostnadene for samvirkende
227 datasystemer betraktelig, er det veldig viktig at vi kommer i en
228 situasjon der alle leverandører har sine egne implementasjoner av
229 tjenestegrensesnittet, og at disse oppfører seg likt og i tråd med det
230 som er beskrevet i spesifikasjonen.
</p>
232 <p>Det er her fri programvare spiller en viktig rolle. Med en uklar
233 standard blir det som en polsk riksdag, der ingenting fungerer. Nikita
234 er en fri programvareimplementasjon av tjenestegrensesnitt og kan
235 fungere som teknisk referanse slik at leverandører enklere kan se og
236 forstå hvordan standarden skal tolkes. Vi har i Nikitaprosjektet
237 erfart å ende opp med vidt forskjellige tolkninger når
238 prosjektmedlemmene leser spesifikasjonsteksten, en effekt av en uklar
239 spesifikasjon. Men Nikitaprosjektet har også utviklet et test-program
240 som sjekker om et tjenestegrensesnitt er i samsvar med standarden, og
241 prosjektet bruker det hele tiden for å sikre at endringer og
242 forbedringer fungerer. Egenerklæringsskjemaenes dager kan være talte!
243 Snart vil du selv kunne teste hver oppdatering av arkivsystemet med en
246 <p>Fri programvare representerer en demokratisering av kunnskap der
247 tolkning- og innlåsingsmakt flyttes fra leverandør til allmenheten.
248 Med fri programvare har du en litt annerledes verdikjede, der selve
249 produktet ikke holdes hemmelig for å tjene penger, slik en gjør med
250 ufri programvare og skytjenester som ikke bruker fri programvare, men
251 du kan tjene penger på andre deler av verdikjeden. Med fri programvare
252 kan samfunnet betale for å videreutvikle nyttig
253 fellesfunksjonalitet.
</p>
255 <p>Nikita er en fri programvareimplementasjon av tjenestegrensesnittet og
256 kan fungere som en referanseimplementasjon dersom det er ønskelig.
257 Alle har lik tilgang til koden og det koster ingenting å ta den i bruk
258 og utforske det. Nikitaprosjektet ønsker tjenestegrensesnittet
259 velkommen og stiller veldig gjerne opp i diskusjoner om tolkning av
260 tjenestegrensesnittet. Nikita er bygget på moderne
261 programmeringsrammeverk og utviklet i full åpenhet. Men Nikita er ikke
262 noe du kan kjøpe. Nikita er først og fremst et verktøy for forsking og
263 utvikling laget for å fremme forskning på arkivfeltet. Systemer som
264 virker sammen har alltid vært hovedfokus og vil være det fremover.
265 Det brukes som undervisningsverktøy der studentene ved OsloMet lærer
266 om administrativt oppsett, saksbehandling, uttrekk og samvirkende
267 datasystemer. Det brukes også som forskningsobjekt der vi ser på
268 import av dokumentsamlinger, bruk av blokkjede og andre nyskapende
269 måter å tenke arkiv på. Det er dog helt greit om andre tar Nikita og
270 pakker det for å selge det som produkt. Forvaltningsorganer med
271 sterke drift- og utviklingsmiljøer kan også se på Nikita og utforske
272 hva som er mulig. Dette kan de gjøre uten å måtte betale for
273 bruksrettigheter eller tilgang til konsulenter. Men arkivering blir
274 ikke gratis på grunn av Nikita. Det trengs fortsatt folk med
275 kompetanse og tid til å ta i bruk Nikita.
</p>
277 <p>Nikita har nylig kommet med en ny utgave, den sjette i rekken.
278 Systemet er ikke ferdig, mest på grunn av at API-spesifikasjonen for
279 Noark
5 Tjenestegrensesnitt ikke er ferdig, men allerede i dag kan en
280 bruke Nikita som arkiv. Vi har laget eksempelsystem for å importere
281 data fra deponi-XML og slik gjøre eksisterende arkivdata tilgjengelig
282 via et API. Vi har også laget en testklient som importerer epost inn
283 i arkivet med vedlegg der epostenes trådinformasjon brukes til å legge
284 eposttråder i samme arkivmappe, og en annen testklient som henter
285 epost ut av en arkivmappe på mbox-format slik at en vanlig epostklient
286 kan brukes til å lese igjennom og svare på epostene i en
287 arkivmappe. De som vil ta en titt på Nikita kan besøke
288 <a href=
"https://nikita.oslomet.no">https://nikita.oslomet.no
</a> og
289 logge inn med brukernavn «admin@example.com» og passord «password».
290 Dette gir tilgang til det forenklede brukergrensesnittet som brukes
291 til undervisning. De som heller vil ta en titt under panseret kan
293 <a href=
"https://nikita.oslomet.no/browse.html">https://nikita.oslomet.no/browse.html
</a>
294 og der se hvordan API-et fungerer mer i detalj. Innloggingsdetaljer
295 her er det samme som for brukergrensesnittet.
</p>
297 <p>Fremover er fokuset på forbedring av spesifikasjonen Noark
5
298 Tjenestegrensesnitt. De som skrev tjenestegrensesnittet gjorde et
299 interessant og framtidsrettet grep, de skilte sak fra arkiv.
300 Tjenestegrensesnittet består av flere "pakker", der noen er
301 grunnleggende mens andre bygger på de grunnleggende pakkene. Pakkene
302 som er beskrevet så langt heter «arkivstruktur», «sakarkiv»,
303 «administrasjon», «loggogsporing» og «moeter» (dessverre
304 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/pull/120">planlagt
305 fjernet
</a> i første utgave). Etter hvert håper vi å utforske
306 prosses- og metadatabeskrivelser til flere fagområder og bidra til at
307 tjenestegrensesnittet kan legge til flere pakker som «byggarkiv»,
308 «barnevern», «personal», «barnehage», der arkivfaglig metadata- og
309 dokumentasjonsbehov er kartlagt og standardisert.
</p>
311 <p>Nikita utvikles av en liten prosjektgruppe, og vi er alltid
312 interessert å bli flere. Hvis en åpen, fri og standardisert tilnærming
313 til arkivering høres interessant ut, bli med oss på veien videre. Vi
314 er tilstede på IRC-kanalen #nikita hos FreeNode (tilgjengelig via
316 <a href=
"https://webchat.freenode.net?channels=#nikita">https://webchat.freenode.net?channels=#nikita
</a>),
317 og har en e-postliste nikita-noark@nuug.no hos NUUG (tilgjengelig for
318 påmelding og arkiv på
319 <a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark">https://lists.nuug.no/mailman/listinfo/nikita-noark
</a>)
320 der en kan følge med eller være med oss på den spennende veien videre.
321 Spesifikasjonen for Noark
5 Tjenestegrensesnitt vedlikeholdes på
323 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
</a>.
</p>
325 <p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
326 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
328 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
334 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
339 <div class=
"padding"></div>
343 <a href=
"http://people.skolelinux.org/pere/blog/Official_MIME_type__text_vnd_sosi__for_SOSI_map_data.html">Official MIME type "text/vnd.sosi" for SOSI map data
</a>
350 <ahref=
"http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html">I
351 mentioned
</a> my submission to IANA to register an official MIME type
352 for the SOSI vector map format. This morning, just an hour ago, I was
354 <a href=
"https://www.iana.org/assignments/media-types/text/vnd.sosi">the
355 MIME type "text/vnd.sosi"
</a> is registered for this format. In
356 addition to this registration, my
357 <a href=
"https://github.com/file/file/blob/master/magic/Magdir/sosi">file(
1)
358 patch for a pattern matching rule for SOSI files
</a> has been accepted
359 into the official source of that program (pending a new release), and
360 I've been told by the team behind
361 <a href=
"https://www.nationalarchives.gov.uk/PRONOM/">PRONOM
</a> that
362 the SOSI format will be included in the next release of PRONOM, which
363 they plan to release this summer around July.
</p>
365 <p>I am very happy to see all of this fall into place, for use by
366 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">the
367 Noark
5 Tjenestegrensesnitt
</a> implementations.
</p>
369 <p>As usual, if you use Bitcoin and want to show your support of my
370 activities, please send Bitcoin donations to my address
371 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
377 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
382 <div class=
"padding"></div>
386 <a href=
"http://people.skolelinux.org/pere/blog/Nikita_version_0_4_released___free_software_archive_API_server.html">Nikita version
0.4 released - free software archive API server
</a>
392 <p>This morning, a new release of
393 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
394 Noark
5 core project
</a> was
395 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/2019-May/000468.html">announced
396 on the project mailing list
</a>. The Nikita free software solution is
397 an implementation of the Norwegian archive standard Noark
5 used by
398 government offices in Norway. These were the changes in version
0.4
399 since version
0.3, see the email link above for links to a demo site:
</p>
403 <li>Roll out OData handling to all endpoints where applicable
</li>
404 <li>Changed the relation key for "ny-journalpost" to the official one.
</li>
405 <li>Better link generation on outgoing links.
</li>
406 <li>Tidy up code and make code and approaches more consistent throughout
408 <li>Update rels to be in compliance with updated version in the
409 interface standard
</li>
410 <li>Avoid printing links on empty objects as they can't have links
</li>
411 <li>Small bug fixes and improvements
</li>
412 <li>Start moving generation of outgoing links to @Service layer so access
413 control can be used when generating links
</li>
414 <li>Log exception that was being swallowed so it's traceable
</li>
415 <li>Fix name mapping problem
</li>
416 <li>Update templated printing so templated should only be printed if it
417 is set true. Requires more work to roll out across entire
419 <li>Remove Record-
>DocumentObject as per domain model of n5v4
</li>
420 <li>Add ability to delete lists filtered with OData
</li>
421 <li>Return NO_CONTENT (
204) on delete as per interface standard
</li>
422 <li>Introduce support for ConstraintViolationException exception
</li>
423 <li>Make Service classes extend NoarkService
</li>
424 <li>Make code base respect X-Forwarded-Host, X-Forwarded-Proto and
425 X-Forwarded-Port
</li>
426 <li>Update CorrespondencePart* code to be more in line with Single
427 Responsibility Principle
</li>
428 <li>Make package name follow directory structure
</li>
429 <li>Make sure Document number starts at
1, not
0</li>
430 <li>Fix isues discovered by FindBugs
</li>
431 <li>Update from Date to ZonedDateTime
</li>
432 <li>Fix wrong tablename
</li>
433 <li>Introduce Service layer tests
</li>
434 <li>Improvements to CorrespondencePart
</li>
435 <li>Continued work on Class / Classificationsystem
</li>
436 <li>Fix feature where authors were stored as storageLocations
</li>
437 <li>Update HQL builder for OData
</li>
438 <li>Update OData search capability from webpage
</li>
442 <p>If free and open standardized archiving API sound interesting to
443 you, please contact us on IRC
444 (
<a href=
"irc://irc.freenode.net/%23nikita">#nikita on
445 irc.freenode.net
</a>) or email
446 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
447 mailing list
</a>).
</p>
449 <p>As usual, if you use Bitcoin and want to show your support of my
450 activities, please send Bitcoin donations to my address
451 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
457 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
462 <div class=
"padding"></div>
466 <a href=
"http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html">MIME type "text/vnd.sosi" for SOSI map data
</a>
472 <p>As part of my involvement in the work to
473 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard">standardise
474 a REST based API for Noark
5</a>, the Norwegian archiving standard, I
475 spent some time the last few months to try to register a
476 <a href=
"https://www.iana.org/assignments/media-types/">MIME type
</a>
477 and
<a href=
"https://www.nationalarchives.gov.uk/PRONOM/">PRONOM
478 code
</a> for the SOSI file format. The background is that there is a
479 set of formats approved for long term storage and archiving in Norway,
480 and among these formats, SOSI is the only format missing a MIME type
483 <p>What is SOSI, you might ask? To quote Wikipedia: SOSI is short for
484 Samordnet Opplegg for Stedfestet Informasjon (literally "Coordinated
485 Approach for Spatial Information", but more commonly expanded in
486 English to Systematic Organization of Spatial Information). It is a
487 text based file format for geo-spatial vector information used in
488 Norway. Information about the SOSI format can be found in English
489 from
<a href=
"https://en.wikipedia.org/wiki/SOSI">Wikipedia
</a>. The
490 specification is available in Norwegian from
491 <a href=
"https://www.kartverket.no/geodataarbeid/Standarder/SOSI/">the
492 Norwegian mapping authority
</a>. The SOSI standard, which originated
493 in the beginning of nineteen eighties, was the inspiration and formed the
494 basis for the XML based
495 <a href=
"https://en.wikipedia.org/wiki/Geography_Markup_Language">Geography
496 Markup Language
</a>.
</p>
498 <p>I have so far written
499 <a href=
"https://github.com/file/file/pull/67">a pattern matching
500 rule
</a> for the file(
1) unix tool to recognize SOSI files, submitted
501 a request to the PRONOM project to have a PRONOM ID assigned to the
502 format (reference TNA1555078202S60), and today send a request to IANA
503 to register the "text/vnd.sosi" MIME type for this format (referanse
504 <a href=
"https://tools.iana.org/public-view/viewticket/1143144">IANA
505 #
1143144</a>). If all goes well, in a few months, anyone implementing
506 the Noark
5 Tjenestegrensesnitt API spesification should be able to
507 use an official MIME type and PRONOM code for SOSI files. In
508 addition, anyone using SOSI files on Linux should be able to
509 automatically recognise the format and web sites handing out SOSI
510 files can begin providing a more specific MIME type. So far, SOSI
511 files has been handed out from web sites using the
512 "application/octet-stream" MIME type, which is just a nice way of
513 stating "I do not know". Soon, we will know. :)
</p>
515 <p>As usual, if you use Bitcoin and want to show your support of my
516 activities, please send Bitcoin donations to my address
517 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
523 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
528 <div class=
"padding"></div>
532 <a href=
"http://people.skolelinux.org/pere/blog/PlantUML_for_text_based_UML_diagram_modelling___nice_free_software.html">PlantUML for text based UML diagram modelling - nice free software
</a>
538 <p>As part of my involvement with the
539 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
540 Noark
5 core project
</a>, I have been proposing improvements to the
541 API specification created by
<a href=
"https://www.arkivverket.no/">The
542 National Archives of Norway
</a> and helped migrating the text from a
543 version control system unfriendly binary format (docx) to Markdown in
544 git. Combined with the migration to a public git repository (on
545 github), this has made it possible for anyone to suggest improvement
548 <p>The specification is filled with UML diagrams. I believe the
549 original diagrams were modelled using Sparx Systems Enterprise
550 Architect, and exported as EMF files for import into docx. This
551 approach make it very hard to track changes using a version control
552 system. To improve the situation I have been looking for a good text
553 based UML format with associated command line free software tools on
554 Linux and Windows, to allow anyone to send in corrections to the UML
555 diagrams in the specification. The tool must be text based to work
556 with git, and command line to be able to run it automatically to
557 generate the diagram images. Finally, it must be free software to
558 allow anyone, even those that can not accept a non-free software
559 license, to contribute.
</p>
561 <p>I did not know much about free software UML modelling tools when I
562 started. I have used dia and inkscape for simple modelling in the
563 past, but neither are available on Windows, as far as I could tell. I
565 <a href=
"https://modeling-languages.com/text-uml-tools-complete-list/">list
566 of text mode uml tools
</a>, and tested out a few of the tools listed
567 there.
<a href=
"http://plantuml.com/">The PlantUML tool
</a> seemed
568 most promising. After verifying that the packages
569 <a href=
"https://tracker.debian.org/pkg/plantuml">is available in
570 Debian
</a> and found
<a href=
"https://github.com/plantuml/plantuml">its
571 Java source
</a> under a GPL license on github, I set out to test if it
572 could represent the diagrams we needed, ie the ones currently in
573 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">the
574 Noark
5 Tjenestegrensesnitt specification
</a>. I am happy to report
575 that it could represent them, even thought it have a few warts here
578 <p>After a few days of modelling I completed the task this weekend. A
579 temporary link to the complete set of diagrams (original and from
580 PlantUML) is available in
581 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/76">the
582 github issue discussing the need for a text based UML format
</a>, but
583 please note I lack a sensible tool to convert EMF files to PNGs, so
584 the "original" rendering is not as good as the original was in the
587 <p>Here is an example UML diagram, showing the core classes for
588 keeping metadata about archived documents:
</p>
592 skinparam classAttributeIconSize
0
594 !include media/uml-class-arkivskaper.iuml
595 !include media/uml-class-arkiv.iuml
596 !include media/uml-class-klassifikasjonssystem.iuml
597 !include media/uml-class-klasse.iuml
598 !include media/uml-class-arkivdel.iuml
599 !include media/uml-class-mappe.iuml
600 !include media/uml-class-merknad.iuml
601 !include media/uml-class-registrering.iuml
602 !include media/uml-class-basisregistrering.iuml
603 !include media/uml-class-dokumentbeskrivelse.iuml
604 !include media/uml-class-dokumentobjekt.iuml
605 !include media/uml-class-konvertering.iuml
606 !include media/uml-datatype-elektronisksignatur.iuml
608 Arkivstruktur.Arkivskaper "+arkivskaper
1..*"
<-o "+arkiv 0..*" Arkivstruktur.Arkiv
609 Arkivstruktur.Arkiv o-->
"+underarkiv 0..*" Arkivstruktur.Arkiv
610 Arkivstruktur.Arkiv
"+arkiv 1" o-->
"+arkivdel 0..*" Arkivstruktur.Arkivdel
611 Arkivstruktur.Klassifikasjonssystem
"+klassifikasjonssystem [0..1]" <--o
"+arkivdel 1..*" Arkivstruktur.Arkivdel
612 Arkivstruktur.Klassifikasjonssystem
"+klassifikasjonssystem [0..1]" o-->
"+klasse 0..*" Arkivstruktur.Klasse
613 Arkivstruktur.Arkivdel
"+arkivdel 0..1" o-->
"+mappe 0..*" Arkivstruktur.Mappe
614 Arkivstruktur.Arkivdel
"+arkivdel 0..1" o-->
"+registrering 0..*" Arkivstruktur.Registrering
615 Arkivstruktur.Klasse
"+klasse 0..1" o-->
"+mappe 0..*" Arkivstruktur.Mappe
616 Arkivstruktur.Klasse
"+klasse 0..1" o-->
"+registrering 0..*" Arkivstruktur.Registrering
617 Arkivstruktur.Mappe -->
"+undermappe 0..*" Arkivstruktur.Mappe
618 Arkivstruktur.Mappe
"+mappe 0..1" o-->
"+registrering 0..*" Arkivstruktur.Registrering
619 Arkivstruktur.Merknad
"+merknad 0..*" <--* Arkivstruktur.Mappe
620 Arkivstruktur.Merknad
"+merknad 0..*" <--* Arkivstruktur.Dokumentbeskrivelse
621 Arkivstruktur.Basisregistrering -|
> Arkivstruktur.Registrering
622 Arkivstruktur.Merknad "+merknad
0..*" <--* Arkivstruktur.Basisregistrering
623 Arkivstruktur.Registrering "+registrering
1..*" o--> "+dokumentbeskrivelse
0..*" Arkivstruktur.Dokumentbeskrivelse
624 Arkivstruktur.Dokumentbeskrivelse "+dokumentbeskrivelse
1" o-
> "+dokumentobjekt 0..*" Arkivstruktur.Dokumentobjekt
625 Arkivstruktur.Dokumentobjekt *-
> "+konvertering 0..*" Arkivstruktur.Konvertering
626 Arkivstruktur.ElektroniskSignatur -[hidden]-
> Arkivstruktur.Dokumentobjekt
630 <p><a href=
"http://plantuml.com/class-diagram">The format
</a> is quite
631 compact, with little redundant information. The text expresses
632 entities and relations, and there is little layout related fluff. One
633 can reuse content by using include files, allowing for consistent
634 naming across several diagrams. The include files can be standalone
635 PlantUML too. Here is the content of
636 <tt>media/uml-class-arkivskaper.iuml
<tt>:
</p>
640 class Arkivstruktur.Arkivskaper
<Arkivenhet> {
641 +arkivskaperID : string
642 +arkivskaperNavn : string
643 +beskrivelse : string [
0.
.1]
648 <p>This is what the complete diagram for the PlantUML notation above
651 <p><img width=
"80%" src=
"http://people.skolelinux.org/pere/blog/images/2019-03-25-noark5-plantuml-diagrameksempel.png"></p>
653 <p>A cool feature of PlantUML is that the generated PNG files include
654 the entire original source diagram as text. The source (with include
655 statements expanded) can be extracted using for example
656 <tt>exiftool
</tt>. Another cool feature is that parts of the entities
657 can be hidden after inclusion. This allow to use include files with
658 all attributes listed, even for UML diagrams that should not list any
661 <p>The diagram also show some of the warts. Some times the layout
662 engine place text labels on top of each other, and some times it place
663 the class boxes too close to each other, not leaving room for the
664 labels on the relationship arrows. The former can be worked around by
665 placing extra newlines in the labes (ie "\n"). I did not do it here
666 to be able to demonstrate the issue. I have not found a good way
667 around the latter, so I normally try to reduce the problem by changing
668 from vertical to horizontal links to improve the layout.
</p>
670 <p>All in all, I am quite happy with PlantUML, and very impressed with
671 how quickly its lead developer responds to questions. So far I got an
672 answer to my questions in a few hours when I send an email. I
673 definitely recommend looking at PlantUML if you need to make UML
674 diagrams. Note, PlantUML can draw a lot more than class relations.
675 Check out the documention for a complete list. :)
</p>
677 <p>As usual, if you use Bitcoin and want to show your support of my
678 activities, please send Bitcoin donations to my address
679 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
685 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
690 <div class=
"padding"></div>
694 <a href=
"http://people.skolelinux.org/pere/blog/Release_0_3_of_free_software_archive_API_system_Nikita_announced.html">Release
0.3 of free software archive API system Nikita announced
</a>
700 <p>Yesterday, a new release of
701 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
702 Noark
5 core project
</a> was
703 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/2019-March/000451.html">announced
704 on the project mailing list
</a>. The free software solution is an
705 implementation of the Norwegian archive standard Noark
5 used by
706 government offices in Norway. These were the changes in version
0.3
707 since version
0.2.1 (from NEWS.md):
</p>
710 <li>Improved ClassificationSystem and Class behaviour.
</li>
711 <li>Tidied up known inconsistencies between domain model and hateaos links.
</li>
712 <li>Added experimental code for blockchain integration.
</li>
713 <li>Make token expiry time configurable at upstart from properties file.
</li>
714 <li>Continued work on OData search syntax.
</li>
715 <li>Started work on pagination for entities, partly implemented for Saksmappe.
</li>
716 <li>Finalise ClassifiedCode Metadata entity.
</li>
717 <li>Implement mechanism to check if authentication token is still
718 valid. This allow the GUI to return a more sensible message to the
719 user if the token is expired.
</li>
720 <li>Reintroduce browse.html page to allow user to browse JSON API using
722 <li>Fix bug in handling file/mappe sequence number. Year change was
723 not properly handled.
</li>
724 <li>Update application yml files to be in sync with current development.
</li>
725 <li>Stop 'converting' everything to PDF using libreoffice. Only
726 convert the file formats doc, ppt, xls, docx, pptx, xlsx, odt, odp
728 <li>Continued code style fixing, making code more readable.
</li>
729 <li>Minor bug fixes.
</li>
733 <p>If free and open standardized archiving API sound interesting to
734 you, please contact us on IRC
735 (
<a href=
"irc://irc.freenode.net/%23nikita">#nikita on
736 irc.freenode.net
</a>) or email
737 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
738 mailing list
</a>).
</p>
740 <p>As usual, if you use Bitcoin and want to show your support of my
741 activities, please send Bitcoin donations to my address
742 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
748 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
753 <div class=
"padding"></div>
757 <a href=
"http://people.skolelinux.org/pere/blog/_pen_og_gjennomsiktig_vedlikehold_av_spesifikasjonen_for_Noark_5_Tjenestegrensesnitt.html">Åpen og gjennomsiktig vedlikehold av spesifikasjonen for Noark
5 Tjenestegrensesnitt
</a>
763 <p>Et virksomhetsarkiv for meg, er et arbeidsverktøy der en enkelt kan
764 finne informasjonen en trenger når en trenger det, og der
765 virksomhetens samlede kunnskap er tilgjengelig. Det må være greit å
766 finne frem i, litt som en bibliotek. Men der et bibliotek gjerne tar
767 vare på offentliggjort informasjon som er tilgjengelig flere steder,
768 tar et arkiv vare på virksomhetsintern og til tider personlig
769 informasjon som ofte kun er tilgjengelig fra et sted.
</p>
771 <p>Jeg mistenker den eneste måten å sikre at arkivet inneholder den
772 samlede kunnskapen i en virksomhet, er å bruke det som virksomhetens
773 kunnskapslager. Det innebærer å automatisk kopiere (brev, epost,
774 SMS-er etc) inn i arkivet når de sendes og mottas, og der filtrere
775 vekk det en ikke vil ta vare på, og legge på metadata om det som er
776 samlet inn for enkel gjenfinning. En slik bruk av arkivet innebærer at
777 arkivet er en del av daglig virke, ikke at det er siste hvilested for
778 informasjon ingen lenger har daglig bruk for. For å kunne være en del
779 av det daglige virket må arkivet enkelt kunne integreres med andre
780 systemer. I disse dager betyr det å tilby arkivet som en
781 nett-tjeneste til hele virksomheten, tilgjengelig for både mennesker
782 og datamaskiner. Det betyr i tur å både tilby nettsider og et
783 maskinlesbart grensesnitt.
</p>
785 <p>For noen år siden erkjente visjonære arkivarer fordelene med et
786 standardisert maskinlesbart grensesnitt til organisasjonens arkiv. De
787 gikk igang med å lage noe de kalte
788 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">Noark
789 5 Tjenestegrensesnitt
</a>. Gjort riktig, så åpner slike maskinlesbare
790 grensesnitt for samvirke på tvers av uavhengige programvaresystemer.
791 Gjort feil, vil det blokkere for samvirke og bidra til
792 leverandørinnlåsing. For å gjøre det riktig så må grensesnittet være
793 klart og entydig beskrevet i en spesifikasjon som gjør at
794 spesifikasjonen tolkes på samme måte uavhengig av hvem som leser den,
795 og uavhengig av hvem som tar den i bruk.
</p>
797 <p>For å oppnå klare og entydige beskrivelser i en spesifikasjon, som
798 trengs for å kunne få en fri og åpen standard (se
799 <a href=
"http://people.skolelinux.org/pere/blog/Fri_og__pen_standard__slik_Digistan_ser_det.html">Digistan-definisjon
</a>),
800 så trengs det en åpen og gjennomsiktig inngangsport med lav terskel,
801 der de som forsøker å ta den i bruk enkelt kan få inn korreksjoner,
802 etterlyse klargjøringer og rapportere uklarheter i spesifikasjonen.
803 En trenger også automatiserte datasystemer som måler og sjekker at et
804 gitt grensesnitt fungerer i tråd med spesifikasjonen.
</p>
806 <p>For Noark
5 Tjenestegrensesnittet er det nå etablert en slik åpen
807 og gjennomsiktig inngangsport på prosjekttjenesten github. Denne
808 inngangsporten består først og fremst av en åpen portal som lar enhver
809 se hva som er gjort av endringer i spesifikasjonsteksten over tid, men
810 det hører også med et åpent
"diskusjonsforum
" der en kan
811 komme med endringsforslag og forespørsler om klargjøringer. Alle
812 registrerte brukere på github kan bidra med innspill til disse
815 <p>I samarbeide med Arkivverket har jeg fått opprettet et git-depot
816 med spesifikasjonsteksten for tjenestegrensesnittet, der det er lagt
817 inn historikk for endringer i teksten de siste årene, samt lagt inn
818 endringsforslag og forespørsler om klargjøring av teksten. Bakgrunnen
819 for at jeg bidro med dette er at jeg er involvert i
820 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core">Nikita-prosjektet
</a>,
821 som lager en fri programvare-utgave av Noark
5 Tjenestegrensesnitt.
822 Det er først når en forsøker å lage noe i tråd med en spesifikasjon at
823 en oppdager hvor mange detaljer som må beskrives i spesifikasjonen for
824 å sikre samhandling.
</p>
826 <p>Spesifikasjonen vedlikeholdes i et rent tekstformat, for å ha et
827 format egnet for versjonskontroll via versjontrollsystemet git. Dette
828 gjør det både enkelt å se konkret hvilke endringer som er gjort når,
829 samt gjør det praktisk mulig for enhver med github-konto å sende inn
830 endringsforslag med formuleringer til spesifikasjonsteksten. Dette
831 tekstformatet vises frem som nettsider på github, slik at en ikke
832 trenger spesielle verktøy for å se på siste utgave av
835 <p>Fra dette rene tekstformatet kan det så avledes ulike formater, som
836 HTML for websider, PDF for utskrift på papir og ePub for lesing med
837 ebokleser. Avlednings-systemet (byggesystemet) bruker i dag
838 verktøyene pandoc, latex, docbook-xsl og GNU make til
839 transformasjonen. Tekstformatet som brukes dag er
840 <a href=
"https://www.markdownguide.org/">Markdown
</a>, men det vurderes
842 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/9">endre
843 til formatet RST
</a> i fremtiden for bedre styring av utseende på
846 <p>Versjonskontrollsystemet git ble valgt da det er både fleksibelt,
847 avansert og enkelt å ta i bruk. Github ble valgt (foran f.eks. Gitlab
848 som vi bruker i Nikita), da Arkivverket allerede hadde tatt i bruk
849 Github i andre sammenhenger.
</p>
851 <p>Enkle endringer i teksten kan gjøres av priviligerte brukere
852 direkte i nettsidene til Github, ved å finne aktuell fil som skal
853 endres (f.eks. kapitler/
03-konformitet.md), klikke på den lille
854 bokstaven i høyre hjørne over teksten. Det kommer opp en nettside der
855 en kan endre teksten slik en ønsker. Når en er fornøyd med endringen
856 så må endringen
"sjekkes inn
" i historikken. Det gjøres ved
857 å gi en kort beskrivelse av endringen (beskriv helst hvorfor endringen
858 trengs, ikke hva som er endret), under overskriften
"Commit
859 changes
". En kan og bør legge inn en lengre forklaring i det
860 større skrivefeltet, før en velger om endringen skal sendes direkte
861 til 'master'-grenen (dvs. autorativ utgave av spesifikasjonen) eller
862 om en skal lage en ny gren for denne endringen og opprette en
863 endringsforespørsel (aka
"Pull Request
"/PR). Når alt dette
864 er gjort kan en velge
"Commit changes
" for å sende inn
865 endringen. Hvis den er lagt inn i
"master
"-grenen så er den
866 en offisiell del av spesifikasjonen med en gang. Hvis den derimot er
867 en endringsforespørsel, så legges den inn i
868 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/pulls">listen
869 over forslag til endringer
</a> som venter på korrekturlesing og
872 <p>Større endringer (for eksempel samtidig endringer i flere filer)
873 gjøres enklest ved å hente ned en kopi av git-depoet lokalt og gjøre
874 endringene der før endringsforslaget sendes inn. Denne prosessen er
875 godt beskrivet i dokumentasjon fra github. Git-prosjektet som skal
876 "klones
" er
877 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
</a>.
</p>
879 <p>For å registrere nye utfordringer (issues) eller kommentere på
880 eksisterende utfordringer benyttes nettsiden
881 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues
</a>.
882 I skrivende stund er det
48 åpne og
11 avsluttede utfordringer. Et
883 forslag til hva som bør være med når en beskriver en utfordring er
884 tilgjengelig som utfordring
885 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/14">#
14</a>.
</p>
887 <p>For å bygge en PDF-utgave av spesifikasjonen så bruker jeg i dag en
888 Debian GNU/Linux-maskin med en rekke programpakker installert. Når
889 dette er på plass, så holder det å kjøre kommandoen 'make pdf html' på
890 kommandolinjen, vente ca.
20 sekunder, før spesifikasjon.pdf og
891 spesifikasjon.html ligger klar på disken. Verktøyene for bygging av
892 PDF, HTML og ePub-utgave er også tilgjengelig på Windows og
895 <p>Github bidrar med rammeverket. Men for at åpent vedlikehold av
896 spesifikasjonen skal fungere, så trengs det folk som bidrar med sin
897 tid og kunnskap. Arkivverket har sagt de skal bidra med innspill og
898 godkjenne forslag til endringer, men det blir størst suksess hvis alle
899 som bruker og lager systemer basert på Noark
5 Tjenestegrensesnitt
900 bidrar med sin kunnskap og kommer med forslag til forebedringer. Jeg
901 stiller. Blir du med?
</p>
903 <p>Det er viktig å legge til rette for åpen diskusjon blant alle
904 interesserte, som ikke krever at en må godta lange kontrakter med
905 vilkår for deltagelse. Inntil Arkivverket dukker opp på IRC har vi
906 laget en IRC-kanal der interesserte enkelt kan orientere seg og
907 diskutere tjenestegrensesnittet. Alle er velkommen til å ta turen
909 <a href=
"https://webchat.freenode.net/?channels=nikita">#nikita
</a>
910 (f.eks. via irc.freenode.net) for å møte likesinnede.
</p>
912 <p>Det holder dog ikke å ha en god spesifikasjon, hvis ikke de som tar
913 den i bruk gjør en like god jobb. For å automatisk teste om et konkret
914 tjenestegrensesnitt følger (min) forståelse av
915 spesifikasjonsdokumentet, har jeg skrevet et program som kobler seg
916 opp til et Noark
5v4 REST-tjeneste og tester alt den finner for å se
917 om det er i henhold til min tolkning av spesifikasjonen. Dette
918 verktøyet er tilgjengelig fra
919 <a href=
"https://github.com/petterreinholdtsen/noark5-tester">https://github.com/petterreinholdtsen/noark5-tester
</a>,
920 og brukes daglig mens vi utvikler Nikita for å sikre at vi ikke
921 introduserer nye feil. Hvis en skal sikre samvirke på tvers av ulike
922 systemer er det helt essensielt å kunne raskt og automatisk sjekke at
923 tjenestegrensesnittet oppfører seg som forventet. Jeg håper andre som
924 lager sin utgave av tjenestegrensesnittet vi bruke dette verktøyet,
925 slik at vi tidlig og raskt kan oppdage hvor vi har tolket
926 spesifikasjonen ulikt, og dermed få et godt grunnlag for å gjøre
927 spesifikasjonsteksten enda klarere og bedre.
</p>
929 <p>Dagens beskrivelse av Noark
5 Tjenestegrensesnitt er et svært godt
930 utgangspunkt for å gjøre virksomhetens arkiv til et dynamisk og
931 sentralt arbeidsverktøy i organisasjonen. Blir du med å gjøre den
938 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
943 <div class=
"padding"></div>
947 <a href=
"http://people.skolelinux.org/pere/blog/Time_for_an_official_MIME_type_for_patches_.html">Time for an official MIME type for patches?
</a>
953 <p>As part of my involvement in
954 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core">the Nikita
955 archive API project
</a>, I've been importing a fairly large lump of
956 emails into a test instance of the archive to see how well this would
957 go. I picked a subset of
<a href=
"https://notmuchmail.org/">my
958 notmuch email database
</a>, all public emails sent to me via
959 @lists.debian.org, giving me a set of around
216 000 emails to import.
960 In the process, I had a look at the various attachments included in
961 these emails, to figure out what to do with attachments, and noticed
962 that one of the most common attachment formats do not have
963 <a href=
"https://www.iana.org/assignments/media-types/media-types.xhtml">an
964 official MIME type
</a> registered with IANA/IETF. The output from
965 diff, ie the input for patch, is on the top
10 list of formats
966 included in these emails. At the moment people seem to use either
967 text/x-patch or text/x-diff, but neither is officially registered. It
968 would be better if one official MIME type were registered and used
971 <p>To try to get one official MIME type for these files, I've brought
973 <a href=
"https://www.ietf.org/mailman/listinfo/media-types">the
974 media-types mailing list
</a>. If you are interested in discussion
975 which MIME type to use as the official for patch files, or involved in
976 making software using a MIME type for patches, perhaps you would like
977 to join the discussion?
</p>
979 <p>As usual, if you use Bitcoin and want to show your support of my
980 activities, please send Bitcoin donations to my address
981 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
987 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
992 <div class=
"padding"></div>
996 <a href=
"http://people.skolelinux.org/pere/blog/Release_0_2_of_free_software_archive_system_Nikita_announced.html">Release
0.2 of free software archive system Nikita announced
</a>
1002 <p>This morning, the new release of the
1003 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
1004 Noark
5 core project
</a> was
1005 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/2018-October/000406.html">announced
1006 on the project mailing list
</a>. The free software solution is an
1007 implementation of the Norwegian archive standard Noark
5 used by
1008 government offices in Norway. These were the changes in version
0.2
1009 since version
0.1.1 (from NEWS.md):
1012 <li>Fix typos in REL names
</li>
1013 <li>Tidy up error message reporting
</li>
1014 <li>Fix issue where we used Integer.valueOf(), not Integer.getInteger()
</li>
1015 <li>Change some String handling to StringBuffer
</li>
1016 <li>Fix error reporting
</li>
1017 <li>Code tidy-up
</li>
1018 <li>Fix issue using static non-synchronized SimpleDateFormat to avoid
1019 race conditions
</li>
1020 <li>Fix problem where deserialisers were treating integers as strings
</li>
1021 <li>Update methods to make them null-safe
</li>
1022 <li>Fix many issues reported by coverity
</li>
1023 <li>Improve equals(), compareTo() and hash() in domain model
</li>
1024 <li>Improvements to the domain model for metadata classes
</li>
1025 <li>Fix CORS issues when downloading document
</li>
1026 <li>Implementation of case-handling with registryEntry and document upload
</li>
1027 <li>Better support in Javascript for OPTIONS
</li>
1028 <li>Adding concept description of mail integration
</li>
1029 <li>Improve setting of default values for GET on ny-journalpost
</li>
1030 <li>Better handling of required values during deserialisation
</li>
1031 <li>Changed tilknyttetDato (M620) from date to dateTime
</li>
1032 <li>Corrected some opprettetDato (M600) (de)serialisation errors.
</li>
1033 <li>Improve parse error reporting.
</li>
1034 <li>Started on OData search and filtering.
</li>
1035 <li>Added Contributor Covenant Code of Conduct to project.
</li>
1036 <li>Moved repository and project from Github to Gitlab.
</li>
1037 <li>Restructured repository, moved code into src/ and web/.
</li>
1038 <li>Updated code to use Spring Boot version
2.
</li>
1039 <li>Added support for OAuth2 authentication.
</li>
1040 <li>Fixed several bugs discovered by Coverity.
</li>
1041 <li>Corrected handling of date/datetime fields.
</li>
1042 <li>Improved error reporting when rejecting during deserializatoin.
</li>
1043 <li>Adjusted default values provided for ny-arkivdel, ny-mappe,
1044 ny-saksmappe, ny-journalpost and ny-dokumentbeskrivelse.
</li>
1045 <li>Several fixes for korrespondansepart*.
</li>
1046 <li>Updated web GUI:
1048 <li>Now handle both file upload and download.
</li>
1049 <li>Uses new OAuth2 authentication for login.
</li>
1050 <li>Forms now fetches default values from API using GET.
</li>
1051 <li>Added RFC
822 (email), TIFF and JPEG to list of possible file formats.
</li>
1055 <p>The changes and improvements are extensive. Running diffstat on
1056 the changes between git tab
0.1.1 and
0.2 show
1098 files changed,
1057 108666 insertions(+),
54066 deletions(-).
</p>
1059 <p>If free and open standardized archiving API sound interesting to
1060 you, please contact us on IRC
1061 (
<a href=
"irc://irc.freenode.net/%23nikita">#nikita on
1062 irc.freenode.net
</a>) or email
1063 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
1064 mailing list
</a>).
</p>
1066 <p>As usual, if you use Bitcoin and want to show your support of my
1067 activities, please send Bitcoin donations to my address
1068 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
1074 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
1079 <div class=
"padding"></div>
1083 <a href=
"http://people.skolelinux.org/pere/blog/Fetching_trusted_timestamps_using_the_rfc3161ng_python_module.html">Fetching trusted timestamps using the rfc3161ng python module
</a>
1089 <p>I have earlier covered the basics of trusted timestamping using the
1090 'openssl ts' client. See blog post for
1091 <a href=
"http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html">2014</a>,
1092 <a href=
"http://people.skolelinux.org/pere/blog/syslog_trusted_timestamp___chain_of_trusted_timestamps_for_your_syslog.html">2016</a>
1094 <a href=
"http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html">2017</a>
1095 for those stories. But some times I want to integrate the timestamping
1096 in other code, and recently I needed to integrate it into Python.
1097 After searching a bit, I found
1098 <a href=
"https://dev.entrouvert.org/projects/python-rfc3161">the
1099 rfc3161 library
</a> which seemed like a good fit, but I soon
1100 discovered it only worked for python version
2, and I needed something
1101 that work with python version
3. Luckily I next came across
1102 <a href=
"https://github.com/trbs/rfc3161ng/">the rfc3161ng library
</a>,
1103 a fork of the original rfc3161 library. Not only is it working with
1104 python
3, it have fixed a few of the bugs in the original library, and
1105 it has an active maintainer. I decided to wrap it up and make it
1106 <a href=
"https://tracker.debian.org/pkg/python-rfc3161ng">available in
1107 Debian
</a>, and a few days ago it entered Debian unstable and testing.
</p>
1109 <p>Using the library is fairly straight forward. The only slightly
1110 problematic step is to fetch the required certificates to verify the
1111 timestamp. For some services it is straight forward, while for others
1112 I have not yet figured out how to do it. Here is a small standalone
1113 code example based on of the integration tests in the library code:
</p>
1120 Python
3 script demonstrating how to use the rfc3161ng module to
1121 get trusted timestamps.
1123 The license of this code is the same as the license of the rfc3161ng
1124 library, ie MIT/BSD.
1129 import pyasn1.codec.der
1133 import urllib.request
1140 def fetch(url, f=None):
1141 response = urllib.request.urlopen(url)
1142 data = response.read()
1148 with tempfile.NamedTemporaryFile() as cert_f,\
1149 tempfile.NamedTemporaryFile() as ca_f,\
1150 tempfile.NamedTemporaryFile() as msg_f,\
1151 tempfile.NamedTemporaryFile() as tsr_f:
1153 # First fetch certificates used by service
1154 certificate_data = fetch('https://freetsa.org/files/tsa.crt', cert_f)
1155 ca_data_data = fetch('https://freetsa.org/files/cacert.pem', ca_f)
1157 # Then timestamp the message
1159 rfc3161ng.RemoteTimestamper('http://freetsa.org/tsr',
1160 certificate=certificate_data)
1161 data = b"Python forever!\n"
1162 tsr = timestamper(data=data, return_tsr=True)
1164 # Finally, convert message and response to something 'openssl ts' can verify
1166 store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
1167 args = ["openssl", "ts", "-verify",
1168 "-data", msg_f.name,
1170 "-CAfile", ca_f.name,
1171 "-untrusted", cert_f.name]
1172 subprocess.check_call(args)
1174 if '__main__' == __name__:
1178 <p>The code fetches the required certificates, store them as temporary
1179 files, timestamp a simple message, store the message and timestamp to
1180 disk and ask 'openssl ts' to verify the timestamp. A timestamp is
1181 around
1.5 kiB in size, and should be fairly easy to store for future
1184 <p>As usual, if you use Bitcoin and want to show your support of my
1185 activities, please send Bitcoin donations to my address
1186 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
1192 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet
</a>.
1197 <div class=
"padding"></div>
1201 <a href=
"http://people.skolelinux.org/pere/blog/Release_0_1_1_of_free_software_archive_system_Nikita_announced.html">Release
0.1.1 of free software archive system Nikita announced
</a>
1207 <p>I am very happy to report that the
1208 <a href=
"https://github.com/hiOA-ABI/nikita-noark5-core">Nikita Noark
5
1209 core project
</a> tagged its second release today. The free software
1210 solution is an implementation of the Norwegian archive standard Noark
1211 5 used by government offices in Norway. These were the changes in
1212 version
0.1.1 since version
0.1.0 (from NEWS.md):
1216 <li>Continued work on the angularjs GUI, including document upload.
</li>
1217 <li>Implemented correspondencepartPerson, correspondencepartUnit and
1218 correspondencepartInternal
</li>
1219 <li>Applied for coverity coverage and started submitting code on
1221 <li>Started fixing bugs reported by coverity
</li>
1222 <li>Corrected and completed HATEOAS links to make sure entire API is
1223 available via URLs in _links.
</li>
1224 <li>Corrected all relation URLs to use trailing slash.
</li>
1225 <li>Add initial support for storing data in ElasticSearch.
</li>
1226 <li>Now able to receive and store uploaded files in the archive.
</li>
1227 <li>Changed JSON output for object lists to have relations in _links.
</li>
1228 <li>Improve JSON output for empty object lists.
</li>
1229 <li>Now uses correct MIME type application/vnd.noark5-v4+json.
</li>
1230 <li>Added support for docker container images.
</li>
1231 <li>Added simple API browser implemented in JavaScript/Angular.
</li>
1232 <li>Started on archive client implemented in JavaScript/Angular.
</li>
1233 <li>Started on prototype to show the public mail journal.
</li>
1234 <li>Improved performance by disabling Sprint FileWatcher.
</li>
1235 <li>Added support for 'arkivskaper', 'saksmappe' and 'journalpost'.
</li>
1236 <li>Added support for some metadata codelists.
</li>
1237 <li>Added support for Cross-origin resource sharing (CORS).
</li>
1238 <li>Changed login method from Basic Auth to JSON Web Token (RFC
7519)
1240 <li>Added support for GET-ing ny-* URLs.
</li>
1241 <li>Added support for modifying entities using PUT and eTag.
</li>
1242 <li>Added support for returning XML output on request.
</li>
1243 <li>Removed support for English field and class names, limiting ourself
1244 to the official names.
</li>
1249 <p>If this sound interesting to you, please contact us on IRC (#nikita
1250 on irc.freenode.net) or email
1251 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
1258 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
1263 <div class=
"padding"></div>
1267 <a href=
"http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html">Idea for storing trusted timestamps in a Noark
5 archive
</a>
1273 <p><em>This is a copy of
1274 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/2017-June/000297.html">an
1275 email I posted to the nikita-noark mailing list
</a>. Please follow up
1276 there if you would like to discuss this topic. The background is that
1277 we are making a free software archive system based on the Norwegian
1278 <a href=
"https://www.arkivverket.no/forvaltning-og-utvikling/regelverk-og-standarder/noark-standarden">Noark
1279 5 standard
</a> for government archives.
</em></p>
1281 <p>I've been wondering a bit lately how trusted timestamps could be
1283 <a href=
"https://en.wikipedia.org/wiki/Trusted_timestamping">Trusted
1284 timestamps
</a> can be used to verify that some information
1285 (document/file/checksum/metadata) have not been changed since a
1286 specific time in the past. This is useful to verify the integrity of
1287 the documents in the archive.
</p>
1289 <p>Then it occured to me, perhaps the trusted timestamps could be
1290 stored as dokument variants (ie dokumentobjekt referered to from
1291 dokumentbeskrivelse) with the filename set to the hash it is
1294 <p>Given a "dokumentbeskrivelse" with an associated "dokumentobjekt",
1295 a new dokumentobjekt is associated with "dokumentbeskrivelse" with the
1296 same attributes as the stamped dokumentobjekt except these
1301 <li>format -
> "RFC3161"
1302 <li>mimeType -
> "application/timestamp-reply"
1303 <li>formatDetaljer -
> "<source URL for timestamp service>"
1304 <li>filenavn -
> "<sjekksum>.tsr"
1308 <p>This assume a service following
1309 <a href=
"https://tools.ietf.org/html/rfc3161">IETF RFC
3161</a> is
1310 used, which specifiy the given MIME type for replies and the .tsr file
1311 ending for the content of such trusted timestamp. As far as I can
1312 tell from the Noark
5 specifications, it is OK to have several
1313 variants/renderings of a dokument attached to a given
1314 dokumentbeskrivelse objekt. It might be stretching it a bit to make
1315 some of these variants represent crypto-signatures useful for
1316 verifying the document integrity instead of representing the dokument
1319 <p>Using the source of the service in formatDetaljer allow several
1320 timestamping services to be used. This is useful to spread the risk
1321 of key compromise over several organisations. It would only be a
1322 problem to trust the timestamps if all of the organisations are
1325 <p>The following oneliner on Linux can be used to generate the tsr
1326 file. $input is the path to the file to checksum, and $sha256 is the
1327 SHA-
256 checksum of the file (ie the "
<sjekksum>.tsr" value mentioned
1330 <p><blockquote><pre>
1331 openssl ts -query -data "$inputfile" -cert -sha256 -no_nonce \
1332 | curl -s -H "Content-Type: application/timestamp-query" \
1333 --data-binary "@-" http://zeitstempel.dfn.de
> $sha256.tsr
1334 </pre></blockquote></p>
1336 <p>To verify the timestamp, you first need to download the public key
1337 of the trusted timestamp service, for example using this command:
</p>
1339 <p><blockquote><pre>
1340 wget -O ca-cert.txt \
1341 https://pki.pca.dfn.de/global-services-ca/pub/cacert/chain.txt
1342 </pre></blockquote></p>
1344 <p>Note, the public key should be stored alongside the timestamps in
1345 the archive to make sure it is also available
100 years from now. It
1346 is probably a good idea to standardise how and were to store such
1347 public keys, to make it easier to find for those trying to verify
1348 documents
100 or
1000 years from now. :)
</p>
1350 <p>The verification itself is a simple openssl command:
</p>
1352 <p><blockquote><pre>
1353 openssl ts -verify -data $inputfile -in $sha256.tsr \
1354 -CAfile ca-cert.txt -text
1355 </pre></blockquote></p>
1357 <p>Is there any reason this approach would not work? Is it somehow against
1358 the Noark
5 specification?
</p>
1364 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
1369 <div class=
"padding"></div>
1373 <a href=
"http://people.skolelinux.org/pere/blog/Epost_inn_som_arkivformat_i_Riksarkivarens_forskrift_.html">Epost inn som arkivformat i Riksarkivarens forskrift?
</a>
1379 <p>I disse dager, med frist
1. mai, har Riksarkivaren ute en høring på
1380 sin forskrift. Som en kan se er det ikke mye tid igjen før fristen
1381 som går ut på søndag. Denne forskriften er det som lister opp hvilke
1382 formater det er greit å arkivere i
1383 <a href=
"http://www.arkivverket.no/arkivverket/Offentleg-forvalting/Noark/Noark-5">Noark
1384 5-løsninger
</a> i Norge.
</p>
1386 <p>Jeg fant høringsdokumentene hos
1387 <a href=
"https://www.arkivrad.no/aktuelt/riksarkivarens-forskrift-pa-horing">Norsk
1388 Arkivråd
</a> etter å ha blitt tipset på epostlisten til
1389 <a href=
"https://github.com/hiOA-ABI/nikita-noark5-core">fri
1390 programvareprosjektet Nikita Noark5-Core
</a>, som lager et Noark
5
1391 Tjenestegresesnitt. Jeg er involvert i Nikita-prosjektet og takket
1392 være min interesse for tjenestegrensesnittsprosjektet har jeg lest en
1393 god del Noark
5-relaterte dokumenter, og til min overraskelse oppdaget
1394 at standard epost ikke er på listen over godkjente formater som kan
1395 arkiveres. Høringen med frist søndag er en glimrende mulighet til å
1396 forsøke å gjøre noe med det. Jeg holder på med
1397 <a href=
"https://github.com/petterreinholdtsen/noark5-tester/blob/master/docs/hoering-arkivforskrift.tex">egen
1398 høringsuttalelse
</a>, og lurer på om andre er interessert i å støtte
1399 forslaget om å tillate arkivering av epost som epost i arkivet.
</p>
1401 <p>Er du igang med å skrive egen høringsuttalelse allerede? I så fall
1402 kan du jo vurdere å ta med en formulering om epost-lagring. Jeg tror
1403 ikke det trengs så mye. Her et kort forslag til tekst:
</p>
1407 <p>Viser til høring sendt ut
2017-
02-
17 (Riksarkivarens referanse
1408 2016/
9840 HELHJO), og tillater oss å sende inn noen innspill om
1409 revisjon av Forskrift om utfyllende tekniske og arkivfaglige
1410 bestemmelser om behandling av offentlige arkiver (Riksarkivarens
1413 <p>Svært mye av vår kommuikasjon foregår i dag på e-post. Vi
1414 foreslår derfor at Internett-e-post, slik det er beskrevet i IETF
1416 <a href=
"https://tools.ietf.org/html/rfc5322">https://tools.ietf.org/html/rfc5322
</a>. bør
1417 inn som godkjent dokumentformat. Vi foreslår at forskriftens
1418 oversikt over godkjente dokumentformater ved innlevering i §
5-
16
1419 endres til å ta med Internett-e-post.
</p>
1423 <p>Som del av arbeidet med tjenestegrensesnitt har vi testet hvordan
1424 epost kan lagres i en Noark
5-struktur, og holder på å skrive et
1425 forslag om hvordan dette kan gjøres som vil bli sendt over til
1426 arkivverket så snart det er ferdig. De som er interesserte kan
1427 <a href=
"https://github.com/petterreinholdtsen/noark5-tester/blob/master/docs/epostlagring.md">følge
1428 fremdriften på web
</a>.
</p>
1430 <p>Oppdatering
2017-
04-
28: I dag ble høringuttalelsen jeg skrev
1431 <a href=
"https://www.nuug.no/news/NUUGs_h_ringuttalelse_til_Riksarkivarens_forskrift.shtml">sendt
1432 inn av foreningen NUUG
</a>.
</p>
1438 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
1443 <div class=
"padding"></div>
1447 <a href=
"http://people.skolelinux.org/pere/blog/Free_software_archive_system_Nikita_now_able_to_store_documents.html">Free software archive system Nikita now able to store documents
</a>
1453 <p>The
<a href=
"https://github.com/hiOA-ABI/nikita-noark5-core">Nikita
1454 Noark
5 core project
</a> is implementing the Norwegian standard for
1455 keeping an electronic archive of government documents.
1456 <a href=
"http://www.arkivverket.no/arkivverket/Offentlig-forvaltning/Noark/Noark-5/English-version">The
1457 Noark
5 standard
</a> document the requirement for data systems used by
1458 the archives in the Norwegian government, and the Noark
5 web interface
1459 specification document a REST web service for storing, searching and
1460 retrieving documents and metadata in such archive. I've been involved
1461 in the project since a few weeks before Christmas, when the Norwegian
1463 <a href=
"https://www.nuug.no/news/NOARK5_kjerne_som_fri_programvare_f_r_epostliste_hos_NUUG.shtml">announced
1464 it supported the project
</a>. I believe this is an important project,
1465 and hope it can make it possible for the government archives in the
1466 future to use free software to keep the archives we citizens depend
1467 on. But as I do not hold such archive myself, personally my first use
1468 case is to store and analyse public mail journal metadata published
1469 from the government. I find it useful to have a clear use case in
1470 mind when developing, to make sure the system scratches one of my
1473 <p>If you would like to help make sure there is a free software
1474 alternatives for the archives, please join our IRC channel
1475 (
<a href=
"irc://irc.freenode.net/%23nikita">#nikita on
1476 irc.freenode.net
</a>) and
1477 <a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark">the
1478 project mailing list
</a>.
</p>
1480 <p>When I got involved, the web service could store metadata about
1481 documents. But a few weeks ago, a new milestone was reached when it
1482 became possible to store full text documents too. Yesterday, I
1483 completed an implementation of a command line tool
1484 <tt>archive-pdf
</tt> to upload a PDF file to the archive using this
1485 API. The tool is very simple at the moment, and find existing
1486 <a href=
"https://en.wikipedia.org/wiki/Fonds">fonds
</a>, series and
1487 files while asking the user to select which one to use if more than
1488 one exist. Once a file is identified, the PDF is associated with the
1489 file and uploaded, using the title extracted from the PDF itself. The
1490 process is fairly similar to visiting the archive, opening a cabinet,
1491 locating a file and storing a piece of paper in the archive. Here is
1492 a test run directly after populating the database with test data using
1495 <p><blockquote><pre>
1496 ~/src//noark5-tester$ ./archive-pdf mangelmelding/mangler.pdf
1497 using arkiv: Title of the test fonds created
2017-
03-
18T23:
49:
32.103446
1498 using arkivdel: Title of the test series created
2017-
03-
18T23:
49:
32.103446
1500 0 - Title of the test case file created
2017-
03-
18T23:
49:
32.103446
1501 1 - Title of the test file created
2017-
03-
18T23:
49:
32.103446
1502 Select which mappe you want (or search term):
0
1503 Uploading mangelmelding/mangler.pdf
1504 PDF title: Mangler i spesifikasjonsdokumentet for NOARK
5 Tjenestegrensesnitt
1505 File
2017/
1: Title of the test case file created
2017-
03-
18T23:
49:
32.103446
1506 ~/src//noark5-tester$
1507 </pre></blockquote></p>
1509 <p>You can see here how the fonds (arkiv) and serie (arkivdel) only had
1510 one option, while the user need to choose which file (mappe) to use
1511 among the two created by the API tester. The
<tt>archive-pdf
</tt>
1512 tool can be found in the git repository for the API tester.
</p>
1514 <p>In the project, I have been mostly working on
1515 <a href=
"https://github.com/petterreinholdtsen/noark5-tester">the API
1516 tester
</a> so far, while getting to know the code base. The API
1517 tester currently use
1518 <a href=
"https://en.wikipedia.org/wiki/HATEOAS">the HATEOAS links
</a>
1519 to traverse the entire exposed service API and verify that the exposed
1520 operations and objects match the specification, as well as trying to
1521 create objects holding metadata and uploading a simple XML file to
1522 store. The tester has proved very useful for finding flaws in our
1523 implementation, as well as flaws in the reference site and the
1526 <p>The test document I uploaded is a summary of all the specification
1527 defects we have collected so far while implementing the web service.
1528 There are several unclear and conflicting parts of the specification,
1530 <a href=
"https://github.com/petterreinholdtsen/noark5-tester/tree/master/mangelmelding">started
1531 writing down
</a> the questions we get from implementing it. We use a
1532 format inspired by how
<a href=
"http://www.opengroup.org/austin/">The
1533 Austin Group
</a> collect defect reports for the POSIX standard with
1534 <a href=
"http://www.opengroup.org/austin/mantis.html">their
1535 instructions for the MANTIS defect tracker system
</a>, in lack of an official way to structure defect reports for Noark
5 (our first submitted defect report was a
<a href=
"https://github.com/petterreinholdtsen/noark5-tester/blob/master/mangelmelding/sendt/2017-03-15-mangel-prosess.md">request for a procedure for submitting defect reports
</a> :).
1537 <p>The Nikita project is implemented using Java and Spring, and is
1538 fairly easy to get up and running using Docker containers for those
1539 that want to test the current code base. The API tester is
1540 implemented in Python.
</p>
1546 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
1551 <div class=
"padding"></div>
1555 <a href=
"http://people.skolelinux.org/pere/blog/Hva__mangler__i_OEP___litt_statistikk_utledet_fra_saksnummer_og_dokumentnummer.html">Hva «mangler» i OEP - litt statistikk utledet fra saksnummer og dokumentnummer
</a>
1561 <p>En ting jeg har lurt på når det gjelder offentlige postjournaler,
1562 er hvor stor andel av det som ligger i de interne databasene kommer
1563 ikke med i postjournalen. Dette er det mulig å finne ut basert på det
1564 som ligger i postjournalen. For å forstå hva jeg mener, trengs det
1565 litt bakgrunnsinformasjon. I henhold til
1566 <a href=
"http://www.arkivverket.no/arkivverket/Offentleg-forvalting/Noark">NOARK-standarden
</a>
1567 for norske offentlige arkiv skal enhver sak ha et årstall og et
1568 løpenummer, og ethvert dokument i saken skal gis et
1569 dokument-løpenummer. Det vil si at en ender opp med dokument-ID som
1570 ser ut som ÅÅÅÅ/SAKNR-DOKNR, f.eks.
2014/
2-
1 eller
2014/
12312-
14.
1571 Mange oppgir kun tosifret årstall, men prinsippet er det samme. Så
1572 vidt jeg vet skal saksnummer og dokumentnummer tildeles løpende og i
1573 stigende rekkefølge. Gitt en instans med følgende dokument-ID i
1574 postjournalen, så kan en regne ut hvor mye som ikke finnes i
1583 <p>Her ser en at saksnummer
2 og
5 finnes i postjournalen, mens
1584 nummerene
1,
3 og
4 mangler. En ser også at i sak
2014/
5 mangler
1585 dokument
2. Ved hjelp av denne informasjonen har jeg regnet ut hvor
1586 stor andel av saksnummer og dokumentløpenummer som ikke har dukket opp
1587 i
<a href=
"https://www.oep.no/">Offentlig Elektronisk Postjournal
</a>
1588 (OEP). For saksnummer har jeg tatt utgangspunkt i at en ikke trenger
1589 å starte på
1, og dermed regnet med området fra laveste til høyeste
1590 saksnummer og talt antall unike saksnummer som forekommer i OEP. I
1591 dette tilfellet betyr de at
2 av
4 saksnummer er ubrukte (
50%). For
1592 dokumentløpenummer har jeg tilsvarende tatt utgangspunkt i laveste og
1593 høyeste kjente dokumentløpenummer, for å handtere databaser der jeg
1594 mangler komplett postjournal. For sak
2014/
5 her betyr det at
1 av
3
1595 dokumenter mangler (
33%).
</p>
1597 <p>Det er flere årsaker til at det kan bli hull i nummerseriene.
1598 Feilføring der et dokument tildeles et nytt saksnummer ved en feil, og
1599 deretter flyttes inn i riktig sak vil gi et ubrukt saksnummer, da
1600 saksnummer skal tildeles i stigende rekkefølge og en ikke får opprette
1601 nye saker innimellom gamle saker. Tilsvarende kan skje med
1602 dokument-løpenummer. Det er jo heller ikke sikkert at et saksnummer i
1603 OEP er det samme som løpenummeret som brukes som saksnummeret i
1604 instansens interne datasystem. Kanskje snakker vi om ulike ontologier
1605 der en delmengde av interne saksnummer tilsvarer saksnummer i OEP.
1606 Hvis like nummer også tildeles andre ting enn saker som skal til OEP
1607 vil en tilsvarende få «hull» i saksnumrene i postjournalen.
</p>
1609 <p>Jeg er litt usikker på hva denne statistikken egentlig viser, og
1610 heller ikke sikker på om det er reelt sett mangler i OEP (som kanskje
1611 kunne anses å være kritikkverdig), bare er resultatet av hendelige
1612 uhell i nummertildelingen eller resultat av ulik ontologi i OEP og
1613 instansens datasystem. Men jeg syntes tallene og variasjonen var så
1614 interessant at jeg hadde lyst til å dele dem med mine lesere. Jeg har
1615 sortert listen på prosent upubliserte saksnummer for
2014.
</p>
1618 <tr><th colspan=
"6">Saksnummer
</th><th colspan=
"3">Dokumentnummer
</th><th rowspan=
"3">Instans
</th></tr>
1619 <tr><th colspan=
"3">2014</th><th colspan=
"3">2013</th><th colspan=
"3">2014</th></tr>
1620 <tr><th>%
</th><th>Upubl. saksnr.
</th><th>Totalt
</th>
1621 <th>%
</th><th>Upubl. saksnr
</th><th>Totalt
</th>
1622 <th>%
</th><th>Upubl. dok.nr.
</th><th>Totalt
</th>
1625 <tr><td> 0.6</td><td> 8</td><td> 1282</td><td> 0.2</td><td> 2</td><td> 861</td><td> 0.0</td><td> 0</td><td> 6105</td><td>Vox, nasjonalt fagorgan for kompetansepolitikk
</td></tr>
1626 <tr><td> 0.9</td><td> 91</td><td> 9863</td><td> 2.7</td><td> 313</td><td> 11703</td><td> 0.0</td><td> 0</td><td> 24029</td><td>Direktoratet for byggkvalitet
</td></tr>
1627 <tr><td> 1.0</td><td> 161</td><td> 15663</td><td> 3.3</td><td> 558</td><td> 17045</td><td> 0.0</td><td> 0</td><td> 41954</td><td>Justervesenet
</td></tr>
1628 <tr><td> 1.1</td><td> 325</td><td> 28515</td><td> 1.2</td><td> 357</td><td> 29621</td><td> 0.0</td><td> 0</td><td> 66871</td><td>Arkivverket
</td></tr>
1629 <tr><td> 1.8</td><td> 28</td><td> 1568</td><td> 1.0</td><td> 17</td><td> 1722</td><td> 0.0</td><td> 0</td><td> 9259</td><td>Statistisk sentralbyrå
</td></tr>
1630 <tr><td> 1.8</td><td> 92</td><td> 5066</td><td>75.4</td><td>3144</td><td> 4169</td><td> 0.0</td><td> 0</td><td> 17056</td><td>Arbeids- og sosialdepartementet
</td></tr>
1631 <tr><td> 2.2</td><td> 32</td><td> 1470</td><td> 2.4</td><td> 36</td><td> 1471</td><td> 0.0</td><td> 0</td><td> 9757</td><td>Norsk Filminstitutt
</td></tr>
1632 <tr><td> 2.3</td><td> 34</td><td> 1478</td><td> 2.9</td><td> 41</td><td> 1425</td><td> 0.0</td><td> 0</td><td> 4522</td><td>Datatilsynet
</td></tr>
1633 <tr><td> 2.7</td><td> 49</td><td> 1795</td><td> 2.8</td><td> 34</td><td> 1199</td><td> 0.0</td><td> 0</td><td> 5824</td><td>Direktoratet for mineralforvaltning med Bergmesteren for Svalbard
</td></tr>
1634 <tr><td> 3.1</td><td> 134</td><td> 4326</td><td> 2.8</td><td> 144</td><td> 5119</td><td> 0.0</td><td> 0</td><td> 12223</td><td>Brønnøysundregistrene
</td></tr>
1635 <tr><td> 3.1</td><td> 201</td><td> 6571</td><td> 6.1</td><td> 603</td><td> 9870</td><td> 0.0</td><td> 0</td><td> 22390</td><td>Statens kartverk
</td></tr>
1636 <tr><td> 3.2</td><td> 228</td><td> 7092</td><td> 2.0</td><td> 143</td><td> 7032</td><td> 0.1</td><td> 14</td><td> 24491</td><td>Lotteri- og stiftelsestilsynet
</td></tr>
1637 <tr><td> 3.6</td><td> 32</td><td> 891</td><td> 4.9</td><td> 37</td><td> 753</td><td> 0.0</td><td> 0</td><td> 3055</td><td>Statens innkrevingssentral
</td></tr>
1638 <tr><td> 3.8</td><td>1016</td><td> 26466</td><td> 2.5</td><td> 716</td><td> 28727</td><td> 0.0</td><td> 0</td><td> 86951</td><td>Husbanken
</td></tr>
1639 <tr><td> 3.9</td><td> 52</td><td> 1326</td><td>14.4</td><td> 180</td><td> 1247</td><td> 0.0</td><td> 0</td><td> 4922</td><td>Sysselmannen på Svalbard
</td></tr>
1640 <tr><td> 4.0</td><td> 248</td><td> 6250</td><td> 4.6</td><td> 332</td><td> 7159</td><td> 0.0</td><td> 0</td><td> 22063</td><td>Post- og teletilsynet
</td></tr>
1641 <tr><td> 4.1</td><td> 102</td><td> 2488</td><td> 2.7</td><td> 62</td><td> 2291</td><td> 0.0</td><td> 0</td><td> 9707</td><td>Forbrukerombudet
</td></tr>
1642 <tr><td> 4.8</td><td> 51</td><td> 1060</td><td>12.6</td><td> 132</td><td> 1046</td><td> 0.0</td><td> 0</td><td> 3616</td><td>Statens strålevern
</td></tr>
1643 <tr><td> 5.2</td><td> 924</td><td> 17781</td><td> 6.3</td><td>1184</td><td> 18665</td><td> 0.0</td><td> 0</td><td> 59772</td><td>Fiskeridirektoratet
</td></tr>
1644 <tr><td> 5.5</td><td> 254</td><td> 4638</td><td> 6.1</td><td> 315</td><td> 5168</td><td> 0.0</td><td> 0</td><td> 15470</td><td>Barne-, likestillings- og inkluderingsdepartementet
</td></tr>
1645 <tr><td> 6.0</td><td> 80</td><td> 1336</td><td> 3.7</td><td> 48</td><td> 1314</td><td> 0.0</td><td> 0</td><td> 2691</td><td>Medietilsynet
</td></tr>
1646 <tr><td> 6.1</td><td> 91</td><td> 1486</td><td> 5.0</td><td> 83</td><td> 1651</td><td> 0.2</td><td> 17</td><td> 7473</td><td>Petroleumstilsynet
</td></tr>
1647 <tr><td> 6.2</td><td> 248</td><td> 3997</td><td>73.7</td><td>3459</td><td> 4693</td><td> 0.0</td><td> 0</td><td> 10963</td><td>Klima- og miljødepartementet
</td></tr>
1648 <tr><td> 7.0</td><td> 190</td><td> 2700</td><td>10.2</td><td> 207</td><td> 2033</td><td> 0.0</td><td> 1</td><td> 14299</td><td>Samferdselsdepartementet
</td></tr>
1649 <tr><td> 7.1</td><td> 35</td><td> 492</td><td> 4.5</td><td> 41</td><td> 909</td><td> 0.0</td><td> 0</td><td> 2960</td><td>Konkurransetilsynet
</td></tr>
1650 <tr><td> 7.1</td><td> 482</td><td> 6800</td><td> 6.4</td><td> 532</td><td> 8259</td><td> 0.0</td><td> 0</td><td> 28684</td><td>Justis- og beredskapsdepartementet
</td></tr>
1651 <tr><td> 7.2</td><td> 87</td><td> 1204</td><td> 4.2</td><td> 50</td><td> 1199</td><td> 0.0</td><td> 3</td><td> 7428</td><td>Oljedirektoratet
</td></tr>
1652 <tr><td> 7.2</td><td> 106</td><td> 1478</td><td> 6.3</td><td> 129</td><td> 2045</td><td> 0.0</td><td> 2</td><td> 4987</td><td>Statens jernbanetilsyn
</td></tr>
1653 <tr><td> 7.2</td><td> 131</td><td> 1813</td><td> 8.5</td><td> 124</td><td> 1452</td><td> 0.0</td><td> 2</td><td> 8758</td><td>Statsministerens kontor
</td></tr>
1654 <tr><td> 7.3</td><td> 816</td><td> 11218</td><td> 6.1</td><td> 655</td><td> 10665</td><td> 0.0</td><td> 0</td><td> 47160</td><td>Norges forskningsråd
</td></tr>
1655 <tr><td> 7.8</td><td>1150</td><td> 14712</td><td> 6.7</td><td> 746</td><td> 11202</td><td> 0.0</td><td> 0</td><td> 33794</td><td>Miljødirektoratet
</td></tr>
1656 <tr><td> 7.9</td><td> 411</td><td> 5216</td><td> 8.3</td><td> 446</td><td> 5365</td><td> 0.0</td><td> 0</td><td> 16441</td><td>Helse- og omsorgsdepartementet
</td></tr>
1657 <tr><td> 8.3</td><td> 376</td><td> 4514</td><td> 8.2</td><td> 457</td><td> 5548</td><td> 0.0</td><td> 3</td><td> 20840</td><td>Luftfartstilsynet
</td></tr>
1658 <tr><td> 8.5</td><td> 185</td><td> 2181</td><td> 9.8</td><td> 175</td><td> 1780</td><td> 0.0</td><td> 0</td><td> 7669</td><td>Landbruks- og matdepartementet
</td></tr>
1659 <tr><td> 8.6</td><td> 10</td><td> 116</td><td> 0.8</td><td> 1</td><td> 127</td><td> 0.0</td><td> 0</td><td> 318</td><td>Statens institutt for rusmiddelforskning
</td></tr>
1660 <tr><td> 9.0</td><td> 597</td><td> 6648</td><td> 9.7</td><td> 705</td><td> 7236</td><td> 0.0</td><td> 3</td><td> 35663</td><td>Utdanningsdirektoratet
</td></tr>
1661 <tr><td> 9.0</td><td>1139</td><td> 12632</td><td> 8.2</td><td>1100</td><td> 13344</td><td> 0.0</td><td> 2</td><td> 36987</td><td>Finanstilsynet
</td></tr>
1662 <tr><td> 9.1</td><td> 540</td><td> 5949</td><td>13.4</td><td> 769</td><td> 5743</td><td> 0.0</td><td> 0</td><td> 13908</td><td>Finansdepartementet
</td></tr>
1663 <tr><td> 9.2</td><td> 256</td><td> 2787</td><td> 6.5</td><td> 203</td><td> 3147</td><td> 0.0</td><td> 0</td><td> 9487</td><td>Riksantikvaren - Direktoratet for kulturminneforvaltning
</td></tr>
1664 <tr><td> 9.3</td><td>1596</td><td> 17209</td><td> 2.5</td><td> 463</td><td> 18438</td><td> 0.0</td><td> 0</td><td> 53119</td><td>Statens legemiddelverk
</td></tr>
1665 <tr><td> 9.7</td><td> 299</td><td> 3085</td><td>10.7</td><td> 329</td><td> 3072</td><td> 0.1</td><td> 6</td><td> 7579</td><td>Forsvarsdepartementet
</td></tr>
1666 <tr><td>10.1</td><td> 167</td><td> 1650</td><td> 4.5</td><td> 65</td><td> 1445</td><td> 0.0</td><td> 0</td><td> 11157</td><td>Statens helsetilsyn
</td></tr>
1667 <tr><td>10.9</td><td> 59</td><td> 542</td><td> 7.7</td><td> 44</td><td> 569</td><td> 0.0</td><td> 0</td><td> 1283</td><td>Statens arbeidsmiljøinstitutt
</td></tr>
1668 <tr><td>11.3</td><td> 46</td><td> 407</td><td>96.1</td><td>2591</td><td> 2695</td><td> 0.0</td><td> 0</td><td> 1489</td><td>Landbruksdirektoratet Alta
</td></tr>
1669 <tr><td>11.4</td><td> 675</td><td> 5933</td><td>13.6</td><td> 613</td><td> 4492</td><td> 0.0</td><td> 0</td><td> 24598</td><td>Kystverket
</td></tr>
1670 <tr><td>11.6</td><td> 739</td><td> 6383</td><td>12.2</td><td> 748</td><td> 6121</td><td> 0.0</td><td> 1</td><td> 18605</td><td>Kunnskapsdepartementet
</td></tr>
1671 <tr><td>11.9</td><td> 641</td><td> 5398</td><td> 9.3</td><td> 432</td><td> 4655</td><td> 0.0</td><td> 0</td><td> 14438</td><td>Kulturdepartementet
</td></tr>
1672 <tr><td>11.9</td><td> 934</td><td> 7835</td><td> 0.0</td><td> 0</td><td> 0</td><td> 0.0</td><td> 0</td><td> 33448</td><td>Kommunal- og moderniseringsdepartementet
</td></tr>
1673 <tr><td>12.1</td><td> 588</td><td> 4860</td><td>12.2</td><td> 522</td><td> 4294</td><td> 0.0</td><td> 0</td><td> 14173</td><td>Politidirektoratet
</td></tr>
1674 <tr><td>12.1</td><td>1444</td><td> 11893</td><td>46.0</td><td>5212</td><td> 11331</td><td> 0.0</td><td> 0</td><td> 51438</td><td>Helsedirektoratet
</td></tr>
1675 <tr><td>12.6</td><td> 220</td><td> 1745</td><td>17.5</td><td> 112</td><td> 640</td><td> 0.1</td><td> 3</td><td> 4184</td><td>Språkrådet
</td></tr>
1676 <tr><td>12.7</td><td> 211</td><td> 1664</td><td> 9.7</td><td> 226</td><td> 2318</td><td> 0.0</td><td> 0</td><td> 9151</td><td>Direktoratet for utviklingssamarbeid
</td></tr>
1677 <tr><td>13.9</td><td> 321</td><td> 2309</td><td>15.1</td><td> 329</td><td> 2185</td><td> 0.0</td><td> 0</td><td> 6307</td><td>Olje- og energidepartementet
</td></tr>
1678 <tr><td>14.3</td><td> 429</td><td> 2996</td><td>12.5</td><td> 303</td><td> 2432</td><td> 0.0</td><td> 0</td><td> 7560</td><td>Nasjonalt folkehelseinstitutt
</td></tr>
1679 <tr><td>14.4</td><td>1408</td><td> 9785</td><td> 0.0</td><td> 0</td><td> 0</td><td> 0.0</td><td> 0</td><td> 38923</td><td>Nærings- og fiskeridepartementet
</td></tr>
1680 <tr><td>14.7</td><td> 143</td><td> 973</td><td> 7.7</td><td> 83</td><td> 1084</td><td> 0.0</td><td> 0</td><td> 4130</td><td>Utlendingsnemnda
</td></tr>
1681 <tr><td>15.8</td><td> 173</td><td> 1097</td><td>38.8</td><td> 621</td><td> 1602</td><td> 0.0</td><td> 0</td><td> 7557</td><td>Direktoratet for forvaltning og IKT
</td></tr>
1682 <tr><td>16.7</td><td>1345</td><td> 8069</td><td> 8.6</td><td> 703</td><td> 8219</td><td> 0.0</td><td> 0</td><td> 20834</td><td>Norges vassdrags- og energidirektorat
</td></tr>
1683 <tr><td>17.5</td><td> 61</td><td> 348</td><td>17.2</td><td> 67</td><td> 389</td><td> 0.0</td><td> 0</td><td> 7732</td><td>Senter for internasjonalisering av utdanning
</td></tr>
1684 <tr><td>18.9</td><td>3737</td><td> 19734</td><td> 4.4</td><td> 606</td><td> 13752</td><td> 0.0</td><td> 0</td><td> 49938</td><td>Direktoratet for samfunnssikkerhet og beredskap
</td></tr>
1685 <tr><td>19.1</td><td>1392</td><td> 7269</td><td>19.1</td><td>1263</td><td> 6601</td><td> 0.0</td><td> 0</td><td> 19869</td><td>Fylkesmannen i Troms
</td></tr>
1686 <tr><td>20.4</td><td> 768</td><td> 3758</td><td>15.7</td><td> 471</td><td> 3008</td><td> 0.1</td><td> 9</td><td> 11280</td><td>Integrerings- og mangfoldsdirektoratet
</td></tr>
1687 <tr><td>21.0</td><td> 995</td><td> 4737</td><td>17.8</td><td> 978</td><td> 5508</td><td> 0.0</td><td> 0</td><td> 11260</td><td>Fylkesmannen i Sogn og Fjordane
</td></tr>
1688 <tr><td>21.6</td><td> 16</td><td> 74</td><td>97.3</td><td>2626</td><td> 2698</td><td> 0.0</td><td> 0</td><td> 155</td><td>Statens reindriftsforvaltning
</td></tr>
1689 <tr><td>22.1</td><td> 96</td><td> 435</td><td>17.6</td><td> 81</td><td> 459</td><td> 0.2</td><td> 3</td><td> 1943</td><td>Norges geologiske undersøkelse
</td></tr>
1690 <tr><td>22.3</td><td> 27</td><td> 121</td><td>10.6</td><td> 15</td><td> 141</td><td> 0.1</td><td> 1</td><td> 779</td><td>Kunst i offentlige rom
</td></tr>
1691 <tr><td>22.4</td><td>1939</td><td> 8659</td><td>21.8</td><td>1992</td><td> 9120</td><td> 0.0</td><td> 1</td><td> 17738</td><td>Fylkesmannen i Nordland
</td></tr>
1692 <tr><td>22.5</td><td> 52</td><td> 231</td><td>14.7</td><td> 32</td><td> 217</td><td> 0.0</td><td> 0</td><td> 896</td><td>Fredskorpset
</td></tr>
1693 <tr><td>22.5</td><td>2017</td><td> 8957</td><td>95.5</td><td>40498</td><td> 42425</td><td> 0.0</td><td> 0</td><td> 14223</td><td>Statens landbruksforvaltning
</td></tr>
1694 <tr><td>22.9</td><td> 116</td><td> 507</td><td>15.2</td><td> 81</td><td> 532</td><td> 0.0</td><td> 0</td><td> 2069</td><td>Nasjonalbiblioteket
</td></tr>
1695 <tr><td>25.5</td><td> 211</td><td> 829</td><td>20.8</td><td> 205</td><td> 987</td><td> 0.0</td><td> 0</td><td> 3867</td><td>Direktoratet for økonomistyring
</td></tr>
1696 <tr><td>26.1</td><td> 6</td><td> 23</td><td> 9.7</td><td> 3</td><td> 31</td><td> 0.0</td><td> 0</td><td> 106</td><td>Kompetansesenter for distriktsutvikling
</td></tr>
1697 <tr><td>26.6</td><td> 187</td><td> 702</td><td>28.5</td><td> 248</td><td> 871</td><td> 0.0</td><td> 1</td><td> 3154</td><td>Nasjonalt organ for kvalitet i utdanningen
</td></tr>
1698 <tr><td>27.1</td><td> 90</td><td> 332</td><td>13.2</td><td> 41</td><td> 311</td><td> 0.0</td><td> 0</td><td> 2400</td><td>Norsk Akkreditering
</td></tr>
1699 <tr><td>28.3</td><td> 562</td><td> 1986</td><td>20.0</td><td> 518</td><td> 2586</td><td> 0.0</td><td> 0</td><td> 6267</td><td>Statens lånekasse for utdanning
</td></tr>
1700 <tr><td>28.8</td><td> 443</td><td> 1538</td><td>41.0</td><td> 688</td><td> 1679</td><td> 0.0</td><td> 0</td><td> 5556</td><td>Havforskningsinstituttet
</td></tr>
1701 <tr><td>29.8</td><td>1473</td><td> 4944</td><td>24.8</td><td>1047</td><td> 4230</td><td> 0.0</td><td> 0</td><td> 9850</td><td>Utlendingsdirektoratet
</td></tr>
1702 <tr><td>29.8</td><td>1563</td><td> 5249</td><td>31.0</td><td>1421</td><td> 4588</td><td> 0.0</td><td> 0</td><td> 15660</td><td>Fylkesmannen i Finnmark
</td></tr>
1703 <tr><td>30.8</td><td> 314</td><td> 1021</td><td>58.4</td><td> 941</td><td> 1610</td><td> 0.3</td><td> 13</td><td> 3979</td><td>Direktoratet for nødkommunikasjon
</td></tr>
1704 <tr><td>31.4</td><td> 463</td><td> 1475</td><td>37.0</td><td> 280</td><td> 757</td><td> 0.1</td><td> 7</td><td> 4797</td><td>Domstoladministrasjonen
</td></tr>
1705 <tr><td>31.8</td><td>4708</td><td> 14785</td><td>25.2</td><td>2236</td><td> 8879</td><td> 0.0</td><td> 2</td><td> 39313</td><td>Utenriksdepartementet
</td></tr>
1706 <tr><td>36.1</td><td> 526</td><td> 1456</td><td>76.6</td><td>1364</td><td> 1781</td><td> 0.0</td><td> 0</td><td> 4472</td><td>Departementenes sikkerhets- og serviceorganisasjon
</td></tr>
1707 <tr><td>36.7</td><td> 447</td><td> 1217</td><td>63.8</td><td>1503</td><td> 2355</td><td> 1.8</td><td> 92</td><td> 5121</td><td>Garantiinstituttet for eksportkreditt
</td></tr>
1708 <tr><td>38.2</td><td>3341</td><td> 8744</td><td>34.7</td><td>3096</td><td> 8927</td><td> 0.0</td><td> 3</td><td> 15180</td><td>Fylkesmannen i Oppland
</td></tr>
1709 <tr><td>39.3</td><td>6267</td><td> 15947</td><td>37.7</td><td>6262</td><td> 16606</td><td> 0.1</td><td> 15</td><td> 29707</td><td>Fylkesmannen i Hordaland
</td></tr>
1710 <tr><td>39.6</td><td>2122</td><td> 5365</td><td>41.3</td><td>2242</td><td> 5428</td><td> 0.0</td><td> 0</td><td> 12680</td><td>Fylkesmannen i Telemark
</td></tr>
1711 <tr><td>40.8</td><td>3137</td><td> 7698</td><td>37.0</td><td>3059</td><td> 8272</td><td> 0.0</td><td> 5</td><td> 13848</td><td>Fylkesmannen i Nord-Trøndelag
</td></tr>
1712 <tr><td>42.1</td><td>1528</td><td> 3627</td><td>19.2</td><td> 529</td><td> 2750</td><td> 0.0</td><td> 1</td><td> 13524</td><td>Statsbygg
</td></tr>
1713 <tr><td>42.4</td><td>2844</td><td> 6700</td><td>42.4</td><td>2913</td><td> 6863</td><td> 0.0</td><td> 0</td><td> 12090</td><td>Fylkesmannen i Vest-Agder
</td></tr>
1714 <tr><td>42.9</td><td> 6</td><td> 14</td><td>88.9</td><td>2398</td><td> 2698</td><td> 0.0</td><td> 0</td><td> 23</td><td>Reindriftsforvaltningen
</td></tr>
1715 <tr><td>43.3</td><td>3310</td><td> 7645</td><td>42.6</td><td>3369</td><td> 7908</td><td> 0.0</td><td> 0</td><td> 15739</td><td>Fylkesmannen i Vestfold
</td></tr>
1716 <tr><td>43.4</td><td>3433</td><td> 7905</td><td>40.8</td><td>3508</td><td> 8594</td><td> 0.0</td><td> 0</td><td> 12921</td><td>Fylkesmannen i Møre og Romsdal
</td></tr>
1717 <tr><td>43.4</td><td>5540</td><td> 12773</td><td>40.1</td><td>5429</td><td> 13534</td><td> 0.0</td><td> 0</td><td> 22389</td><td>Fylkesmannen i Rogaland
</td></tr>
1718 <tr><td>43.6</td><td>2334</td><td> 5350</td><td>39.5</td><td>2314</td><td> 5861</td><td> 0.0</td><td> 0</td><td> 9997</td><td>Fylkesmannen i Aust-Agder
</td></tr>
1719 <tr><td>43.7</td><td>2656</td><td> 6079</td><td>23.1</td><td> 890</td><td> 3853</td><td> 0.1</td><td> 21</td><td> 18064</td><td>Forsvarsbygg
</td></tr>
1720 <tr><td>48.9</td><td>4276</td><td> 8747</td><td>48.0</td><td>4189</td><td> 8734</td><td> 0.0</td><td> 0</td><td> 16281</td><td>Fylkesmannen i Buskerud
</td></tr>
1721 <tr><td>50.9</td><td>5106</td><td> 10024</td><td>45.7</td><td>4584</td><td> 10022</td><td> 0.0</td><td> 0</td><td> 15340</td><td>Fylkesmannen i Sør-Trøndelag
</td></tr>
1722 <tr><td>51.4</td><td>4477</td><td> 8703</td><td>45.8</td><td>4240</td><td> 9253</td><td> 0.0</td><td> 5</td><td> 12067</td><td>Fylkesmannen i Hedmark
</td></tr>
1723 <tr><td>51.5</td><td> 210</td><td> 408</td><td>36.8</td><td> 656</td><td> 1785</td><td> 0.0</td><td> 0</td><td> 658</td><td>Departementenes servicesenter
</td></tr>
1724 <tr><td>52.7</td><td>4663</td><td> 8852</td><td>46.6</td><td>4110</td><td> 8824</td><td> 0.0</td><td> 0</td><td> 13869</td><td>Fylkesmannen i Østfold
</td></tr>
1725 <tr><td>59.7</td><td>14852</td><td> 24867</td><td>56.6</td><td>14366</td><td> 25404</td><td> 0.0</td><td> 0</td><td> 38706</td><td>Fylkesmannen i Oslo og Akershus
</td></tr>
1726 <tr><td>61.1</td><td>44900</td><td> 73495</td><td>95.1</td><td>40365</td><td> 42462</td><td> 0.0</td><td> 11</td><td> 63747</td><td>Landbruksdirektoratet Oslo
</td></tr>
1727 <tr><td>63.8</td><td>68121</td><td>106802</td><td>18.5</td><td>7592</td><td> 41093</td><td> 0.0</td><td> 0</td><td>144950</td><td>Arbeidstilsynet
</td></tr>
1728 <tr><td>69.8</td><td>110225</td><td>157962</td><td>70.8</td><td>105811</td><td>149449</td><td> 0.0</td><td> 14</td><td>106772</td><td>Statens vegvesen Region øst
</td></tr>
1729 <tr><td>72.2</td><td>16772</td><td> 23215</td><td>95.2</td><td>16409</td><td> 17238</td><td> 0.0</td><td> 0</td><td> 16705</td><td>Norsk kulturråd
</td></tr>
1730 <tr><td>78.6</td><td>124131</td><td>157956</td><td>77.6</td><td>115949</td><td>149462</td><td> 0.0</td><td> 0</td><td> 77689</td><td>Statens vegvesen Region sør
</td></tr>
1731 <tr><td>80.7</td><td>55587</td><td> 68896</td><td>71.9</td><td>36121</td><td> 50269</td><td> 0.0</td><td> 0</td><td> 42152</td><td>Sjøfartsdirektoratet
</td></tr>
1732 <tr><td>81.0</td><td>128006</td><td>157956</td><td>80.1</td><td>119743</td><td>149456</td><td> 0.0</td><td> 8</td><td> 74195</td><td>Statens vegvesen Region vest
</td></tr>
1733 <tr><td>87.2</td><td>137798</td><td>157962</td><td>87.6</td><td>130971</td><td>149449</td><td> 0.0</td><td> 9</td><td> 50814</td><td>Statens vegvesen Region midt
</td></tr>
1734 <tr><td>88.0</td><td>12239</td><td> 13902</td><td>86.1</td><td>19158</td><td> 22244</td><td> 0.0</td><td> 0</td><td> 5492</td><td>Barne-, ungdoms- og familiedirektoratet
</td></tr>
1735 <tr><td>90.8</td><td>143453</td><td>157956</td><td>90.6</td><td>135441</td><td>149453</td><td> 0.0</td><td> 0</td><td> 39961</td><td>Statens vegvesen Region nord
</td></tr>
1736 <tr><td>93.8</td><td>5865</td><td> 6250</td><td>99.3</td><td>7093</td><td> 7140</td><td> 0.0</td><td> 0</td><td> 984</td><td>Nasjonal kommunikasjonsmyndighet
</td></tr>
1737 <tr><td>95.3</td><td>4655</td><td> 4883</td><td>94.3</td><td>3819</td><td> 4049</td><td> 0.1</td><td> 1</td><td> 967</td><td>Landinfo
</td></tr>
1738 <tr><td>96.2</td><td>151935</td><td>157870</td><td>96.0</td><td>143497</td><td>149452</td><td> 0.0</td><td> 0</td><td> 19555</td><td>Statens vegvesen Vegdirektoratet
</td></tr>
1739 <tr><td>97.5</td><td>100799</td><td>103373</td><td>96.9</td><td>119802</td><td>123636</td><td> 0.0</td><td> 0</td><td> 7605</td><td>Toll- og avgiftsdirektoratet
</td></tr>
1740 <tr><td>97.7</td><td>24104</td><td> 24666</td><td>98.2</td><td>23640</td><td> 24062</td><td> 0.2</td><td> 5</td><td> 2108</td><td>Kriminalomsorgsdirektoratet
</td></tr>
1741 <tr><td>98.3</td><td>60845</td><td> 61922</td><td>98.3</td><td>58575</td><td> 59605</td><td> 0.0</td><td> 0</td><td> 2837</td><td>Statens pensjonskasse
</td></tr>
1742 <tr><td>99.5</td><td>990661</td><td>995873</td><td>99.4</td><td>953094</td><td>958529</td><td> 0.0</td><td> 0</td><td> 18246</td><td>Skattedirektoratet
</td></tr>
1746 <p>Det kunne vært interessant å se hva som skjedde hvis en ba om
1747 innsyn i en dokument-ID som ikke finnes i OEP... :) Det hadde også
1748 vært interessant å få vite hva årsaken til at noen saksnummer ikke
1749 dukker opp i OEP der det er få og mange. Jeg mistenker jo at årsaken
1750 ikke er den samme hos Skattedirektoratet og hos Landinfo, selv om
1751 andelen upubliserte nummer er ganske lik.
</p>
1757 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>.
1762 <div class=
"padding"></div>
1766 <a href=
"http://people.skolelinux.org/pere/blog/Hvordan_b_r_RFC_822_formattert_epost_lagres_i_en_NOARK5_database_.html">Hvordan bør RFC
822-formattert epost lagres i en NOARK5-database?
</a>
1772 <p>For noen uker siden ble NXCs fri programvarelisenserte
1774 <a href=
"http://www.nuug.no/aktiviteter/20140211-noark/">presentert hos
1776 <a href=
"https://www.youtube.com/watch?v=JCb_dNS3MHQ">på youtube
1777 foreløbig
</a>), og det fikk meg til å titte litt mer på NOARK5,
1778 standarden for arkivhåndtering i det offentlige Norge. Jeg lurer på
1779 om denne kjernen kan være nyttig i et par av mine prosjekter, og for ett
1780 av dem er det mest aktuelt å lagre epost. Jeg klarte ikke finne noen
1781 anbefaling om hvordan RFC
822-formattert epost (aka Internett-epost)
1782 burde lagres i NOARK5, selv om jeg vet at noen arkiver tar
1783 PDF-utskrift av eposten med sitt epostprogram og så arkiverer PDF-en
1784 (eller enda værre, tar papirutskrift og lagrer bildet av eposten som
1787 <p>Det er ikke så mange formater som er akseptert av riksarkivet til
1788 langtidsoppbevaring av offentlige arkiver, og PDF og XML er de mest
1789 aktuelle i så måte. Det slo meg at det måtte da finnes en eller annen
1790 egnet XML-representasjon og at det kanskje var enighet om hvilken som
1791 burde brukes, så jeg tok mot til meg og spurte
1792 <a href=
"http://samdok.com/">SAMDOK
</a>, en gruppe tilknyttet
1793 arkivverket som ser ut til å jobbe med NOARK-samhandling, om de hadde
1799 <p>Usikker på om dette er riktig forum å ta opp mitt spørsmål, men jeg
1800 lurer på om det er definert en anbefaling om hvordan RFC
1801 822-formatterte epost (aka vanlig Internet-epost) bør lages håndteres
1802 i NOARK5, slik at en bevarer all informasjon i eposten
1803 (f.eks. Received-linjer). Finnes det en anbefalt XML-mapping ala den
1805 <URL:
<a href=
"https://www.informit.com/articles/article.aspx?p=32074">https://www.informit.com/articles/article.aspx?p=
32074</a> >? Mitt
1806 mål er at det skal være mulig å lagre eposten i en NOARK5-kjerne og
1807 kunne få ut en identisk formattert kopi av opprinnelig epost ved
1811 <p>Postmottaker hos SAMDOK mente spørsmålet heller burde stilles
1812 direkte til riksarkivet, og jeg fikk i dag svar derfra formulert av
1813 seniorrådgiver Geir Ivar Tungesvik:
</p>
1816 <p>Riksarkivet har ingen anbefalinger når det gjelder konvertering fra
1817 e-post til XML. Det står arkivskaper fritt å eventuelt definere/bruke
1818 eget format. Inklusive da - som det spørres om - et format der det er
1819 mulig å re-etablere e-post format ut fra XML-en. XML (e-post)
1820 dokumenter må være referert i arkivstrukturen, og det må vedlegges et
1821 gyldig XML skjema (.xsd) for XML-filene. Arkivskaper står altså fritt
1822 til å gjøre hva de vil, bare det dokumenteres og det kan dannes et
1823 utrekk ved avlevering til depot.
</p>
1825 <p>De obligatoriske kravene i Noark
5 standarden må altså oppfylles -
1826 etter dialog med Riksarkivet i forbindelse med godkjenning. For
1827 offentlige arkiv er det særlig viktig med filene loependeJournal.xml
1828 og offentligJournal.xml. Private arkiv som vil forholde seg til Noark
1829 5 standarden er selvsagt frie til å bruke det som er relevant for dem
1830 av obligatoriske krav.
</p>
1833 <p>Det ser dermed ut for meg som om det er et lite behov for å
1834 standardisere XML-lagring av RFC-
822-formatterte meldinger. Noen som
1835 vet om god spesifikasjon i så måte? I tillegg til den omtalt over,
1836 har jeg kommet over flere aktuelle beskrivelser (søk på "rfc
822
1837 xml", så finner du aktuelle alternativer).
</p>
1841 <li><a href=
"http://www.openhealth.org/xmtp/">XML MIME Transformation
1842 protocol (XMTP)
</a> fra OpenHealth, sist oppdatert
2001.
</li>
1844 <li><a href=
"https://tools.ietf.org/html/draft-klyne-message-rfc822-xml-03">An
1845 XML format for mail and other messages
</a> utkast fra IETF datert
1848 <li><a href=
"http://www.informit.com/articles/article.aspx?p=32074">xMail:
1849 E-mail as XML
</a> en artikkel fra
2003 som beskriver python-modulen
1850 rfc822 som gir ut XML-representasjon av en RFC
822-formattert epost.
</li>
1854 <p>Finnes det andre og bedre spesifikasjoner for slik lagring? Send
1855 meg en epost hvis du har innspill.
</p>
1861 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>.
1866 <div class=
"padding"></div>
1868 <p style=
"text-align: right;"><a href=
"noark5.rss"><img src=
"http://people.skolelinux.org/pere/blog/xml.gif" alt=
"RSS Feed" width=
"36" height=
"14" /></a></p>
1879 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/01/">January (
4)
</a></li>
1881 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/02/">February (
3)
</a></li>
1883 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/03/">March (
3)
</a></li>
1885 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/05/">May (
2)
</a></li>
1887 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/06/">June (
5)
</a></li>
1889 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/07/">July (
2)
</a></li>
1891 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/08/">August (
1)
</a></li>
1893 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/09/">September (
1)
</a></li>
1895 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/11/">November (
1)
</a></li>
1897 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/12/">December (
2)
</a></li>
1904 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/01/">January (
1)
</a></li>
1906 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/02/">February (
5)
</a></li>
1908 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/03/">March (
5)
</a></li>
1910 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/04/">April (
3)
</a></li>
1912 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/06/">June (
2)
</a></li>
1914 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/07/">July (
5)
</a></li>
1916 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/08/">August (
3)
</a></li>
1918 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/09/">September (
3)
</a></li>
1920 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/10/">October (
5)
</a></li>
1922 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/11/">November (
2)
</a></li>
1924 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/12/">December (
4)
</a></li>
1931 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/01/">January (
4)
</a></li>
1933 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/02/">February (
3)
</a></li>
1935 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/03/">March (
5)
</a></li>
1937 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/04/">April (
2)
</a></li>
1939 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/06/">June (
5)
</a></li>
1941 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/07/">July (
1)
</a></li>
1943 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/08/">August (
1)
</a></li>
1945 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/09/">September (
3)
</a></li>
1947 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/10/">October (
5)
</a></li>
1949 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/11/">November (
3)
</a></li>
1951 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/12/">December (
4)
</a></li>
1958 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/01/">January (
3)
</a></li>
1960 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/02/">February (
2)
</a></li>
1962 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/03/">March (
3)
</a></li>
1964 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/04/">April (
8)
</a></li>
1966 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/05/">May (
8)
</a></li>
1968 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/06/">June (
2)
</a></li>
1970 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/07/">July (
2)
</a></li>
1972 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/08/">August (
5)
</a></li>
1974 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/09/">September (
2)
</a></li>
1976 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/10/">October (
3)
</a></li>
1978 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/11/">November (
8)
</a></li>
1980 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/12/">December (
5)
</a></li>
1987 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/01/">January (
7)
</a></li>
1989 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/02/">February (
6)
</a></li>
1991 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/03/">March (
1)
</a></li>
1993 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/04/">April (
4)
</a></li>
1995 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/05/">May (
3)
</a></li>
1997 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/06/">June (
4)
</a></li>
1999 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/07/">July (
6)
</a></li>
2001 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/08/">August (
2)
</a></li>
2003 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/09/">September (
2)
</a></li>
2005 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/10/">October (
9)
</a></li>
2007 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/11/">November (
6)
</a></li>
2009 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/12/">December (
3)
</a></li>
2016 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/01/">January (
2)
</a></li>
2018 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/02/">February (
3)
</a></li>
2020 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/03/">March (
8)
</a></li>
2022 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/04/">April (
7)
</a></li>
2024 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/05/">May (
1)
</a></li>
2026 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/06/">June (
2)
</a></li>
2028 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/07/">July (
2)
</a></li>
2030 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/08/">August (
2)
</a></li>
2032 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/09/">September (
5)
</a></li>
2034 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/10/">October (
6)
</a></li>
2036 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/11/">November (
3)
</a></li>
2038 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/12/">December (
5)
</a></li>
2045 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li>
2047 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/02/">February (
9)
</a></li>
2049 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/03/">March (
9)
</a></li>
2051 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/04/">April (
6)
</a></li>
2053 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/05/">May (
9)
</a></li>
2055 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/06/">June (
10)
</a></li>
2057 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/07/">July (
7)
</a></li>
2059 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/08/">August (
3)
</a></li>
2061 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/09/">September (
5)
</a></li>
2063 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/10/">October (
7)
</a></li>
2065 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/11/">November (
9)
</a></li>
2067 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/12/">December (
3)
</a></li>
2074 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
2076 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
2078 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
2080 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
2082 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
2084 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li>
2086 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li>
2088 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li>
2090 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li>
2092 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li>
2094 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li>
2096 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li>
2103 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
2105 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
2107 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
2109 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
2111 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
2113 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
2115 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
2117 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
2119 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
2121 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
2123 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
2125 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
2132 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
2134 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
2136 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
2138 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
2140 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
2142 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
2144 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
2146 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
2148 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
2150 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
2152 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
2154 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
2161 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
2163 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
2165 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
2167 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
2169 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
2171 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
2173 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
2175 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
2177 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
2179 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
2181 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
2183 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
2190 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
2192 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
2203 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
16)
</a></li>
2205 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
2207 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
2209 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li>
2211 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (
8)
</a></li>
2213 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
11)
</a></li>
2215 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
17)
</a></li>
2217 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
2219 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (
2)
</a></li>
2221 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian (
168)
</a></li>
2223 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
158)
</a></li>
2225 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (
4)
</a></li>
2227 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan (
11)
</a></li>
2229 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/dld">dld (
17)
</a></li>
2231 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/docbook">docbook (
26)
</a></li>
2233 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
2235 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/english">english (
411)
</a></li>
2237 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
23)
</a></li>
2239 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
14)
</a></li>
2241 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
34)
</a></li>
2243 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (
9)
</a></li>
2245 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
20)
</a></li>
2247 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/h264">h264 (
20)
</a></li>
2249 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/intervju">intervju (
42)
</a></li>
2251 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
16)
</a></li>
2253 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart (
22)
</a></li>
2255 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kodi">kodi (
4)
</a></li>
2257 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ldap">ldap (
9)
</a></li>
2259 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lego">lego (
4)
</a></li>
2261 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lenker">lenker (
8)
</a></li>
2263 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (
2)
</a></li>
2265 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
2267 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (
8)
</a></li>
2269 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
42)
</a></li>
2271 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (
12)
</a></li>
2273 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5 (
18)
</a></li>
2275 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk (
308)
</a></li>
2277 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug (
196)
</a></li>
2279 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
37)
</a></li>
2281 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
2283 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
75)
</a></li>
2285 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern (
111)
</a></li>
2287 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/raid">raid (
2)
</a></li>
2289 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reactos">reactos (
1)
</a></li>
2291 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
2293 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rfid">rfid (
3)
</a></li>
2295 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot (
12)
</a></li>
2297 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
2299 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ruter">ruter (
7)
</a></li>
2301 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
2303 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
56)
</a></li>
2305 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
2307 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
5)
</a></li>
2309 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard (
67)
</a></li>
2311 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
6)
</a></li>
2313 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
12)
</a></li>
2315 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
57)
</a></li>
2317 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
4)
</a></li>
2319 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/usenix">usenix (
2)
</a></li>
2321 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/valg">valg (
9)
</a></li>
2323 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (
17)
</a></li>
2325 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/video">video (
73)
</a></li>
2327 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
2329 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/web">web (
42)
</a></li>
2335 <p style=
"text-align: right">
2336 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>