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