]> pere.pagekite.me Git - homepage.git/blob - blog/tags/noark5/index.html
4a16ca980648d3176a2be5b4cf4246a5959d427b
[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/_pen_og_gjennomsiktig_vedlikehold_av_spesifikasjonen_for_Noark_5_Tjenestegrensesnitt.html">Åpen og gjennomsiktig vedlikehold av spesifikasjonen for Noark 5 Tjenestegrensesnitt</a>
26 </div>
27 <div class="date">
28 11th March 2019
29 </div>
30 <div class="body">
31 <p>Et virksomhetsarkiv for meg, er et arbeidsverktøy der en enkelt kan
32 finne informasjonen en trenger når en trenger det, og der
33 virksomhetens samlede kunnskap er tilgjengelig. Det må være greit å
34 finne frem i, litt som en bibliotek. Men der et bibliotek gjerne tar
35 vare på offentliggjort informasjon som er tilgjengelig flere steder,
36 tar et arkiv vare på virksomhetsintern og til tider personlig
37 informasjon som ofte kun er tilgjengelig fra et sted.</p>
38
39 <p>Jeg mistenker den eneste måten å sikre at arkivet inneholder den
40 samlede kunnskapen i en virksomhet, er å bruke det som virksomhetens
41 kunnskapslager. Det innebærer å automatisk kopiere (brev, epost,
42 SMS-er etc) inn i arkivet når de sendes og mottas, og der filtrere
43 vekk det en ikke vil ta vare på, og legge på metadata om det som er
44 samlet inn for enkel gjenfinning. En slik bruk av arkivet innebærer at
45 arkivet er en del av daglig virke, ikke at det er siste hvilested for
46 informasjon ingen lenger har daglig bruk for. For å kunne være en del
47 av det daglige virket må arkivet enkelt kunne integreres med andre
48 systemer. I disse dager betyr det å tilby arkivet som en
49 nett-tjeneste til hele virksomheten, tilgjengelig for både mennesker
50 og datamaskiner. Det betyr i tur å både tilby nettsider og et
51 maskinlesbart grensesnitt.</p>
52
53 <p>For noen år siden erkjente visjonære arkivarer fordelene med et
54 standardisert maskinlesbart grensesnitt til organisasjonens arkiv. De
55 gikk igang med å lage noe de kalte
56 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">Noark
57 5 Tjenestegrensesnitt</a>. Gjort riktig, så åpner slike maskinlesbare
58 grensesnitt for samvirke på tvers av uavhengige programvaresystemer.
59 Gjort feil, vil det blokkere for samvirke og bidra til
60 leverandørinnlåsing. For å gjøre det riktig så må grensesnittet være
61 klart og entydig beskrevet i en spesifikasjon som gjør at
62 spesifikasjonen tolkes på samme måte uavhengig av hvem som leser den,
63 og uavhengig av hvem som tar den i bruk.</p>
64
65 <p>For å oppnå klare og entydige beskrivelser i en spesifikasjon, som
66 trengs for å kunne få en fri og åpen standard (se
67 <a href="http://people.skolelinux.org/pere/blog/Fri_og__pen_standard__slik_Digistan_ser_det.html">Digistan-definisjon</a>),
68 så trengs det en åpen og gjennomsiktig inngangsport med lav terskel,
69 der de som forsøker å ta den i bruk enkelt kan få inn korreksjoner,
70 etterlyse klargjøringer og rapportere uklarheter i spesifikasjonen.
71 En trenger også automatiserte datasystemer som måler og sjekker at et
72 gitt grensesnitt fungerer i tråd med spesifikasjonen.</p>
73
74 <p>For Noark 5 Tjenestegrensesnittet er det nå etablert en slik åpen
75 og gjennomsiktig inngangsport på prosjekttjenesten github. Denne
76 inngangsporten består først og fremst av en åpen portal som lar enhver
77 se hva som er gjort av endringer i spesifikasjonsteksten over tid, men
78 det hører også med et åpent &quot;diskusjonsforum&quot; der en kan
79 komme med endringsforslag og forespørsler om klargjøringer. Alle
80 registrerte brukere på github kan bidra med innspill til disse
81 henvendelsene.</p>
82
83 <p>I samarbeide med Arkivverket har jeg fått opprettet et git-depot
84 med spesifikasjonsteksten for tjenestegrensesnittet, der det er lagt
85 inn historikk for endringer i teksten de siste årene, samt lagt inn
86 endringsforslag og forespørsler om klargjøring av teksten. Bakgrunnen
87 for at jeg bidro med dette er at jeg er involvert i
88 <a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core">Nikita-prosjektet</a>,
89 som lager en fri programvare-utgave av Noark 5 Tjenestegrensesnitt.
90 Det er først når en forsøker å lage noe i tråd med en spesifikasjon at
91 en oppdager hvor mange detaljer som må beskrives i spesifikasjonen for
92 å sikre samhandling.</p>
93
94 <p>Spesifikasjonen vedlikeholdes i et rent tekstformat, for å ha et
95 format egnet for versjonskontroll via versjontrollsystemet git. Dette
96 gjør det både enkelt å se konkret hvilke endringer som er gjort når,
97 samt gjør det praktisk mulig for enhver med github-konto å sende inn
98 endringsforslag med formuleringer til spesifikasjonsteksten. Dette
99 tekstformatet vises frem som nettsider på github, slik at en ikke
100 trenger spesielle verktøy for å se på siste utgave av
101 spesifikasjonen.</p>
102
103 <p>Fra dette rene tekstformatet kan det så avledes ulike formater, som
104 HTML for websider, PDF for utskrift på papir og ePub for lesing med
105 ebokleser. Avlednings-systemet (byggesystemet) bruker i dag
106 verktøyene pandoc, latex, docbook-xsl og GNU make til
107 transformasjonen. Tekstformatet som brukes dag er
108 <a href="https://www.markdownguide.org/">Markdown</a>, men det vurderes
109 å
110 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/9">endre
111 til formatet RST</a> i fremtiden for bedre styring av utseende på
112 PDF-utgaven.</p>
113
114 <p>Versjonskontrollsystemet git ble valgt da det er både fleksibelt,
115 avansert og enkelt å ta i bruk. Github ble valgt (foran f.eks. Gitlab
116 som vi bruker i Nikita), da Arkivverket allerede hadde tatt i bruk
117 Github i andre sammenhenger.</p>
118
119 <p>Enkle endringer i teksten kan gjøres av priviligerte brukere
120 direkte i nettsidene til Github, ved å finne aktuell fil som skal
121 endres (f.eks. kapitler/03-konformitet.md), klikke på den lille
122 bokstaven i høyre hjørne over teksten. Det kommer opp en nettside der
123 en kan endre teksten slik en ønsker. Når en er fornøyd med endringen
124 så må endringen &quot;sjekkes inn&quot; i historikken. Det gjøres ved
125 å gi en kort beskrivelse av endringen (beskriv helst hvorfor endringen
126 trengs, ikke hva som er endret), under overskriften &quot;Commit
127 changes&quot;. En kan og bør legge inn en lengre forklaring i det
128 større skrivefeltet, før en velger om endringen skal sendes direkte
129 til 'master'-grenen (dvs. autorativ utgave av spesifikasjonen) eller
130 om en skal lage en ny gren for denne endringen og opprette en
131 endringsforespørsel (aka &quot;Pull Request&quot;/PR). Når alt dette
132 er gjort kan en velge &quot;Commit changes&quot; for å sende inn
133 endringen. Hvis den er lagt inn i &quot;master&quot;-grenen så er den
134 en offisiell del av spesifikasjonen med en gang. Hvis den derimot er
135 en endringsforespørsel, så legges den inn i
136 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/pulls">listen
137 over forslag til endringer</a> som venter på korrekturlesing og
138 godkjenning.</p>
139
140 <p>Større endringer (for eksempel samtidig endringer i flere filer)
141 gjøres enklest ved å hente ned en kopi av git-depoet lokalt og gjøre
142 endringene der før endringsforslaget sendes inn. Denne prosessen er
143 godt beskrivet i dokumentasjon fra github. Git-prosjektet som skal
144 &quot;klones&quot; er
145 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/</a>.</p>
146
147 <p>For å registrere nye utfordringer (issues) eller kommentere på
148 eksisterende utfordringer benyttes nettsiden
149 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues</a>.
150 I skrivende stund er det 48 åpne og 11 avsluttede utfordringer. Et
151 forslag til hva som bør være med når en beskriver en utfordring er
152 tilgjengelig som utfordring
153 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/14">#14</a>.</p>
154
155 <p>For å bygge en PDF-utgave av spesifikasjonen så bruker jeg i dag en
156 Debian GNU/Linux-maskin med en rekke programpakker installert. Når
157 dette er på plass, så holder det å kjøre kommandoen 'make pdf html' på
158 kommandolinjen, vente ca. 20 sekunder, før spesifikasjon.pdf og
159 spesifikasjon.html ligger klar på disken. Verktøyene for bygging av
160 PDF, HTML og ePub-utgave er også tilgjengelig på Windows og
161 MacOSX.</p>
162
163 <p>Github bidrar med rammeverket. Men for at åpent vedlikehold av
164 spesifikasjonen skal fungere, så trengs det folk som bidrar med sin
165 tid og kunnskap. Arkivverket har sagt de skal bidra med innspill og
166 godkjenne forslag til endringer, men det blir størst suksess hvis alle
167 som bruker og lager systemer basert på Noark 5 Tjenestegrensesnitt
168 bidrar med sin kunnskap og kommer med forslag til forebedringer. Jeg
169 stiller. Blir du med?</p>
170
171 <p>Det er viktig å legge til rette for åpen diskusjon blant alle
172 interesserte, som ikke krever at en må godta lange kontrakter med
173 vilkår for deltagelse. Inntil Arkivverket dukker opp på IRC har vi
174 laget en IRC-kanal der interesserte enkelt kan orientere seg og
175 diskutere tjenestegrensesnittet. Alle er velkommen til å ta turen
176 innom
177 <a href="https://webchat.freenode.net/?channels=nikita">#nikita</a>
178 (f.eks. via irc.freenode.net) for å møte likesinnede.</p>
179
180 <p>Det holder dog ikke å ha en god spesifikasjon, hvis ikke de som tar
181 den i bruk gjør en like god jobb. For å automatisk teste om et konkret
182 tjenestegrensesnitt følger (min) forståelse av
183 spesifikasjonsdokumentet, har jeg skrevet et program som kobler seg
184 opp til et Noark 5v4 REST-tjeneste og tester alt den finner for å se
185 om det er i henhold til min tolkning av spesifikasjonen. Dette
186 verktøyet er tilgjengelig fra
187 <a href="https://github.com/petterreinholdtsen/noark5-tester">https://github.com/petterreinholdtsen/noark5-tester</a>,
188 og brukes daglig mens vi utvikler Nikita for å sikre at vi ikke
189 introduserer nye feil. Hvis en skal sikre samvirke på tvers av ulike
190 systemer er det helt essensielt å kunne raskt og automatisk sjekke at
191 tjenestegrensesnittet oppfører seg som forventet. Jeg håper andre som
192 lager sin utgave av tjenestegrensesnittet vi bruke dette verktøyet,
193 slik at vi tidlig og raskt kan oppdage hvor vi har tolket
194 spesifikasjonen ulikt, og dermed få et godt grunnlag for å gjøre
195 spesifikasjonsteksten enda klarere og bedre.</p>
196
197 <p>Dagens beskrivelse av Noark 5 Tjenestegrensesnitt er et svært godt
198 utgangspunkt for å gjøre virksomhetens arkiv til et dynamisk og
199 sentralt arbeidsverktøy i organisasjonen. Blir du med å gjøre den
200 enda bedre?</p>
201
202 </div>
203 <div class="tags">
204
205
206 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>.
207
208
209 </div>
210 </div>
211 <div class="padding"></div>
212
213 <div class="entry">
214 <div class="title">
215 <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>
216 </div>
217 <div class="date">
218 1st November 2018
219 </div>
220 <div class="body">
221 <p>As part of my involvement in
222 <a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core">the Nikita
223 archive API project</a>, I've been importing a fairly large lump of
224 emails into a test instance of the archive to see how well this would
225 go. I picked a subset of <a href="https://notmuchmail.org/">my
226 notmuch email database</a>, all public emails sent to me via
227 @lists.debian.org, giving me a set of around 216 000 emails to import.
228 In the process, I had a look at the various attachments included in
229 these emails, to figure out what to do with attachments, and noticed
230 that one of the most common attachment formats do not have
231 <a href="https://www.iana.org/assignments/media-types/media-types.xhtml">an
232 official MIME type</a> registered with IANA/IETF. The output from
233 diff, ie the input for patch, is on the top 10 list of formats
234 included in these emails. At the moment people seem to use either
235 text/x-patch or text/x-diff, but neither is officially registered. It
236 would be better if one official MIME type were registered and used
237 everywhere.</p>
238
239 <p>To try to get one official MIME type for these files, I've brought
240 up the topic on
241 <a href="https://www.ietf.org/mailman/listinfo/media-types">the
242 media-types mailing list</a>. If you are interested in discussion
243 which MIME type to use as the official for patch files, or involved in
244 making software using a MIME type for patches, perhaps you would like
245 to join the discussion?</p>
246
247 <p>As usual, if you use Bitcoin and want to show your support of my
248 activities, please send Bitcoin donations to my address
249 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
250
251 </div>
252 <div class="tags">
253
254
255 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>.
256
257
258 </div>
259 </div>
260 <div class="padding"></div>
261
262 <div class="entry">
263 <div class="title">
264 <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>
265 </div>
266 <div class="date">
267 18th October 2018
268 </div>
269 <div class="body">
270 <p>This morning, the new release of the
271 <a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
272 Noark 5 core project</a> was
273 <a href="https://lists.nuug.no/pipermail/nikita-noark/2018-October/000406.html">announced
274 on the project mailing list</a>. The free software solution is an
275 implementation of the Norwegian archive standard Noark 5 used by
276 government offices in Norway. These were the changes in version 0.2
277 since version 0.1.1 (from NEWS.md):
278
279 <ul>
280 <li>Fix typos in REL names</li>
281 <li>Tidy up error message reporting</li>
282 <li>Fix issue where we used Integer.valueOf(), not Integer.getInteger()</li>
283 <li>Change some String handling to StringBuffer</li>
284 <li>Fix error reporting</li>
285 <li>Code tidy-up</li>
286 <li>Fix issue using static non-synchronized SimpleDateFormat to avoid
287 race conditions</li>
288 <li>Fix problem where deserialisers were treating integers as strings</li>
289 <li>Update methods to make them null-safe</li>
290 <li>Fix many issues reported by coverity</li>
291 <li>Improve equals(), compareTo() and hash() in domain model</li>
292 <li>Improvements to the domain model for metadata classes</li>
293 <li>Fix CORS issues when downloading document</li>
294 <li>Implementation of case-handling with registryEntry and document upload</li>
295 <li>Better support in Javascript for OPTIONS</li>
296 <li>Adding concept description of mail integration</li>
297 <li>Improve setting of default values for GET on ny-journalpost</li>
298 <li>Better handling of required values during deserialisation </li>
299 <li>Changed tilknyttetDato (M620) from date to dateTime</li>
300 <li>Corrected some opprettetDato (M600) (de)serialisation errors.</li>
301 <li>Improve parse error reporting.</li>
302 <li>Started on OData search and filtering.</li>
303 <li>Added Contributor Covenant Code of Conduct to project.</li>
304 <li>Moved repository and project from Github to Gitlab.</li>
305 <li>Restructured repository, moved code into src/ and web/.</li>
306 <li>Updated code to use Spring Boot version 2.</li>
307 <li>Added support for OAuth2 authentication.</li>
308 <li>Fixed several bugs discovered by Coverity.</li>
309 <li>Corrected handling of date/datetime fields.</li>
310 <li>Improved error reporting when rejecting during deserializatoin.</li>
311 <li>Adjusted default values provided for ny-arkivdel, ny-mappe,
312 ny-saksmappe, ny-journalpost and ny-dokumentbeskrivelse.</li>
313 <li>Several fixes for korrespondansepart*.</li>
314 <li>Updated web GUI:
315 <ul>
316 <li>Now handle both file upload and download.</li>
317 <li>Uses new OAuth2 authentication for login.</li>
318 <li>Forms now fetches default values from API using GET.</li>
319 <li>Added RFC 822 (email), TIFF and JPEG to list of possible file formats.</li>
320 </ul></li>
321 </ul>
322
323 <p>The changes and improvements are extensive. Running diffstat on
324 the changes between git tab 0.1.1 and 0.2 show 1098 files changed,
325 108666 insertions(+), 54066 deletions(-).</p>
326
327 <p>If free and open standardized archiving API sound interesting to
328 you, please contact us on IRC
329 (<a href="irc://irc.freenode.net/%23nikita">#nikita on
330 irc.freenode.net</a>) or email
331 (<a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
332 mailing list</a>).</p>
333
334 <p>As usual, if you use Bitcoin and want to show your support of my
335 activities, please send Bitcoin donations to my address
336 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
337
338 </div>
339 <div class="tags">
340
341
342 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>.
343
344
345 </div>
346 </div>
347 <div class="padding"></div>
348
349 <div class="entry">
350 <div class="title">
351 <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>
352 </div>
353 <div class="date">
354 8th October 2018
355 </div>
356 <div class="body">
357 <p>I have earlier covered the basics of trusted timestamping using the
358 'openssl ts' client. See blog post for
359 <a href="http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html">2014</a>,
360 <a href="http://people.skolelinux.org/pere/blog/syslog_trusted_timestamp___chain_of_trusted_timestamps_for_your_syslog.html">2016</a>
361 and
362 <a href="http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html">2017</a>
363 for those stories. But some times I want to integrate the timestamping
364 in other code, and recently I needed to integrate it into Python.
365 After searching a bit, I found
366 <a href="https://dev.entrouvert.org/projects/python-rfc3161">the
367 rfc3161 library</a> which seemed like a good fit, but I soon
368 discovered it only worked for python version 2, and I needed something
369 that work with python version 3. Luckily I next came across
370 <a href="https://github.com/trbs/rfc3161ng/">the rfc3161ng library</a>,
371 a fork of the original rfc3161 library. Not only is it working with
372 python 3, it have fixed a few of the bugs in the original library, and
373 it has an active maintainer. I decided to wrap it up and make it
374 <a href="https://tracker.debian.org/pkg/python-rfc3161ng">available in
375 Debian</a>, and a few days ago it entered Debian unstable and testing.</p>
376
377 <p>Using the library is fairly straight forward. The only slightly
378 problematic step is to fetch the required certificates to verify the
379 timestamp. For some services it is straight forward, while for others
380 I have not yet figured out how to do it. Here is a small standalone
381 code example based on of the integration tests in the library code:</p>
382
383 <pre>
384 #!/usr/bin/python3
385
386 """
387
388 Python 3 script demonstrating how to use the rfc3161ng module to
389 get trusted timestamps.
390
391 The license of this code is the same as the license of the rfc3161ng
392 library, ie MIT/BSD.
393
394 """
395
396 import os
397 import pyasn1.codec.der
398 import rfc3161ng
399 import subprocess
400 import tempfile
401 import urllib.request
402
403 def store(f, data):
404 f.write(data)
405 f.flush()
406 f.seek(0)
407
408 def fetch(url, f=None):
409 response = urllib.request.urlopen(url)
410 data = response.read()
411 if f:
412 store(f, data)
413 return data
414
415 def main():
416 with tempfile.NamedTemporaryFile() as cert_f,\
417 tempfile.NamedTemporaryFile() as ca_f,\
418 tempfile.NamedTemporaryFile() as msg_f,\
419 tempfile.NamedTemporaryFile() as tsr_f:
420
421 # First fetch certificates used by service
422 certificate_data = fetch('https://freetsa.org/files/tsa.crt', cert_f)
423 ca_data_data = fetch('https://freetsa.org/files/cacert.pem', ca_f)
424
425 # Then timestamp the message
426 timestamper = \
427 rfc3161ng.RemoteTimestamper('http://freetsa.org/tsr',
428 certificate=certificate_data)
429 data = b"Python forever!\n"
430 tsr = timestamper(data=data, return_tsr=True)
431
432 # Finally, convert message and response to something 'openssl ts' can verify
433 store(msg_f, data)
434 store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
435 args = ["openssl", "ts", "-verify",
436 "-data", msg_f.name,
437 "-in", tsr_f.name,
438 "-CAfile", ca_f.name,
439 "-untrusted", cert_f.name]
440 subprocess.check_call(args)
441
442 if '__main__' == __name__:
443 main()
444 </pre>
445
446 <p>The code fetches the required certificates, store them as temporary
447 files, timestamp a simple message, store the message and timestamp to
448 disk and ask 'openssl ts' to verify the timestamp. A timestamp is
449 around 1.5 kiB in size, and should be fairly easy to store for future
450 use.</p>
451
452 <p>As usual, if you use Bitcoin and want to show your support of my
453 activities, please send Bitcoin donations to my address
454 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
455
456 </div>
457 <div class="tags">
458
459
460 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>.
461
462
463 </div>
464 </div>
465 <div class="padding"></div>
466
467 <div class="entry">
468 <div class="title">
469 <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>
470 </div>
471 <div class="date">
472 10th June 2017
473 </div>
474 <div class="body">
475 <p>I am very happy to report that the
476 <a href="https://github.com/hiOA-ABI/nikita-noark5-core">Nikita Noark 5
477 core project</a> tagged its second release today. The free software
478 solution is an implementation of the Norwegian archive standard Noark
479 5 used by government offices in Norway. These were the changes in
480 version 0.1.1 since version 0.1.0 (from NEWS.md):
481
482 <ul>
483
484 <li>Continued work on the angularjs GUI, including document upload.</li>
485 <li>Implemented correspondencepartPerson, correspondencepartUnit and
486 correspondencepartInternal</li>
487 <li>Applied for coverity coverage and started submitting code on
488 regualr basis.</li>
489 <li>Started fixing bugs reported by coverity</li>
490 <li>Corrected and completed HATEOAS links to make sure entire API is
491 available via URLs in _links.</li>
492 <li>Corrected all relation URLs to use trailing slash.</li>
493 <li>Add initial support for storing data in ElasticSearch.</li>
494 <li>Now able to receive and store uploaded files in the archive.</li>
495 <li>Changed JSON output for object lists to have relations in _links.</li>
496 <li>Improve JSON output for empty object lists.</li>
497 <li>Now uses correct MIME type application/vnd.noark5-v4+json.</li>
498 <li>Added support for docker container images.</li>
499 <li>Added simple API browser implemented in JavaScript/Angular.</li>
500 <li>Started on archive client implemented in JavaScript/Angular.</li>
501 <li>Started on prototype to show the public mail journal.</li>
502 <li>Improved performance by disabling Sprint FileWatcher.</li>
503 <li>Added support for 'arkivskaper', 'saksmappe' and 'journalpost'.</li>
504 <li>Added support for some metadata codelists.</li>
505 <li>Added support for Cross-origin resource sharing (CORS).</li>
506 <li>Changed login method from Basic Auth to JSON Web Token (RFC 7519)
507 style.</li>
508 <li>Added support for GET-ing ny-* URLs.</li>
509 <li>Added support for modifying entities using PUT and eTag.</li>
510 <li>Added support for returning XML output on request.</li>
511 <li>Removed support for English field and class names, limiting ourself
512 to the official names.</li>
513 <li>...</li>
514
515 </ul>
516
517 <p>If this sound interesting to you, please contact us on IRC (#nikita
518 on irc.freenode.net) or email
519 (<a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
520 mailing list).</p>
521
522 </div>
523 <div class="tags">
524
525
526 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>.
527
528
529 </div>
530 </div>
531 <div class="padding"></div>
532
533 <div class="entry">
534 <div class="title">
535 <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>
536 </div>
537 <div class="date">
538 7th June 2017
539 </div>
540 <div class="body">
541 <p><em>This is a copy of
542 <a href="https://lists.nuug.no/pipermail/nikita-noark/2017-June/000297.html">an
543 email I posted to the nikita-noark mailing list</a>. Please follow up
544 there if you would like to discuss this topic. The background is that
545 we are making a free software archive system based on the Norwegian
546 <a href="https://www.arkivverket.no/forvaltning-og-utvikling/regelverk-og-standarder/noark-standarden">Noark
547 5 standard</a> for government archives.</em></p>
548
549 <p>I've been wondering a bit lately how trusted timestamps could be
550 stored in Noark 5.
551 <a href="https://en.wikipedia.org/wiki/Trusted_timestamping">Trusted
552 timestamps</a> can be used to verify that some information
553 (document/file/checksum/metadata) have not been changed since a
554 specific time in the past. This is useful to verify the integrity of
555 the documents in the archive.</p>
556
557 <p>Then it occured to me, perhaps the trusted timestamps could be
558 stored as dokument variants (ie dokumentobjekt referered to from
559 dokumentbeskrivelse) with the filename set to the hash it is
560 stamping?</p>
561
562 <p>Given a "dokumentbeskrivelse" with an associated "dokumentobjekt",
563 a new dokumentobjekt is associated with "dokumentbeskrivelse" with the
564 same attributes as the stamped dokumentobjekt except these
565 attributes:</p>
566
567 <ul>
568
569 <li>format -> "RFC3161"
570 <li>mimeType -> "application/timestamp-reply"
571 <li>formatDetaljer -> "&lt;source URL for timestamp service&gt;"
572 <li>filenavn -> "&lt;sjekksum&gt;.tsr"
573
574 </ul>
575
576 <p>This assume a service following
577 <a href="https://tools.ietf.org/html/rfc3161">IETF RFC 3161</a> is
578 used, which specifiy the given MIME type for replies and the .tsr file
579 ending for the content of such trusted timestamp. As far as I can
580 tell from the Noark 5 specifications, it is OK to have several
581 variants/renderings of a dokument attached to a given
582 dokumentbeskrivelse objekt. It might be stretching it a bit to make
583 some of these variants represent crypto-signatures useful for
584 verifying the document integrity instead of representing the dokument
585 itself.</p>
586
587 <p>Using the source of the service in formatDetaljer allow several
588 timestamping services to be used. This is useful to spread the risk
589 of key compromise over several organisations. It would only be a
590 problem to trust the timestamps if all of the organisations are
591 compromised.</p>
592
593 <p>The following oneliner on Linux can be used to generate the tsr
594 file. $input is the path to the file to checksum, and $sha256 is the
595 SHA-256 checksum of the file (ie the "<sjekksum>.tsr" value mentioned
596 above).</p>
597
598 <p><blockquote><pre>
599 openssl ts -query -data "$inputfile" -cert -sha256 -no_nonce \
600 | curl -s -H "Content-Type: application/timestamp-query" \
601 --data-binary "@-" http://zeitstempel.dfn.de > $sha256.tsr
602 </pre></blockquote></p>
603
604 <p>To verify the timestamp, you first need to download the public key
605 of the trusted timestamp service, for example using this command:</p>
606
607 <p><blockquote><pre>
608 wget -O ca-cert.txt \
609 https://pki.pca.dfn.de/global-services-ca/pub/cacert/chain.txt
610 </pre></blockquote></p>
611
612 <p>Note, the public key should be stored alongside the timestamps in
613 the archive to make sure it is also available 100 years from now. It
614 is probably a good idea to standardise how and were to store such
615 public keys, to make it easier to find for those trying to verify
616 documents 100 or 1000 years from now. :)</p>
617
618 <p>The verification itself is a simple openssl command:</p>
619
620 <p><blockquote><pre>
621 openssl ts -verify -data $inputfile -in $sha256.tsr \
622 -CAfile ca-cert.txt -text
623 </pre></blockquote></p>
624
625 <p>Is there any reason this approach would not work? Is it somehow against
626 the Noark 5 specification?</p>
627
628 </div>
629 <div class="tags">
630
631
632 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>.
633
634
635 </div>
636 </div>
637 <div class="padding"></div>
638
639 <div class="entry">
640 <div class="title">
641 <a href="http://people.skolelinux.org/pere/blog/Epost_inn_som_arkivformat_i_Riksarkivarens_forskrift_.html">Epost inn som arkivformat i Riksarkivarens forskrift?</a>
642 </div>
643 <div class="date">
644 27th April 2017
645 </div>
646 <div class="body">
647 <p>I disse dager, med frist 1. mai, har Riksarkivaren ute en høring på
648 sin forskrift. Som en kan se er det ikke mye tid igjen før fristen
649 som går ut på søndag. Denne forskriften er det som lister opp hvilke
650 formater det er greit å arkivere i
651 <a href="http://www.arkivverket.no/arkivverket/Offentleg-forvalting/Noark/Noark-5">Noark
652 5-løsninger</a> i Norge.</p>
653
654 <p>Jeg fant høringsdokumentene hos
655 <a href="https://www.arkivrad.no/aktuelt/riksarkivarens-forskrift-pa-horing">Norsk
656 Arkivråd</a> etter å ha blitt tipset på epostlisten til
657 <a href="https://github.com/hiOA-ABI/nikita-noark5-core">fri
658 programvareprosjektet Nikita Noark5-Core</a>, som lager et Noark 5
659 Tjenestegresesnitt. Jeg er involvert i Nikita-prosjektet og takket
660 være min interesse for tjenestegrensesnittsprosjektet har jeg lest en
661 god del Noark 5-relaterte dokumenter, og til min overraskelse oppdaget
662 at standard epost ikke er på listen over godkjente formater som kan
663 arkiveres. Høringen med frist søndag er en glimrende mulighet til å
664 forsøke å gjøre noe med det. Jeg holder på med
665 <a href="https://github.com/petterreinholdtsen/noark5-tester/blob/master/docs/hoering-arkivforskrift.tex">egen
666 høringsuttalelse</a>, og lurer på om andre er interessert i å støtte
667 forslaget om å tillate arkivering av epost som epost i arkivet.</p>
668
669 <p>Er du igang med å skrive egen høringsuttalelse allerede? I så fall
670 kan du jo vurdere å ta med en formulering om epost-lagring. Jeg tror
671 ikke det trengs så mye. Her et kort forslag til tekst:</p>
672
673 <p><blockquote>
674
675 <p>Viser til høring sendt ut 2017-02-17 (Riksarkivarens referanse
676 2016/9840 HELHJO), og tillater oss å sende inn noen innspill om
677 revisjon av Forskrift om utfyllende tekniske og arkivfaglige
678 bestemmelser om behandling av offentlige arkiver (Riksarkivarens
679 forskrift).</p>
680
681 <p>Svært mye av vår kommuikasjon foregår i dag på e-post.  Vi
682 foreslår derfor at Internett-e-post, slik det er beskrevet i IETF
683 RFC 5322,
684 <a href="https://tools.ietf.org/html/rfc5322">https://tools.ietf.org/html/rfc5322</a>. bør
685 inn som godkjent dokumentformat.  Vi foreslår at forskriftens
686 oversikt over godkjente dokumentformater ved innlevering i § 5-16
687 endres til å ta med Internett-e-post.</p>
688
689 </blockquote></p>
690
691 <p>Som del av arbeidet med tjenestegrensesnitt har vi testet hvordan
692 epost kan lagres i en Noark 5-struktur, og holder på å skrive et
693 forslag om hvordan dette kan gjøres som vil bli sendt over til
694 arkivverket så snart det er ferdig. De som er interesserte kan
695 <a href="https://github.com/petterreinholdtsen/noark5-tester/blob/master/docs/epostlagring.md">følge
696 fremdriften på web</a>.</p>
697
698 <p>Oppdatering 2017-04-28: I dag ble høringuttalelsen jeg skrev
699 <a href="https://www.nuug.no/news/NUUGs_h_ringuttalelse_til_Riksarkivarens_forskrift.shtml">sendt
700 inn av foreningen NUUG</a>.</p>
701
702 </div>
703 <div class="tags">
704
705
706 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>.
707
708
709 </div>
710 </div>
711 <div class="padding"></div>
712
713 <div class="entry">
714 <div class="title">
715 <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>
716 </div>
717 <div class="date">
718 19th March 2017
719 </div>
720 <div class="body">
721 <p>The <a href="https://github.com/hiOA-ABI/nikita-noark5-core">Nikita
722 Noark 5 core project</a> is implementing the Norwegian standard for
723 keeping an electronic archive of government documents.
724 <a href="http://www.arkivverket.no/arkivverket/Offentlig-forvaltning/Noark/Noark-5/English-version">The
725 Noark 5 standard</a> document the requirement for data systems used by
726 the archives in the Norwegian government, and the Noark 5 web interface
727 specification document a REST web service for storing, searching and
728 retrieving documents and metadata in such archive. I've been involved
729 in the project since a few weeks before Christmas, when the Norwegian
730 Unix User Group
731 <a href="https://www.nuug.no/news/NOARK5_kjerne_som_fri_programvare_f_r_epostliste_hos_NUUG.shtml">announced
732 it supported the project</a>. I believe this is an important project,
733 and hope it can make it possible for the government archives in the
734 future to use free software to keep the archives we citizens depend
735 on. But as I do not hold such archive myself, personally my first use
736 case is to store and analyse public mail journal metadata published
737 from the government. I find it useful to have a clear use case in
738 mind when developing, to make sure the system scratches one of my
739 itches.</p>
740
741 <p>If you would like to help make sure there is a free software
742 alternatives for the archives, please join our IRC channel
743 (<a href="irc://irc.freenode.net/%23nikita">#nikita on
744 irc.freenode.net</a>) and
745 <a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">the
746 project mailing list</a>.</p>
747
748 <p>When I got involved, the web service could store metadata about
749 documents. But a few weeks ago, a new milestone was reached when it
750 became possible to store full text documents too. Yesterday, I
751 completed an implementation of a command line tool
752 <tt>archive-pdf</tt> to upload a PDF file to the archive using this
753 API. The tool is very simple at the moment, and find existing
754 <a href="https://en.wikipedia.org/wiki/Fonds">fonds</a>, series and
755 files while asking the user to select which one to use if more than
756 one exist. Once a file is identified, the PDF is associated with the
757 file and uploaded, using the title extracted from the PDF itself. The
758 process is fairly similar to visiting the archive, opening a cabinet,
759 locating a file and storing a piece of paper in the archive. Here is
760 a test run directly after populating the database with test data using
761 our API tester:</p>
762
763 <p><blockquote><pre>
764 ~/src//noark5-tester$ ./archive-pdf mangelmelding/mangler.pdf
765 using arkiv: Title of the test fonds created 2017-03-18T23:49:32.103446
766 using arkivdel: Title of the test series created 2017-03-18T23:49:32.103446
767
768 0 - Title of the test case file created 2017-03-18T23:49:32.103446
769 1 - Title of the test file created 2017-03-18T23:49:32.103446
770 Select which mappe you want (or search term): 0
771 Uploading mangelmelding/mangler.pdf
772 PDF title: Mangler i spesifikasjonsdokumentet for NOARK 5 Tjenestegrensesnitt
773 File 2017/1: Title of the test case file created 2017-03-18T23:49:32.103446
774 ~/src//noark5-tester$
775 </pre></blockquote></p>
776
777 <p>You can see here how the fonds (arkiv) and serie (arkivdel) only had
778 one option, while the user need to choose which file (mappe) to use
779 among the two created by the API tester. The <tt>archive-pdf</tt>
780 tool can be found in the git repository for the API tester.</p>
781
782 <p>In the project, I have been mostly working on
783 <a href="https://github.com/petterreinholdtsen/noark5-tester">the API
784 tester</a> so far, while getting to know the code base. The API
785 tester currently use
786 <a href="https://en.wikipedia.org/wiki/HATEOAS">the HATEOAS links</a>
787 to traverse the entire exposed service API and verify that the exposed
788 operations and objects match the specification, as well as trying to
789 create objects holding metadata and uploading a simple XML file to
790 store. The tester has proved very useful for finding flaws in our
791 implementation, as well as flaws in the reference site and the
792 specification.</p>
793
794 <p>The test document I uploaded is a summary of all the specification
795 defects we have collected so far while implementing the web service.
796 There are several unclear and conflicting parts of the specification,
797 and we have
798 <a href="https://github.com/petterreinholdtsen/noark5-tester/tree/master/mangelmelding">started
799 writing down</a> the questions we get from implementing it. We use a
800 format inspired by how <a href="http://www.opengroup.org/austin/">The
801 Austin Group</a> collect defect reports for the POSIX standard with
802 <a href="http://www.opengroup.org/austin/mantis.html">their
803 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> :).
804
805 <p>The Nikita project is implemented using Java and Spring, and is
806 fairly easy to get up and running using Docker containers for those
807 that want to test the current code base. The API tester is
808 implemented in Python.</p>
809
810 </div>
811 <div class="tags">
812
813
814 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>.
815
816
817 </div>
818 </div>
819 <div class="padding"></div>
820
821 <div class="entry">
822 <div class="title">
823 <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>
824 </div>
825 <div class="date">
826 29th January 2015
827 </div>
828 <div class="body">
829 <p>En ting jeg har lurt på når det gjelder offentlige postjournaler,
830 er hvor stor andel av det som ligger i de interne databasene kommer
831 ikke med i postjournalen. Dette er det mulig å finne ut basert på det
832 som ligger i postjournalen. For å forstå hva jeg mener, trengs det
833 litt bakgrunnsinformasjon. I henhold til
834 <a href="http://www.arkivverket.no/arkivverket/Offentleg-forvalting/Noark">NOARK-standarden</a>
835 for norske offentlige arkiv skal enhver sak ha et årstall og et
836 løpenummer, og ethvert dokument i saken skal gis et
837 dokument-løpenummer. Det vil si at en ender opp med dokument-ID som
838 ser ut som ÅÅÅÅ/SAKNR-DOKNR, f.eks. 2014/2-1 eller 2014/12312-14.
839 Mange oppgir kun tosifret årstall, men prinsippet er det samme. Så
840 vidt jeg vet skal saksnummer og dokumentnummer tildeles løpende og i
841 stigende rekkefølge. Gitt en instans med følgende dokument-ID i
842 postjournalen, så kan en regne ut hvor mye som ikke finnes i
843 journalen:
844
845 <ul>
846 <li>2014/2-1</li>
847 <li>2014/5-1</li>
848 <li>2014/5-3</li>
849 </ul>
850
851 <p>Her ser en at saksnummer 2 og 5 finnes i postjournalen, mens
852 nummerene 1, 3 og 4 mangler. En ser også at i sak 2014/5 mangler
853 dokument 2. Ved hjelp av denne informasjonen har jeg regnet ut hvor
854 stor andel av saksnummer og dokumentløpenummer som ikke har dukket opp
855 i <a href="https://www.oep.no/">Offentlig Elektronisk Postjournal</a>
856 (OEP). For saksnummer har jeg tatt utgangspunkt i at en ikke trenger
857 å starte på 1, og dermed regnet med området fra laveste til høyeste
858 saksnummer og talt antall unike saksnummer som forekommer i OEP. I
859 dette tilfellet betyr de at 2 av 4 saksnummer er ubrukte (50%). For
860 dokumentløpenummer har jeg tilsvarende tatt utgangspunkt i laveste og
861 høyeste kjente dokumentløpenummer, for å handtere databaser der jeg
862 mangler komplett postjournal. For sak 2014/5 her betyr det at 1 av 3
863 dokumenter mangler (33%).</p>
864
865 <p>Det er flere årsaker til at det kan bli hull i nummerseriene.
866 Feilføring der et dokument tildeles et nytt saksnummer ved en feil, og
867 deretter flyttes inn i riktig sak vil gi et ubrukt saksnummer, da
868 saksnummer skal tildeles i stigende rekkefølge og en ikke får opprette
869 nye saker innimellom gamle saker. Tilsvarende kan skje med
870 dokument-løpenummer. Det er jo heller ikke sikkert at et saksnummer i
871 OEP er det samme som løpenummeret som brukes som saksnummeret i
872 instansens interne datasystem. Kanskje snakker vi om ulike ontologier
873 der en delmengde av interne saksnummer tilsvarer saksnummer i OEP.
874 Hvis like nummer også tildeles andre ting enn saker som skal til OEP
875 vil en tilsvarende få «hull» i saksnumrene i postjournalen.</p>
876
877 <p>Jeg er litt usikker på hva denne statistikken egentlig viser, og
878 heller ikke sikker på om det er reelt sett mangler i OEP (som kanskje
879 kunne anses å være kritikkverdig), bare er resultatet av hendelige
880 uhell i nummertildelingen eller resultat av ulik ontologi i OEP og
881 instansens datasystem. Men jeg syntes tallene og variasjonen var så
882 interessant at jeg hadde lyst til å dele dem med mine lesere. Jeg har
883 sortert listen på prosent upubliserte saksnummer for 2014.</p>
884
885 <table border="1">
886 <tr><th colspan="6">Saksnummer</th><th colspan="3">Dokumentnummer</th><th rowspan="3">Instans</th></tr>
887 <tr><th colspan="3">2014</th><th colspan="3">2013</th><th colspan="3">2014</th></tr>
888 <tr><th>%</th><th>Upubl. saksnr.</th><th>Totalt</th>
889 <th>%</th><th>Upubl. saksnr</th><th>Totalt</th>
890 <th>%</th><th>Upubl. dok.nr.</th><th>Totalt</th>
891 </tr>
892
893 <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>
894 <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>
895 <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>
896 <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>
897 <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>
898 <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>
899 <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>
900 <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>
901 <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>
902 <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>
903 <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>
904 <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>
905 <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>
906 <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>
907 <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>
908 <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>
909 <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>
910 <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>
911 <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>
912 <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>
913 <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>
914 <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>
915 <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>
916 <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>
917 <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>
918 <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>
919 <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>
920 <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>
921 <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>
922 <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>
923 <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>
924 <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>
925 <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>
926 <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>
927 <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>
928 <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>
929 <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>
930 <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>
931 <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>
932 <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>
933 <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>
934 <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>
935 <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>
936 <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>
937 <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>
938 <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>
939 <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>
940 <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>
941 <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>
942 <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>
943 <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>
944 <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>
945 <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>
946 <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>
947 <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>
948 <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>
949 <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>
950 <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>
951 <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>
952 <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>
953 <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>
954 <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>
955 <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>
956 <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>
957 <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>
958 <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>
959 <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>
960 <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>
961 <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>
962 <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>
963 <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>
964 <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>
965 <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>
966 <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>
967 <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>
968 <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>
969 <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>
970 <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>
971 <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>
972 <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>
973 <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>
974 <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>
975 <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>
976 <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>
977 <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>
978 <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>
979 <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>
980 <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>
981 <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>
982 <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>
983 <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>
984 <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>
985 <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>
986 <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>
987 <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>
988 <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>
989 <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>
990 <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>
991 <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>
992 <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>
993 <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>
994 <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>
995 <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>
996 <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>
997 <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>
998 <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>
999 <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>
1000 <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>
1001 <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>
1002 <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>
1003 <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>
1004 <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>
1005 <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>
1006 <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>
1007 <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>
1008 <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>
1009 <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>
1010 <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>
1011
1012 </table>
1013
1014 <p>Det kunne vært interessant å se hva som skjedde hvis en ba om
1015 innsyn i en dokument-ID som ikke finnes i OEP... :) Det hadde også
1016 vært interessant å få vite hva årsaken til at noen saksnummer ikke
1017 dukker opp i OEP der det er få og mange. Jeg mistenker jo at årsaken
1018 ikke er den samme hos Skattedirektoratet og hos Landinfo, selv om
1019 andelen upubliserte nummer er ganske lik.</p>
1020
1021 </div>
1022 <div class="tags">
1023
1024
1025 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>.
1026
1027
1028 </div>
1029 </div>
1030 <div class="padding"></div>
1031
1032 <div class="entry">
1033 <div class="title">
1034 <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>
1035 </div>
1036 <div class="date">
1037 7th March 2014
1038 </div>
1039 <div class="body">
1040 <p>For noen uker siden ble NXCs fri programvarelisenserte
1041 NOARK5-løsning
1042 <a href="http://www.nuug.no/aktiviteter/20140211-noark/">presentert hos
1043 NUUG</a> (video
1044 <a href="https://www.youtube.com/watch?v=JCb_dNS3MHQ">på youtube
1045 foreløbig</a>), og det fikk meg til å titte litt mer på NOARK5,
1046 standarden for arkivhåndtering i det offentlige Norge. Jeg lurer på
1047 om denne kjernen kan være nyttig i et par av mine prosjekter, og for ett
1048 av dem er det mest aktuelt å lagre epost. Jeg klarte ikke finne noen
1049 anbefaling om hvordan RFC 822-formattert epost (aka Internett-epost)
1050 burde lagres i NOARK5, selv om jeg vet at noen arkiver tar
1051 PDF-utskrift av eposten med sitt epostprogram og så arkiverer PDF-en
1052 (eller enda værre, tar papirutskrift og lagrer bildet av eposten som
1053 PDF i arkivet).</p>
1054
1055 <p>Det er ikke så mange formater som er akseptert av riksarkivet til
1056 langtidsoppbevaring av offentlige arkiver, og PDF og XML er de mest
1057 aktuelle i så måte. Det slo meg at det måtte da finnes en eller annen
1058 egnet XML-representasjon og at det kanskje var enighet om hvilken som
1059 burde brukes, så jeg tok mot til meg og spurte
1060 <a href="http://samdok.com/">SAMDOK</a>, en gruppe tilknyttet
1061 arkivverket som ser ut til å jobbe med NOARK-samhandling, om de hadde
1062 noen anbefalinger:
1063
1064 <p><blockquote>
1065 <p>Hei.</p>
1066
1067 <p>Usikker på om dette er riktig forum å ta opp mitt spørsmål, men jeg
1068 lurer på om det er definert en anbefaling om hvordan RFC
1069 822-formatterte epost (aka vanlig Internet-epost) bør lages håndteres
1070 i NOARK5, slik at en bevarer all informasjon i eposten
1071 (f.eks. Received-linjer). Finnes det en anbefalt XML-mapping ala den
1072 som beskrives på
1073 &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
1074 mål er at det skal være mulig å lagre eposten i en NOARK5-kjerne og
1075 kunne få ut en identisk formattert kopi av opprinnelig epost ved
1076 behov.</p>
1077 </blockquote></p>
1078
1079 <p>Postmottaker hos SAMDOK mente spørsmålet heller burde stilles
1080 direkte til riksarkivet, og jeg fikk i dag svar derfra formulert av
1081 seniorrådgiver Geir Ivar Tungesvik:</p>
1082
1083 <p><blockquote>
1084 <p>Riksarkivet har ingen anbefalinger når det gjelder konvertering fra
1085 e-post til XML. Det står arkivskaper fritt å eventuelt definere/bruke
1086 eget format. Inklusive da - som det spørres om - et format der det er
1087 mulig å re-etablere e-post format ut fra XML-en. XML (e-post)
1088 dokumenter må være referert i arkivstrukturen, og det må vedlegges et
1089 gyldig XML skjema (.xsd) for XML-filene. Arkivskaper står altså fritt
1090 til å gjøre hva de vil, bare det dokumenteres og det kan dannes et
1091 utrekk ved avlevering til depot.</p>
1092
1093 <p>De obligatoriske kravene i Noark 5 standarden må altså oppfylles -
1094 etter dialog med Riksarkivet i forbindelse med godkjenning. For
1095 offentlige arkiv er det særlig viktig med filene loependeJournal.xml
1096 og offentligJournal.xml. Private arkiv som vil forholde seg til Noark
1097 5 standarden er selvsagt frie til å bruke det som er relevant for dem
1098 av obligatoriske krav.</p>
1099 </blockquote></p>
1100
1101 <p>Det ser dermed ut for meg som om det er et lite behov for å
1102 standardisere XML-lagring av RFC-822-formatterte meldinger. Noen som
1103 vet om god spesifikasjon i så måte? I tillegg til den omtalt over,
1104 har jeg kommet over flere aktuelle beskrivelser (søk på "rfc 822
1105 xml", så finner du aktuelle alternativer).</p>
1106
1107 <ul>
1108
1109 <li><a href="http://www.openhealth.org/xmtp/">XML MIME Transformation
1110 protocol (XMTP)</a> fra OpenHealth, sist oppdatert 2001.</li>
1111
1112 <li><a href="https://tools.ietf.org/html/draft-klyne-message-rfc822-xml-03">An
1113 XML format for mail and other messages</a> utkast fra IETF datert
1114 2001.</li>
1115
1116 <li><a href="http://www.informit.com/articles/article.aspx?p=32074">xMail:
1117 E-mail as XML</a> en artikkel fra 2003 som beskriver python-modulen
1118 rfc822 som gir ut XML-representasjon av en RFC 822-formattert epost.</li>
1119
1120 </ul>
1121
1122 <p>Finnes det andre og bedre spesifikasjoner for slik lagring? Send
1123 meg en epost hvis du har innspill.</p>
1124
1125 </div>
1126 <div class="tags">
1127
1128
1129 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>.
1130
1131
1132 </div>
1133 </div>
1134 <div class="padding"></div>
1135
1136 <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>
1137 <div id="sidebar">
1138
1139
1140
1141 <h2>Archive</h2>
1142 <ul>
1143
1144 <li>2019
1145 <ul>
1146
1147 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/01/">January (4)</a></li>
1148
1149 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/02/">February (3)</a></li>
1150
1151 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/03/">March (1)</a></li>
1152
1153 </ul></li>
1154
1155 <li>2018
1156 <ul>
1157
1158 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/01/">January (1)</a></li>
1159
1160 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/02/">February (5)</a></li>
1161
1162 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/03/">March (5)</a></li>
1163
1164 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/04/">April (3)</a></li>
1165
1166 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/06/">June (2)</a></li>
1167
1168 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/07/">July (5)</a></li>
1169
1170 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/08/">August (3)</a></li>
1171
1172 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/09/">September (3)</a></li>
1173
1174 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/10/">October (5)</a></li>
1175
1176 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/11/">November (2)</a></li>
1177
1178 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/12/">December (4)</a></li>
1179
1180 </ul></li>
1181
1182 <li>2017
1183 <ul>
1184
1185 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/01/">January (4)</a></li>
1186
1187 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/02/">February (3)</a></li>
1188
1189 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/03/">March (5)</a></li>
1190
1191 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/04/">April (2)</a></li>
1192
1193 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/06/">June (5)</a></li>
1194
1195 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/07/">July (1)</a></li>
1196
1197 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/08/">August (1)</a></li>
1198
1199 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/09/">September (3)</a></li>
1200
1201 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/10/">October (5)</a></li>
1202
1203 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/11/">November (3)</a></li>
1204
1205 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/12/">December (4)</a></li>
1206
1207 </ul></li>
1208
1209 <li>2016
1210 <ul>
1211
1212 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/01/">January (3)</a></li>
1213
1214 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/02/">February (2)</a></li>
1215
1216 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/03/">March (3)</a></li>
1217
1218 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/04/">April (8)</a></li>
1219
1220 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/05/">May (8)</a></li>
1221
1222 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/06/">June (2)</a></li>
1223
1224 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/07/">July (2)</a></li>
1225
1226 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/08/">August (5)</a></li>
1227
1228 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/09/">September (2)</a></li>
1229
1230 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/10/">October (3)</a></li>
1231
1232 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/11/">November (8)</a></li>
1233
1234 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/12/">December (5)</a></li>
1235
1236 </ul></li>
1237
1238 <li>2015
1239 <ul>
1240
1241 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/01/">January (7)</a></li>
1242
1243 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/02/">February (6)</a></li>
1244
1245 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/03/">March (1)</a></li>
1246
1247 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/04/">April (4)</a></li>
1248
1249 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/05/">May (3)</a></li>
1250
1251 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/06/">June (4)</a></li>
1252
1253 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/07/">July (6)</a></li>
1254
1255 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/08/">August (2)</a></li>
1256
1257 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/09/">September (2)</a></li>
1258
1259 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/10/">October (9)</a></li>
1260
1261 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/11/">November (6)</a></li>
1262
1263 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/12/">December (3)</a></li>
1264
1265 </ul></li>
1266
1267 <li>2014
1268 <ul>
1269
1270 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
1271
1272 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
1273
1274 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
1275
1276 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
1277
1278 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
1279
1280 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
1281
1282 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
1283
1284 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
1285
1286 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
1287
1288 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/10/">October (6)</a></li>
1289
1290 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/11/">November (3)</a></li>
1291
1292 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/12/">December (5)</a></li>
1293
1294 </ul></li>
1295
1296 <li>2013
1297 <ul>
1298
1299 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
1300
1301 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
1302
1303 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
1304
1305 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
1306
1307 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
1308
1309 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
1310
1311 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
1312
1313 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
1314
1315 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
1316
1317 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
1318
1319 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
1320
1321 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
1322
1323 </ul></li>
1324
1325 <li>2012
1326 <ul>
1327
1328 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
1329
1330 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
1331
1332 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
1333
1334 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
1335
1336 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
1337
1338 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
1339
1340 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
1341
1342 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
1343
1344 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
1345
1346 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
1347
1348 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
1349
1350 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
1351
1352 </ul></li>
1353
1354 <li>2011
1355 <ul>
1356
1357 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
1358
1359 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
1360
1361 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
1362
1363 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
1364
1365 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
1366
1367 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
1368
1369 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
1370
1371 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
1372
1373 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
1374
1375 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
1376
1377 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
1378
1379 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
1380
1381 </ul></li>
1382
1383 <li>2010
1384 <ul>
1385
1386 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
1387
1388 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
1389
1390 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
1391
1392 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
1393
1394 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
1395
1396 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
1397
1398 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
1399
1400 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
1401
1402 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
1403
1404 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
1405
1406 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
1407
1408 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
1409
1410 </ul></li>
1411
1412 <li>2009
1413 <ul>
1414
1415 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
1416
1417 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
1418
1419 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
1420
1421 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
1422
1423 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
1424
1425 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
1426
1427 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
1428
1429 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
1430
1431 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
1432
1433 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
1434
1435 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
1436
1437 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
1438
1439 </ul></li>
1440
1441 <li>2008
1442 <ul>
1443
1444 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
1445
1446 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
1447
1448 </ul></li>
1449
1450 </ul>
1451
1452
1453
1454 <h2>Tags</h2>
1455 <ul>
1456
1457 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (16)</a></li>
1458
1459 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
1460
1461 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
1462
1463 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
1464
1465 <li><a href="http://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (8)</a></li>
1466
1467 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (11)</a></li>
1468
1469 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (17)</a></li>
1470
1471 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
1472
1473 <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
1474
1475 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (167)</a></li>
1476
1477 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (158)</a></li>
1478
1479 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (4)</a></li>
1480
1481 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (11)</a></li>
1482
1483 <li><a href="http://people.skolelinux.org/pere/blog/tags/dld">dld (17)</a></li>
1484
1485 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (25)</a></li>
1486
1487 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
1488
1489 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (398)</a></li>
1490
1491 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
1492
1493 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (14)</a></li>
1494
1495 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (33)</a></li>
1496
1497 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (9)</a></li>
1498
1499 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (20)</a></li>
1500
1501 <li><a href="http://people.skolelinux.org/pere/blog/tags/h264">h264 (20)</a></li>
1502
1503 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (42)</a></li>
1504
1505 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (16)</a></li>
1506
1507 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (20)</a></li>
1508
1509 <li><a href="http://people.skolelinux.org/pere/blog/tags/kodi">kodi (4)</a></li>
1510
1511 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
1512
1513 <li><a href="http://people.skolelinux.org/pere/blog/tags/lego">lego (4)</a></li>
1514
1515 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
1516
1517 <li><a href="http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
1518
1519 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
1520
1521 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
1522
1523 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (42)</a></li>
1524
1525 <li><a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (11)</a></li>
1526
1527 <li><a href="http://people.skolelinux.org/pere/blog/tags/noark5">noark5 (10)</a></li>
1528
1529 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (305)</a></li>
1530
1531 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (192)</a></li>
1532
1533 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (35)</a></li>
1534
1535 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
1536
1537 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (73)</a></li>
1538
1539 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (108)</a></li>
1540
1541 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (2)</a></li>
1542
1543 <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
1544
1545 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
1546
1547 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
1548
1549 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (11)</a></li>
1550
1551 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
1552
1553 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (7)</a></li>
1554
1555 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
1556
1557 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (55)</a></li>
1558
1559 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
1560
1561 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
1562
1563 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (59)</a></li>
1564
1565 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (6)</a></li>
1566
1567 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (12)</a></li>
1568
1569 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (55)</a></li>
1570
1571 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (4)</a></li>
1572
1573 <li><a href="http://people.skolelinux.org/pere/blog/tags/usenix">usenix (2)</a></li>
1574
1575 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (9)</a></li>
1576
1577 <li><a href="http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (15)</a></li>
1578
1579 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (73)</a></li>
1580
1581 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
1582
1583 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (42)</a></li>
1584
1585 </ul>
1586
1587
1588 </div>
1589 <p style="text-align: right">
1590 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
1591 </p>
1592
1593 </body>
1594 </html>