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