]> pere.pagekite.me Git - homepage.git/blob - blog/tags/noark5/index.html
eeac939b411f62bdd7bc598bdba20c010d40a29f
[homepage.git] / blog / tags / noark5 / index.html
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">
4 <head>
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" />
10 </head>
11 <body>
12 <div class="title">
13 <h1>
14 <a href="http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
15
16 </h1>
17
18 </div>
19
20
21 <h3>Entries tagged "noark5".</h3>
22
23 <div class="entry">
24 <div class="title">
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>
26 </div>
27 <div class="date">
28 9th December 2019
29 </div>
30 <div class="body">
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>
39
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
42 til min adresse
43 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.
44 Merk, betaling med bitcoin er ikke anonymt. :)</p>
45
46 </div>
47 <div class="tags">
48
49
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>.
51
52
53 </div>
54 </div>
55 <div class="padding"></div>
56
57 <div class="entry">
58 <div class="title">
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>
60 </div>
61 <div class="date">
62 5th July 2019
63 </div>
64 <div class="body">
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
72 fryktet.</p>
73
74 <p>Spesifikasjonen er
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>
83
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>
88
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
91 til min adresse
92 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.
93 Merk, betaling med bitcoin er ikke anonymt. :)</p>
94
95 </div>
96 <div class="tags">
97
98
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>.
100
101
102 </div>
103 </div>
104 <div class="padding"></div>
105
106 <div class="entry">
107 <div class="title">
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>
109 </div>
110 <div class="date">
111 21st June 2019
112 </div>
113 <div class="body">
114 <p><em>av Thomas Sødring (OsloMet) og Petter Reinholdtsen (foreningen
115 NUUG)</em></p>
116
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
128 behov.</p>
129
130 <p>Historisk sett gjorde Noark standarden en veldig bra jobb med
131 overgangen fra
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>
143
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
178 kostbart.</p>
179
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
190 arkivkjerne:</p>
191
192 <p><blockquote>
193 .../sakarkiv/journalpost?filter=contains(tittel, 'nabovarsel')
194 </blockquote></p>
195
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
212 forvaltning.</p>
213
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>
231
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
244 uavhengig sjekk.</p>
245
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>
254
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>
276
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
292 besøke
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>
296
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>
310
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
315 nettleser på
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å
322 github,
323 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/</a>.</p>
324
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
327 til min adresse
328 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
329
330 </div>
331 <div class="tags">
332
333
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>.
335
336
337 </div>
338 </div>
339 <div class="padding"></div>
340
341 <div class="entry">
342 <div class="title">
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>
344 </div>
345 <div class="date">
346 4th June 2019
347 </div>
348 <div class="body">
349 <p>Just 15 days ago,
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
353 notified that
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>
364
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>
368
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>
372
373 </div>
374 <div class="tags">
375
376
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>.
378
379
380 </div>
381 </div>
382 <div class="padding"></div>
383
384 <div class="entry">
385 <div class="title">
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>
387 </div>
388 <div class="date">
389 22nd May 2019
390 </div>
391 <div class="body">
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>
400
401 <ul>
402
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
407 the codebase</li>
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
418 application.</li>
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>
439
440 </ul>
441
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>
448
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>
452
453 </div>
454 <div class="tags">
455
456
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>.
458
459
460 </div>
461 </div>
462 <div class="padding"></div>
463
464 <div class="entry">
465 <div class="title">
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>
467 </div>
468 <div class="date">
469 20th May 2019
470 </div>
471 <div class="body">
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
481 and PRONOM code.</p>
482
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>
497
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>
514
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>
518
519 </div>
520 <div class="tags">
521
522
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>.
524
525
526 </div>
527 </div>
528 <div class="padding"></div>
529
530 <div class="entry">
531 <div class="title">
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>
533 </div>
534 <div class="date">
535 25th March 2019
536 </div>
537 <div class="body">
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
546 to the text.</p>
547
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>
560
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
564 came across a nice
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
576 and there.</p>
577
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
585 publised PDF.</p>
586
587 <p>Here is an example UML diagram, showing the core classes for
588 keeping metadata about archived documents:</p>
589
590 <pre>
591 @startuml
592 skinparam classAttributeIconSize 0
593
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
607
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
627 @enduml
628 </pre>
629
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>
637
638 <pre>
639 @startuml
640 class Arkivstruktur.Arkivskaper <Arkivenhet> {
641 +arkivskaperID : string
642 +arkivskaperNavn : string
643 +beskrivelse : string [0..1]
644 }
645 @enduml
646 </pre>
647
648 <p>This is what the complete diagram for the PlantUML notation above
649 look like:</p>
650
651 <p><img width="80%" src="http://people.skolelinux.org/pere/blog/images/2019-03-25-noark5-plantuml-diagrameksempel.png"></p>
652
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
659 attributes.</p>
660
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>
669
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>
676
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>
680
681 </div>
682 <div class="tags">
683
684
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>.
686
687
688 </div>
689 </div>
690 <div class="padding"></div>
691
692 <div class="entry">
693 <div class="title">
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>
695 </div>
696 <div class="date">
697 24th March 2019
698 </div>
699 <div class="body">
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>
708
709 <ul>
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
721 hateoas links.</li>
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
727 and ods.</li>
728 <li>Continued code style fixing, making code more readable.</li>
729 <li>Minor bug fixes.</li>
730
731 </ul>
732
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>
739
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>
743
744 </div>
745 <div class="tags">
746
747
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>.
749
750
751 </div>
752 </div>
753 <div class="padding"></div>
754
755 <div class="entry">
756 <div class="title">
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>
758 </div>
759 <div class="date">
760 11th March 2019
761 </div>
762 <div class="body">
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>
770
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>
784
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>
796
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>
805
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 &quot;diskusjonsforum&quot; 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
813 henvendelsene.</p>
814
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>
825
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
833 spesifikasjonen.</p>
834
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
841 å
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å
844 PDF-utgaven.</p>
845
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>
850
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 &quot;sjekkes inn&quot; 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 &quot;Commit
859 changes&quot;. 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 &quot;Pull Request&quot;/PR). Når alt dette
864 er gjort kan en velge &quot;Commit changes&quot; for å sende inn
865 endringen. Hvis den er lagt inn i &quot;master&quot;-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
870 godkjenning.</p>
871
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 &quot;klones&quot; er
877 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/</a>.</p>
878
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>
886
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
893 MacOSX.</p>
894
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>
902
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
908 innom
909 <a href="https://webchat.freenode.net/?channels=nikita">#nikita</a>
910 (f.eks. via irc.freenode.net) for å møte likesinnede.</p>
911
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>
928
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
932 enda bedre?</p>
933
934 </div>
935 <div class="tags">
936
937
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>.
939
940
941 </div>
942 </div>
943 <div class="padding"></div>
944
945 <div class="entry">
946 <div class="title">
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>
948 </div>
949 <div class="date">
950 1st November 2018
951 </div>
952 <div class="body">
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
969 everywhere.</p>
970
971 <p>To try to get one official MIME type for these files, I've brought
972 up the topic on
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>
978
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>
982
983 </div>
984 <div class="tags">
985
986
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>.
988
989
990 </div>
991 </div>
992 <div class="padding"></div>
993
994 <div class="entry">
995 <div class="title">
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>
997 </div>
998 <div class="date">
999 18th October 2018
1000 </div>
1001 <div class="body">
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):
1010
1011 <ul>
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:
1047 <ul>
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>
1052 </ul></li>
1053 </ul>
1054
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>
1058
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>
1065
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>
1069
1070 </div>
1071 <div class="tags">
1072
1073
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>.
1075
1076
1077 </div>
1078 </div>
1079 <div class="padding"></div>
1080
1081 <div class="entry">
1082 <div class="title">
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>
1084 </div>
1085 <div class="date">
1086 8th October 2018
1087 </div>
1088 <div class="body">
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>
1093 and
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>
1108
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>
1114
1115 <pre>
1116 #!/usr/bin/python3
1117
1118 """
1119
1120 Python 3 script demonstrating how to use the rfc3161ng module to
1121 get trusted timestamps.
1122
1123 The license of this code is the same as the license of the rfc3161ng
1124 library, ie MIT/BSD.
1125
1126 """
1127
1128 import os
1129 import pyasn1.codec.der
1130 import rfc3161ng
1131 import subprocess
1132 import tempfile
1133 import urllib.request
1134
1135 def store(f, data):
1136 f.write(data)
1137 f.flush()
1138 f.seek(0)
1139
1140 def fetch(url, f=None):
1141 response = urllib.request.urlopen(url)
1142 data = response.read()
1143 if f:
1144 store(f, data)
1145 return data
1146
1147 def main():
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:
1152
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)
1156
1157 # Then timestamp the message
1158 timestamper = \
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)
1163
1164 # Finally, convert message and response to something 'openssl ts' can verify
1165 store(msg_f, data)
1166 store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
1167 args = ["openssl", "ts", "-verify",
1168 "-data", msg_f.name,
1169 "-in", tsr_f.name,
1170 "-CAfile", ca_f.name,
1171 "-untrusted", cert_f.name]
1172 subprocess.check_call(args)
1173
1174 if '__main__' == __name__:
1175 main()
1176 </pre>
1177
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
1182 use.</p>
1183
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>
1187
1188 </div>
1189 <div class="tags">
1190
1191
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>.
1193
1194
1195 </div>
1196 </div>
1197 <div class="padding"></div>
1198
1199 <div class="entry">
1200 <div class="title">
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>
1202 </div>
1203 <div class="date">
1204 10th June 2017
1205 </div>
1206 <div class="body">
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):
1213
1214 <ul>
1215
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
1220 regualr basis.</li>
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)
1239 style.</li>
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>
1245 <li>...</li>
1246
1247 </ul>
1248
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
1252 mailing list).</p>
1253
1254 </div>
1255 <div class="tags">
1256
1257
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>.
1259
1260
1261 </div>
1262 </div>
1263 <div class="padding"></div>
1264
1265 <div class="entry">
1266 <div class="title">
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>
1268 </div>
1269 <div class="date">
1270 7th June 2017
1271 </div>
1272 <div class="body">
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>
1280
1281 <p>I've been wondering a bit lately how trusted timestamps could be
1282 stored in Noark 5.
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>
1288
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
1292 stamping?</p>
1293
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
1297 attributes:</p>
1298
1299 <ul>
1300
1301 <li>format -> "RFC3161"
1302 <li>mimeType -> "application/timestamp-reply"
1303 <li>formatDetaljer -> "&lt;source URL for timestamp service&gt;"
1304 <li>filenavn -> "&lt;sjekksum&gt;.tsr"
1305
1306 </ul>
1307
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
1317 itself.</p>
1318
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
1323 compromised.</p>
1324
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
1328 above).</p>
1329
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>
1335
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>
1338
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>
1343
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>
1349
1350 <p>The verification itself is a simple openssl command:</p>
1351
1352 <p><blockquote><pre>
1353 openssl ts -verify -data $inputfile -in $sha256.tsr \
1354 -CAfile ca-cert.txt -text
1355 </pre></blockquote></p>
1356
1357 <p>Is there any reason this approach would not work? Is it somehow against
1358 the Noark 5 specification?</p>
1359
1360 </div>
1361 <div class="tags">
1362
1363
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>.
1365
1366
1367 </div>
1368 </div>
1369 <div class="padding"></div>
1370
1371 <div class="entry">
1372 <div class="title">
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>
1374 </div>
1375 <div class="date">
1376 27th April 2017
1377 </div>
1378 <div class="body">
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>
1385
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>
1400
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>
1404
1405 <p><blockquote>
1406
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
1411 forskrift).</p>
1412
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
1415 RFC 5322,
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>
1420
1421 </blockquote></p>
1422
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>
1429
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>
1433
1434 </div>
1435 <div class="tags">
1436
1437
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>.
1439
1440
1441 </div>
1442 </div>
1443 <div class="padding"></div>
1444
1445 <div class="entry">
1446 <div class="title">
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>
1448 </div>
1449 <div class="date">
1450 19th March 2017
1451 </div>
1452 <div class="body">
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
1462 Unix User Group
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
1471 itches.</p>
1472
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>
1479
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
1493 our API tester:</p>
1494
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
1499
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>
1508
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>
1513
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
1524 specification.</p>
1525
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,
1529 and we have
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> :).
1536
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>
1541
1542 </div>
1543 <div class="tags">
1544
1545
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>.
1547
1548
1549 </div>
1550 </div>
1551 <div class="padding"></div>
1552
1553 <div class="entry">
1554 <div class="title">
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>
1556 </div>
1557 <div class="date">
1558 29th January 2015
1559 </div>
1560 <div class="body">
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
1575 journalen:
1576
1577 <ul>
1578 <li>2014/2-1</li>
1579 <li>2014/5-1</li>
1580 <li>2014/5-3</li>
1581 </ul>
1582
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>
1596
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>
1608
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>
1616
1617 <table border="1">
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>
1623 </tr>
1624
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>
1743
1744 </table>
1745
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>
1752
1753 </div>
1754 <div class="tags">
1755
1756
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>.
1758
1759
1760 </div>
1761 </div>
1762 <div class="padding"></div>
1763
1764 <div class="entry">
1765 <div class="title">
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>
1767 </div>
1768 <div class="date">
1769 7th March 2014
1770 </div>
1771 <div class="body">
1772 <p>For noen uker siden ble NXCs fri programvarelisenserte
1773 NOARK5-løsning
1774 <a href="http://www.nuug.no/aktiviteter/20140211-noark/">presentert hos
1775 NUUG</a> (video
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
1785 PDF i arkivet).</p>
1786
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
1794 noen anbefalinger:
1795
1796 <p><blockquote>
1797 <p>Hei.</p>
1798
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
1804 som beskrives på
1805 &lt;URL: <a href="https://www.informit.com/articles/article.aspx?p=32074">https://www.informit.com/articles/article.aspx?p=32074</a> &gt;? 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
1808 behov.</p>
1809 </blockquote></p>
1810
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>
1814
1815 <p><blockquote>
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>
1824
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>
1831 </blockquote></p>
1832
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>
1838
1839 <ul>
1840
1841 <li><a href="http://www.openhealth.org/xmtp/">XML MIME Transformation
1842 protocol (XMTP)</a> fra OpenHealth, sist oppdatert 2001.</li>
1843
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
1846 2001.</li>
1847
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>
1851
1852 </ul>
1853
1854 <p>Finnes det andre og bedre spesifikasjoner for slik lagring? Send
1855 meg en epost hvis du har innspill.</p>
1856
1857 </div>
1858 <div class="tags">
1859
1860
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>.
1862
1863
1864 </div>
1865 </div>
1866 <div class="padding"></div>
1867
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>
1869 <div id="sidebar">
1870
1871
1872
1873 <h2>Archive</h2>
1874 <ul>
1875
1876 <li>2019
1877 <ul>
1878
1879 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/01/">January (4)</a></li>
1880
1881 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/02/">February (3)</a></li>
1882
1883 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/03/">March (3)</a></li>
1884
1885 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/05/">May (2)</a></li>
1886
1887 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/06/">June (5)</a></li>
1888
1889 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/07/">July (2)</a></li>
1890
1891 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/08/">August (1)</a></li>
1892
1893 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/09/">September (1)</a></li>
1894
1895 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/11/">November (1)</a></li>
1896
1897 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/12/">December (2)</a></li>
1898
1899 </ul></li>
1900
1901 <li>2018
1902 <ul>
1903
1904 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/01/">January (1)</a></li>
1905
1906 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/02/">February (5)</a></li>
1907
1908 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/03/">March (5)</a></li>
1909
1910 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/04/">April (3)</a></li>
1911
1912 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/06/">June (2)</a></li>
1913
1914 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/07/">July (5)</a></li>
1915
1916 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/08/">August (3)</a></li>
1917
1918 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/09/">September (3)</a></li>
1919
1920 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/10/">October (5)</a></li>
1921
1922 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/11/">November (2)</a></li>
1923
1924 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/12/">December (4)</a></li>
1925
1926 </ul></li>
1927
1928 <li>2017
1929 <ul>
1930
1931 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/01/">January (4)</a></li>
1932
1933 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/02/">February (3)</a></li>
1934
1935 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/03/">March (5)</a></li>
1936
1937 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/04/">April (2)</a></li>
1938
1939 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/06/">June (5)</a></li>
1940
1941 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/07/">July (1)</a></li>
1942
1943 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/08/">August (1)</a></li>
1944
1945 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/09/">September (3)</a></li>
1946
1947 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/10/">October (5)</a></li>
1948
1949 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/11/">November (3)</a></li>
1950
1951 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/12/">December (4)</a></li>
1952
1953 </ul></li>
1954
1955 <li>2016
1956 <ul>
1957
1958 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/01/">January (3)</a></li>
1959
1960 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/02/">February (2)</a></li>
1961
1962 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/03/">March (3)</a></li>
1963
1964 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/04/">April (8)</a></li>
1965
1966 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/05/">May (8)</a></li>
1967
1968 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/06/">June (2)</a></li>
1969
1970 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/07/">July (2)</a></li>
1971
1972 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/08/">August (5)</a></li>
1973
1974 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/09/">September (2)</a></li>
1975
1976 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/10/">October (3)</a></li>
1977
1978 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/11/">November (8)</a></li>
1979
1980 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/12/">December (5)</a></li>
1981
1982 </ul></li>
1983
1984 <li>2015
1985 <ul>
1986
1987 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/01/">January (7)</a></li>
1988
1989 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/02/">February (6)</a></li>
1990
1991 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/03/">March (1)</a></li>
1992
1993 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/04/">April (4)</a></li>
1994
1995 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/05/">May (3)</a></li>
1996
1997 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/06/">June (4)</a></li>
1998
1999 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/07/">July (6)</a></li>
2000
2001 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/08/">August (2)</a></li>
2002
2003 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/09/">September (2)</a></li>
2004
2005 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/10/">October (9)</a></li>
2006
2007 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/11/">November (6)</a></li>
2008
2009 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/12/">December (3)</a></li>
2010
2011 </ul></li>
2012
2013 <li>2014
2014 <ul>
2015
2016 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
2017
2018 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
2019
2020 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
2021
2022 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
2023
2024 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
2025
2026 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
2027
2028 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
2029
2030 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
2031
2032 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
2033
2034 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/10/">October (6)</a></li>
2035
2036 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/11/">November (3)</a></li>
2037
2038 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/12/">December (5)</a></li>
2039
2040 </ul></li>
2041
2042 <li>2013
2043 <ul>
2044
2045 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
2046
2047 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
2048
2049 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
2050
2051 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
2052
2053 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
2054
2055 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
2056
2057 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
2058
2059 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
2060
2061 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
2062
2063 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
2064
2065 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
2066
2067 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
2068
2069 </ul></li>
2070
2071 <li>2012
2072 <ul>
2073
2074 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
2075
2076 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
2077
2078 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
2079
2080 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
2081
2082 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
2083
2084 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
2085
2086 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
2087
2088 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
2089
2090 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
2091
2092 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
2093
2094 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
2095
2096 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
2097
2098 </ul></li>
2099
2100 <li>2011
2101 <ul>
2102
2103 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
2104
2105 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
2106
2107 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
2108
2109 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
2110
2111 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
2112
2113 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
2114
2115 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
2116
2117 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
2118
2119 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
2120
2121 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
2122
2123 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
2124
2125 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
2126
2127 </ul></li>
2128
2129 <li>2010
2130 <ul>
2131
2132 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
2133
2134 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
2135
2136 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
2137
2138 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
2139
2140 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
2141
2142 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
2143
2144 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
2145
2146 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
2147
2148 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
2149
2150 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
2151
2152 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
2153
2154 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
2155
2156 </ul></li>
2157
2158 <li>2009
2159 <ul>
2160
2161 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
2162
2163 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
2164
2165 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
2166
2167 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
2168
2169 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
2170
2171 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
2172
2173 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
2174
2175 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
2176
2177 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
2178
2179 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
2180
2181 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
2182
2183 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
2184
2185 </ul></li>
2186
2187 <li>2008
2188 <ul>
2189
2190 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
2191
2192 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
2193
2194 </ul></li>
2195
2196 </ul>
2197
2198
2199
2200 <h2>Tags</h2>
2201 <ul>
2202
2203 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (16)</a></li>
2204
2205 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
2206
2207 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
2208
2209 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
2210
2211 <li><a href="http://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (8)</a></li>
2212
2213 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (11)</a></li>
2214
2215 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (17)</a></li>
2216
2217 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
2218
2219 <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
2220
2221 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (168)</a></li>
2222
2223 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (158)</a></li>
2224
2225 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (4)</a></li>
2226
2227 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (11)</a></li>
2228
2229 <li><a href="http://people.skolelinux.org/pere/blog/tags/dld">dld (17)</a></li>
2230
2231 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (26)</a></li>
2232
2233 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
2234
2235 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (411)</a></li>
2236
2237 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
2238
2239 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (14)</a></li>
2240
2241 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (34)</a></li>
2242
2243 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (9)</a></li>
2244
2245 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (20)</a></li>
2246
2247 <li><a href="http://people.skolelinux.org/pere/blog/tags/h264">h264 (20)</a></li>
2248
2249 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (42)</a></li>
2250
2251 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (16)</a></li>
2252
2253 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (22)</a></li>
2254
2255 <li><a href="http://people.skolelinux.org/pere/blog/tags/kodi">kodi (4)</a></li>
2256
2257 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
2258
2259 <li><a href="http://people.skolelinux.org/pere/blog/tags/lego">lego (4)</a></li>
2260
2261 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
2262
2263 <li><a href="http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
2264
2265 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
2266
2267 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
2268
2269 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (42)</a></li>
2270
2271 <li><a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (12)</a></li>
2272
2273 <li><a href="http://people.skolelinux.org/pere/blog/tags/noark5">noark5 (18)</a></li>
2274
2275 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (308)</a></li>
2276
2277 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (196)</a></li>
2278
2279 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (37)</a></li>
2280
2281 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
2282
2283 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (75)</a></li>
2284
2285 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (111)</a></li>
2286
2287 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (2)</a></li>
2288
2289 <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
2290
2291 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
2292
2293 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
2294
2295 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (12)</a></li>
2296
2297 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
2298
2299 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (7)</a></li>
2300
2301 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
2302
2303 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (56)</a></li>
2304
2305 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
2306
2307 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
2308
2309 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (67)</a></li>
2310
2311 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (6)</a></li>
2312
2313 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (12)</a></li>
2314
2315 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (57)</a></li>
2316
2317 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (4)</a></li>
2318
2319 <li><a href="http://people.skolelinux.org/pere/blog/tags/usenix">usenix (2)</a></li>
2320
2321 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (9)</a></li>
2322
2323 <li><a href="http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (17)</a></li>
2324
2325 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (73)</a></li>
2326
2327 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
2328
2329 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (42)</a></li>
2330
2331 </ul>
2332
2333
2334 </div>
2335 <p style="text-align: right">
2336 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
2337 </p>
2338
2339 </body>
2340 </html>