1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" dir=
"ltr">
5 <meta http-equiv=
"Content-Type" content=
"text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: Entries Tagged noark5
</title>
7 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/vim.css" />
9 <link rel=
"alternate" title=
"RSS Feed" href=
"noark5.rss" type=
"application/rss+xml" />
14 <a href=
"http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
21 <h3>Entries tagged "noark5".
</h3>
25 <a href=
"http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html">MIME type "text/vnd.sosi" for SOSI map data
</a>
31 <p>As part of my involvement in the work to
32 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard">standardise
33 a REST based API for Noark
5</a>, the Norwegian archiving standard, I
34 spent some time the last few months to try to register a
35 <a href=
"https://www.iana.org/assignments/media-types/">MIME type
</a>
36 and
<a href=
"https://www.nationalarchives.gov.uk/PRONOM/">PRONOM
37 code
</a> for the SOSI file format. The background is that there is a
38 set of formats approved for long term storage and archiving in Norway,
39 and among these formats, SOSI is the only format missing a MIME type
42 <p>What is SOSI, you might ask? To quote Wikipedia: SOSI is short for
43 Samordnet Opplegg for Stedfestet Informasjon (literally "Coordinated
44 Approach for Spatial Information", but more commonly expanded in
45 English to Systematic Organization of Spatial Information). It is a
46 text based file format for geo-spatial vector information used in
47 Norway. Information about the SOSI format can be found in English
48 from
<a href=
"https://en.wikipedia.org/wiki/SOSI">Wikipedia
</a>. The
49 specification is available in Norwegian from
50 <a href=
"https://www.kartverket.no/geodataarbeid/Standarder/SOSI/">the
51 Norwegian mapping authority
</a>. The SOSI standard, which originated
52 in the beginning of ninety eighties, was the inspiration and formed the
53 basis for the XML based
54 <a href=
"https://en.wikipedia.org/wiki/Geography_Markup_Language">Geography
55 Markup Language
</a>.
</p>
57 <p>I have so far written
58 <a href=
"https://github.com/file/file/pull/67">a pattern matching
59 rule
</a> for the file(
1) unix tool to recognize SOSI files, submitted
60 a request to the PRONOM project to have a PRONOM ID assigned to the
61 format (reference TNA1555078202S60), and today send a request to IANA
62 to register the "text/vnd.sosi" MIME type for this format (referanse
63 <a href=
"https://tools.iana.org/public-view/viewticket/1143144">IANA
64 #
1143144</a>). If all go well, in a few months, anyone implementing
65 the Noark
5 Tjenestegrensesnitt API spesification should be able to
66 use an official MIME type and PRONOM code for SOSI files. In
67 addition, anyone using SOSI files on Linux should be able to
68 automatically recognise the format and web sites handing out SOSI
69 files can begin providing a more specific MIME type. So far, SOSI
70 files has been handed out from web sites using the
71 "application/octet-stream" MIME type, which is just a nice way of
72 stating "I do not know". Soon, we will know. :)
</p>
74 <p>As usual, if you use Bitcoin and want to show your support of my
75 activities, please send Bitcoin donations to my address
76 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
82 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>.
87 <div class=
"padding"></div>
91 <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>
97 <p>As part of my involvement with the
98 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
99 Noark
5 core project
</a>, I have been proposing improvements to the
100 API specification created by
<a href=
"https://www.arkivverket.no/">The
101 National Archives of Norway
</a> and helped migrating the text from a
102 version control system unfriendly binary format (docx) to Markdown in
103 git. Combined with the migration to a public git repository (on
104 github), this has made it possible for anyone to suggest improvement
107 <p>The specification is filled with UML diagrams. I believe the
108 original diagrams were modelled using Sparx Systems Enterprise
109 Architect, and exported as EMF files for import into docx. This
110 approach make it very hard to track changes using a version control
111 system. To improve the situation I have been looking for a good text
112 based UML format with associated command line free software tools on
113 Linux and Windows, to allow anyone to send in corrections to the UML
114 diagrams in the specification. The tool must be text based to work
115 with git, and command line to be able to run it automatically to
116 generate the diagram images. Finally, it must be free software to
117 allow anyone, even those that can not accept a non-free software
118 license, to contribute.
</p>
120 <p>I did not know much about free software UML modelling tools when I
121 started. I have used dia and inkscape for simple modelling in the
122 past, but neither are available on Windows, as far as I could tell. I
124 <a href=
"https://modeling-languages.com/text-uml-tools-complete-list/">list
125 of text mode uml tools
</a>, and tested out a few of the tools listed
126 there.
<a href=
"http://plantuml.com/">The PlantUML tool
</a> seemed
127 most promising. After verifying that the packages
128 <a href=
"https://tracker.debian.org/pkg/plantuml">is available in
129 Debian
</a> and found
<a href=
"https://github.com/plantuml/plantuml">its
130 Java source
</a> under a GPL license on github, I set out to test if it
131 could represent the diagrams we needed, ie the ones currently in
132 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">the
133 Noark
5 Tjenestegrensesnitt specification
</a>. I am happy to report
134 that it could represent them, even thought it have a few warts here
137 <p>After a few days of modelling I completed the task this weekend. A
138 temporary link to the complete set of diagrams (original and from
139 PlantUML) is available in
140 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/76">the
141 github issue discussing the need for a text based UML format
</a>, but
142 please note I lack a sensible tool to convert EMF files to PNGs, so
143 the "original" rendering is not as good as the original was in the
146 <p>Here is an example UML diagram, showing the core classes for
147 keeping metadata about archived documents:
</p>
151 skinparam classAttributeIconSize
0
153 !include media/uml-class-arkivskaper.iuml
154 !include media/uml-class-arkiv.iuml
155 !include media/uml-class-klassifikasjonssystem.iuml
156 !include media/uml-class-klasse.iuml
157 !include media/uml-class-arkivdel.iuml
158 !include media/uml-class-mappe.iuml
159 !include media/uml-class-merknad.iuml
160 !include media/uml-class-registrering.iuml
161 !include media/uml-class-basisregistrering.iuml
162 !include media/uml-class-dokumentbeskrivelse.iuml
163 !include media/uml-class-dokumentobjekt.iuml
164 !include media/uml-class-konvertering.iuml
165 !include media/uml-datatype-elektronisksignatur.iuml
167 Arkivstruktur.Arkivskaper "+arkivskaper
1..*"
<-o "+arkiv 0..*" Arkivstruktur.Arkiv
168 Arkivstruktur.Arkiv o-->
"+underarkiv 0..*" Arkivstruktur.Arkiv
169 Arkivstruktur.Arkiv
"+arkiv 1" o-->
"+arkivdel 0..*" Arkivstruktur.Arkivdel
170 Arkivstruktur.Klassifikasjonssystem
"+klassifikasjonssystem [0..1]" <--o
"+arkivdel 1..*" Arkivstruktur.Arkivdel
171 Arkivstruktur.Klassifikasjonssystem
"+klassifikasjonssystem [0..1]" o-->
"+klasse 0..*" Arkivstruktur.Klasse
172 Arkivstruktur.Arkivdel
"+arkivdel 0..1" o-->
"+mappe 0..*" Arkivstruktur.Mappe
173 Arkivstruktur.Arkivdel
"+arkivdel 0..1" o-->
"+registrering 0..*" Arkivstruktur.Registrering
174 Arkivstruktur.Klasse
"+klasse 0..1" o-->
"+mappe 0..*" Arkivstruktur.Mappe
175 Arkivstruktur.Klasse
"+klasse 0..1" o-->
"+registrering 0..*" Arkivstruktur.Registrering
176 Arkivstruktur.Mappe -->
"+undermappe 0..*" Arkivstruktur.Mappe
177 Arkivstruktur.Mappe
"+mappe 0..1" o-->
"+registrering 0..*" Arkivstruktur.Registrering
178 Arkivstruktur.Merknad
"+merknad 0..*" <--* Arkivstruktur.Mappe
179 Arkivstruktur.Merknad
"+merknad 0..*" <--* Arkivstruktur.Dokumentbeskrivelse
180 Arkivstruktur.Basisregistrering -|
> Arkivstruktur.Registrering
181 Arkivstruktur.Merknad "+merknad
0..*" <--* Arkivstruktur.Basisregistrering
182 Arkivstruktur.Registrering "+registrering
1..*" o--> "+dokumentbeskrivelse
0..*" Arkivstruktur.Dokumentbeskrivelse
183 Arkivstruktur.Dokumentbeskrivelse "+dokumentbeskrivelse
1" o-
> "+dokumentobjekt 0..*" Arkivstruktur.Dokumentobjekt
184 Arkivstruktur.Dokumentobjekt *-
> "+konvertering 0..*" Arkivstruktur.Konvertering
185 Arkivstruktur.ElektroniskSignatur -[hidden]-
> Arkivstruktur.Dokumentobjekt
189 <p><a href=
"http://plantuml.com/class-diagram">The format
</a> is quite
190 compact, with little redundant information. The text expresses
191 entities and relations, and there is little layout related fluff. One
192 can reuse content by using include files, allowing for consistent
193 naming across several diagrams. The include files can be standalone
194 PlantUML too. Here is the content of
195 <tt>media/uml-class-arkivskaper.iuml
<tt>:
</p>
199 class Arkivstruktur.Arkivskaper
<Arkivenhet> {
200 +arkivskaperID : string
201 +arkivskaperNavn : string
202 +beskrivelse : string [
0.
.1]
207 <p>This is what the complete diagram for the PlantUML notation above
210 <p><img width=
"80%" src=
"http://people.skolelinux.org/pere/blog/images/2019-03-25-noark5-plantuml-diagrameksempel.png"></p>
212 <p>A cool feature of PlantUML is that the generated PNG files include
213 the entire original source diagram as text. The source (with include
214 statements expanded) can be extracted using for example
215 <tt>exiftool
</tt>. Another cool feature is that parts of the entities
216 can be hidden after inclusion. This allow to use include files with
217 all attributes listed, even for UML diagrams that should not list any
220 <p>The diagram also show some of the warts. Some times the layout
221 engine place text labels on top of each other, and some times it place
222 the class boxes too close to each other, not leaving room for the
223 labels on the relationship arrows. The former can be worked around by
224 placing extra newlines in the labes (ie "\n"). I did not do it here
225 to be able to demonstrate the issue. I have not found a good way
226 around the latter, so I normally try to reduce the problem by changing
227 from vertical to horizontal links to improve the layout.
</p>
229 <p>All in all, I am quite happy with PlantUML, and very impressed with
230 how quickly its lead developer responds to questions. So far I got an
231 answer to my questions in a few hours when I send an email. I
232 definitely recommend looking at PlantUML if you need to make UML
233 diagrams. Note, PlantUML can draw a lot more than class relations.
234 Check out the documention for a complete list. :)
</p>
236 <p>As usual, if you use Bitcoin and want to show your support of my
237 activities, please send Bitcoin donations to my address
238 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
244 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>.
249 <div class=
"padding"></div>
253 <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>
259 <p>Yesterday, a new release of
260 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
261 Noark
5 core project
</a> was
262 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/2019-March/000451.html">announced
263 on the project mailing list
</a>. The free software solution is an
264 implementation of the Norwegian archive standard Noark
5 used by
265 government offices in Norway. These were the changes in version
0.3
266 since version
0.2.1 (from NEWS.md):
</p>
269 <li>Improved ClassificationSystem and Class behaviour.
</li>
270 <li>Tidied up known inconsistencies between domain model and hateaos links.
</li>
271 <li>Added experimental code for blockchain integration.
</li>
272 <li>Make token expiry time configurable at upstart from properties file.
</li>
273 <li>Continued work on OData search syntax.
</li>
274 <li>Started work on pagination for entities, partly implemented for Saksmappe.
</li>
275 <li>Finalise ClassifiedCode Metadata entity.
</li>
276 <li>Implement mechanism to check if authentication token is still
277 valid. This allow the GUI to return a more sensible message to the
278 user if the token is expired.
</li>
279 <li>Reintroduce browse.html page to allow user to browse JSON API using
281 <li>Fix bug in handling file/mappe sequence number. Year change was
282 not properly handled.
</li>
283 <li>Update application yml files to be in sync with current development.
</li>
284 <li>Stop 'converting' everything to PDF using libreoffice. Only
285 convert the file formats doc, ppt, xls, docx, pptx, xlsx, odt, odp
287 <li>Continued code style fixing, making code more readable.
</li>
288 <li>Minor bug fixes.
</li>
292 <p>If free and open standardized archiving API sound interesting to
293 you, please contact us on IRC
294 (
<a href=
"irc://irc.freenode.net/%23nikita">#nikita on
295 irc.freenode.net
</a>) or email
296 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
297 mailing list
</a>).
</p>
299 <p>As usual, if you use Bitcoin and want to show your support of my
300 activities, please send Bitcoin donations to my address
301 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
307 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>.
312 <div class=
"padding"></div>
316 <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>
322 <p>Et virksomhetsarkiv for meg, er et arbeidsverktøy der en enkelt kan
323 finne informasjonen en trenger når en trenger det, og der
324 virksomhetens samlede kunnskap er tilgjengelig. Det må være greit å
325 finne frem i, litt som en bibliotek. Men der et bibliotek gjerne tar
326 vare på offentliggjort informasjon som er tilgjengelig flere steder,
327 tar et arkiv vare på virksomhetsintern og til tider personlig
328 informasjon som ofte kun er tilgjengelig fra et sted.
</p>
330 <p>Jeg mistenker den eneste måten å sikre at arkivet inneholder den
331 samlede kunnskapen i en virksomhet, er å bruke det som virksomhetens
332 kunnskapslager. Det innebærer å automatisk kopiere (brev, epost,
333 SMS-er etc) inn i arkivet når de sendes og mottas, og der filtrere
334 vekk det en ikke vil ta vare på, og legge på metadata om det som er
335 samlet inn for enkel gjenfinning. En slik bruk av arkivet innebærer at
336 arkivet er en del av daglig virke, ikke at det er siste hvilested for
337 informasjon ingen lenger har daglig bruk for. For å kunne være en del
338 av det daglige virket må arkivet enkelt kunne integreres med andre
339 systemer. I disse dager betyr det å tilby arkivet som en
340 nett-tjeneste til hele virksomheten, tilgjengelig for både mennesker
341 og datamaskiner. Det betyr i tur å både tilby nettsider og et
342 maskinlesbart grensesnitt.
</p>
344 <p>For noen år siden erkjente visjonære arkivarer fordelene med et
345 standardisert maskinlesbart grensesnitt til organisasjonens arkiv. De
346 gikk igang med å lage noe de kalte
347 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">Noark
348 5 Tjenestegrensesnitt
</a>. Gjort riktig, så åpner slike maskinlesbare
349 grensesnitt for samvirke på tvers av uavhengige programvaresystemer.
350 Gjort feil, vil det blokkere for samvirke og bidra til
351 leverandørinnlåsing. For å gjøre det riktig så må grensesnittet være
352 klart og entydig beskrevet i en spesifikasjon som gjør at
353 spesifikasjonen tolkes på samme måte uavhengig av hvem som leser den,
354 og uavhengig av hvem som tar den i bruk.
</p>
356 <p>For å oppnå klare og entydige beskrivelser i en spesifikasjon, som
357 trengs for å kunne få en fri og åpen standard (se
358 <a href=
"http://people.skolelinux.org/pere/blog/Fri_og__pen_standard__slik_Digistan_ser_det.html">Digistan-definisjon
</a>),
359 så trengs det en åpen og gjennomsiktig inngangsport med lav terskel,
360 der de som forsøker å ta den i bruk enkelt kan få inn korreksjoner,
361 etterlyse klargjøringer og rapportere uklarheter i spesifikasjonen.
362 En trenger også automatiserte datasystemer som måler og sjekker at et
363 gitt grensesnitt fungerer i tråd med spesifikasjonen.
</p>
365 <p>For Noark
5 Tjenestegrensesnittet er det nå etablert en slik åpen
366 og gjennomsiktig inngangsport på prosjekttjenesten github. Denne
367 inngangsporten består først og fremst av en åpen portal som lar enhver
368 se hva som er gjort av endringer i spesifikasjonsteksten over tid, men
369 det hører også med et åpent
"diskusjonsforum
" der en kan
370 komme med endringsforslag og forespørsler om klargjøringer. Alle
371 registrerte brukere på github kan bidra med innspill til disse
374 <p>I samarbeide med Arkivverket har jeg fått opprettet et git-depot
375 med spesifikasjonsteksten for tjenestegrensesnittet, der det er lagt
376 inn historikk for endringer i teksten de siste årene, samt lagt inn
377 endringsforslag og forespørsler om klargjøring av teksten. Bakgrunnen
378 for at jeg bidro med dette er at jeg er involvert i
379 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core">Nikita-prosjektet
</a>,
380 som lager en fri programvare-utgave av Noark
5 Tjenestegrensesnitt.
381 Det er først når en forsøker å lage noe i tråd med en spesifikasjon at
382 en oppdager hvor mange detaljer som må beskrives i spesifikasjonen for
383 å sikre samhandling.
</p>
385 <p>Spesifikasjonen vedlikeholdes i et rent tekstformat, for å ha et
386 format egnet for versjonskontroll via versjontrollsystemet git. Dette
387 gjør det både enkelt å se konkret hvilke endringer som er gjort når,
388 samt gjør det praktisk mulig for enhver med github-konto å sende inn
389 endringsforslag med formuleringer til spesifikasjonsteksten. Dette
390 tekstformatet vises frem som nettsider på github, slik at en ikke
391 trenger spesielle verktøy for å se på siste utgave av
394 <p>Fra dette rene tekstformatet kan det så avledes ulike formater, som
395 HTML for websider, PDF for utskrift på papir og ePub for lesing med
396 ebokleser. Avlednings-systemet (byggesystemet) bruker i dag
397 verktøyene pandoc, latex, docbook-xsl og GNU make til
398 transformasjonen. Tekstformatet som brukes dag er
399 <a href=
"https://www.markdownguide.org/">Markdown
</a>, men det vurderes
401 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/9">endre
402 til formatet RST
</a> i fremtiden for bedre styring av utseende på
405 <p>Versjonskontrollsystemet git ble valgt da det er både fleksibelt,
406 avansert og enkelt å ta i bruk. Github ble valgt (foran f.eks. Gitlab
407 som vi bruker i Nikita), da Arkivverket allerede hadde tatt i bruk
408 Github i andre sammenhenger.
</p>
410 <p>Enkle endringer i teksten kan gjøres av priviligerte brukere
411 direkte i nettsidene til Github, ved å finne aktuell fil som skal
412 endres (f.eks. kapitler/
03-konformitet.md), klikke på den lille
413 bokstaven i høyre hjørne over teksten. Det kommer opp en nettside der
414 en kan endre teksten slik en ønsker. Når en er fornøyd med endringen
415 så må endringen
"sjekkes inn
" i historikken. Det gjøres ved
416 å gi en kort beskrivelse av endringen (beskriv helst hvorfor endringen
417 trengs, ikke hva som er endret), under overskriften
"Commit
418 changes
". En kan og bør legge inn en lengre forklaring i det
419 større skrivefeltet, før en velger om endringen skal sendes direkte
420 til 'master'-grenen (dvs. autorativ utgave av spesifikasjonen) eller
421 om en skal lage en ny gren for denne endringen og opprette en
422 endringsforespørsel (aka
"Pull Request
"/PR). NÃ¥r alt dette
423 er gjort kan en velge
"Commit changes
" for å sende inn
424 endringen. Hvis den er lagt inn i
"master
"-grenen så er den
425 en offisiell del av spesifikasjonen med en gang. Hvis den derimot er
426 en endringsforespørsel, så legges den inn i
427 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/pulls">listen
428 over forslag til endringer
</a> som venter på korrekturlesing og
431 <p>Større endringer (for eksempel samtidig endringer i flere filer)
432 gjøres enklest ved å hente ned en kopi av git-depoet lokalt og gjøre
433 endringene der før endringsforslaget sendes inn. Denne prosessen er
434 godt beskrivet i dokumentasjon fra github. Git-prosjektet som skal
435 "klones
" er
436 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
</a>.
</p>
438 <p>For å registrere nye utfordringer (issues) eller kommentere på
439 eksisterende utfordringer benyttes nettsiden
440 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues
</a>.
441 I skrivende stund er det
48 åpne og
11 avsluttede utfordringer. Et
442 forslag til hva som bør være med når en beskriver en utfordring er
443 tilgjengelig som utfordring
444 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/14">#
14</a>.
</p>
446 <p>For å bygge en PDF-utgave av spesifikasjonen så bruker jeg i dag en
447 Debian GNU/Linux-maskin med en rekke programpakker installert. NÃ¥r
448 dette er på plass, så holder det å kjøre kommandoen 'make pdf html' på
449 kommandolinjen, vente ca.
20 sekunder, før spesifikasjon.pdf og
450 spesifikasjon.html ligger klar på disken. Verktøyene for bygging av
451 PDF, HTML og ePub-utgave er også tilgjengelig på Windows og
454 <p>Github bidrar med rammeverket. Men for at åpent vedlikehold av
455 spesifikasjonen skal fungere, så trengs det folk som bidrar med sin
456 tid og kunnskap. Arkivverket har sagt de skal bidra med innspill og
457 godkjenne forslag til endringer, men det blir størst suksess hvis alle
458 som bruker og lager systemer basert på Noark
5 Tjenestegrensesnitt
459 bidrar med sin kunnskap og kommer med forslag til forebedringer. Jeg
460 stiller. Blir du med?
</p>
462 <p>Det er viktig å legge til rette for åpen diskusjon blant alle
463 interesserte, som ikke krever at en må godta lange kontrakter med
464 vilkår for deltagelse. Inntil Arkivverket dukker opp på IRC har vi
465 laget en IRC-kanal der interesserte enkelt kan orientere seg og
466 diskutere tjenestegrensesnittet. Alle er velkommen til å ta turen
468 <a href=
"https://webchat.freenode.net/?channels=nikita">#nikita
</a>
469 (f.eks. via irc.freenode.net) for å møte likesinnede.
</p>
471 <p>Det holder dog ikke å ha en god spesifikasjon, hvis ikke de som tar
472 den i bruk gjør en like god jobb. For å automatisk teste om et konkret
473 tjenestegrensesnitt følger (min) forståelse av
474 spesifikasjonsdokumentet, har jeg skrevet et program som kobler seg
475 opp til et Noark
5v4 REST-tjeneste og tester alt den finner for å se
476 om det er i henhold til min tolkning av spesifikasjonen. Dette
477 verktøyet er tilgjengelig fra
478 <a href=
"https://github.com/petterreinholdtsen/noark5-tester">https://github.com/petterreinholdtsen/noark5-tester
</a>,
479 og brukes daglig mens vi utvikler Nikita for å sikre at vi ikke
480 introduserer nye feil. Hvis en skal sikre samvirke på tvers av ulike
481 systemer er det helt essensielt å kunne raskt og automatisk sjekke at
482 tjenestegrensesnittet oppfører seg som forventet. Jeg håper andre som
483 lager sin utgave av tjenestegrensesnittet vi bruke dette verktøyet,
484 slik at vi tidlig og raskt kan oppdage hvor vi har tolket
485 spesifikasjonen ulikt, og dermed få et godt grunnlag for å gjøre
486 spesifikasjonsteksten enda klarere og bedre.
</p>
488 <p>Dagens beskrivelse av Noark
5 Tjenestegrensesnitt er et svært godt
489 utgangspunkt for å gjøre virksomhetens arkiv til et dynamisk og
490 sentralt arbeidsverktøy i organisasjonen. Blir du med å gjøre den
497 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>.
502 <div class=
"padding"></div>
506 <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>
512 <p>As part of my involvement in
513 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core">the Nikita
514 archive API project
</a>, I've been importing a fairly large lump of
515 emails into a test instance of the archive to see how well this would
516 go. I picked a subset of
<a href=
"https://notmuchmail.org/">my
517 notmuch email database
</a>, all public emails sent to me via
518 @lists.debian.org, giving me a set of around
216 000 emails to import.
519 In the process, I had a look at the various attachments included in
520 these emails, to figure out what to do with attachments, and noticed
521 that one of the most common attachment formats do not have
522 <a href=
"https://www.iana.org/assignments/media-types/media-types.xhtml">an
523 official MIME type
</a> registered with IANA/IETF. The output from
524 diff, ie the input for patch, is on the top
10 list of formats
525 included in these emails. At the moment people seem to use either
526 text/x-patch or text/x-diff, but neither is officially registered. It
527 would be better if one official MIME type were registered and used
530 <p>To try to get one official MIME type for these files, I've brought
532 <a href=
"https://www.ietf.org/mailman/listinfo/media-types">the
533 media-types mailing list
</a>. If you are interested in discussion
534 which MIME type to use as the official for patch files, or involved in
535 making software using a MIME type for patches, perhaps you would like
536 to join the discussion?
</p>
538 <p>As usual, if you use Bitcoin and want to show your support of my
539 activities, please send Bitcoin donations to my address
540 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
546 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>.
551 <div class=
"padding"></div>
555 <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>
561 <p>This morning, the new release of the
562 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
563 Noark
5 core project
</a> was
564 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/2018-October/000406.html">announced
565 on the project mailing list
</a>. The free software solution is an
566 implementation of the Norwegian archive standard Noark
5 used by
567 government offices in Norway. These were the changes in version
0.2
568 since version
0.1.1 (from NEWS.md):
571 <li>Fix typos in REL names
</li>
572 <li>Tidy up error message reporting
</li>
573 <li>Fix issue where we used Integer.valueOf(), not Integer.getInteger()
</li>
574 <li>Change some String handling to StringBuffer
</li>
575 <li>Fix error reporting
</li>
576 <li>Code tidy-up
</li>
577 <li>Fix issue using static non-synchronized SimpleDateFormat to avoid
579 <li>Fix problem where deserialisers were treating integers as strings
</li>
580 <li>Update methods to make them null-safe
</li>
581 <li>Fix many issues reported by coverity
</li>
582 <li>Improve equals(), compareTo() and hash() in domain model
</li>
583 <li>Improvements to the domain model for metadata classes
</li>
584 <li>Fix CORS issues when downloading document
</li>
585 <li>Implementation of case-handling with registryEntry and document upload
</li>
586 <li>Better support in Javascript for OPTIONS
</li>
587 <li>Adding concept description of mail integration
</li>
588 <li>Improve setting of default values for GET on ny-journalpost
</li>
589 <li>Better handling of required values during deserialisation
</li>
590 <li>Changed tilknyttetDato (M620) from date to dateTime
</li>
591 <li>Corrected some opprettetDato (M600) (de)serialisation errors.
</li>
592 <li>Improve parse error reporting.
</li>
593 <li>Started on OData search and filtering.
</li>
594 <li>Added Contributor Covenant Code of Conduct to project.
</li>
595 <li>Moved repository and project from Github to Gitlab.
</li>
596 <li>Restructured repository, moved code into src/ and web/.
</li>
597 <li>Updated code to use Spring Boot version
2.
</li>
598 <li>Added support for OAuth2 authentication.
</li>
599 <li>Fixed several bugs discovered by Coverity.
</li>
600 <li>Corrected handling of date/datetime fields.
</li>
601 <li>Improved error reporting when rejecting during deserializatoin.
</li>
602 <li>Adjusted default values provided for ny-arkivdel, ny-mappe,
603 ny-saksmappe, ny-journalpost and ny-dokumentbeskrivelse.
</li>
604 <li>Several fixes for korrespondansepart*.
</li>
607 <li>Now handle both file upload and download.
</li>
608 <li>Uses new OAuth2 authentication for login.
</li>
609 <li>Forms now fetches default values from API using GET.
</li>
610 <li>Added RFC
822 (email), TIFF and JPEG to list of possible file formats.
</li>
614 <p>The changes and improvements are extensive. Running diffstat on
615 the changes between git tab
0.1.1 and
0.2 show
1098 files changed,
616 108666 insertions(+),
54066 deletions(-).
</p>
618 <p>If free and open standardized archiving API sound interesting to
619 you, please contact us on IRC
620 (
<a href=
"irc://irc.freenode.net/%23nikita">#nikita on
621 irc.freenode.net
</a>) or email
622 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
623 mailing list
</a>).
</p>
625 <p>As usual, if you use Bitcoin and want to show your support of my
626 activities, please send Bitcoin donations to my address
627 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
633 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>.
638 <div class=
"padding"></div>
642 <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>
648 <p>I have earlier covered the basics of trusted timestamping using the
649 'openssl ts' client. See blog post for
650 <a href=
"http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html">2014</a>,
651 <a href=
"http://people.skolelinux.org/pere/blog/syslog_trusted_timestamp___chain_of_trusted_timestamps_for_your_syslog.html">2016</a>
653 <a href=
"http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html">2017</a>
654 for those stories. But some times I want to integrate the timestamping
655 in other code, and recently I needed to integrate it into Python.
656 After searching a bit, I found
657 <a href=
"https://dev.entrouvert.org/projects/python-rfc3161">the
658 rfc3161 library
</a> which seemed like a good fit, but I soon
659 discovered it only worked for python version
2, and I needed something
660 that work with python version
3. Luckily I next came across
661 <a href=
"https://github.com/trbs/rfc3161ng/">the rfc3161ng library
</a>,
662 a fork of the original rfc3161 library. Not only is it working with
663 python
3, it have fixed a few of the bugs in the original library, and
664 it has an active maintainer. I decided to wrap it up and make it
665 <a href=
"https://tracker.debian.org/pkg/python-rfc3161ng">available in
666 Debian
</a>, and a few days ago it entered Debian unstable and testing.
</p>
668 <p>Using the library is fairly straight forward. The only slightly
669 problematic step is to fetch the required certificates to verify the
670 timestamp. For some services it is straight forward, while for others
671 I have not yet figured out how to do it. Here is a small standalone
672 code example based on of the integration tests in the library code:
</p>
679 Python
3 script demonstrating how to use the rfc3161ng module to
680 get trusted timestamps.
682 The license of this code is the same as the license of the rfc3161ng
688 import pyasn1.codec.der
692 import urllib.request
699 def fetch(url, f=None):
700 response = urllib.request.urlopen(url)
701 data = response.read()
707 with tempfile.NamedTemporaryFile() as cert_f,\
708 tempfile.NamedTemporaryFile() as ca_f,\
709 tempfile.NamedTemporaryFile() as msg_f,\
710 tempfile.NamedTemporaryFile() as tsr_f:
712 # First fetch certificates used by service
713 certificate_data = fetch('https://freetsa.org/files/tsa.crt', cert_f)
714 ca_data_data = fetch('https://freetsa.org/files/cacert.pem', ca_f)
716 # Then timestamp the message
718 rfc3161ng.RemoteTimestamper('http://freetsa.org/tsr',
719 certificate=certificate_data)
720 data = b"Python forever!\n"
721 tsr = timestamper(data=data, return_tsr=True)
723 # Finally, convert message and response to something 'openssl ts' can verify
725 store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
726 args = ["openssl", "ts", "-verify",
729 "-CAfile", ca_f.name,
730 "-untrusted", cert_f.name]
731 subprocess.check_call(args)
733 if '__main__' == __name__:
737 <p>The code fetches the required certificates, store them as temporary
738 files, timestamp a simple message, store the message and timestamp to
739 disk and ask 'openssl ts' to verify the timestamp. A timestamp is
740 around
1.5 kiB in size, and should be fairly easy to store for future
743 <p>As usual, if you use Bitcoin and want to show your support of my
744 activities, please send Bitcoin donations to my address
745 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
751 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>.
756 <div class=
"padding"></div>
760 <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>
766 <p>I am very happy to report that the
767 <a href=
"https://github.com/hiOA-ABI/nikita-noark5-core">Nikita Noark
5
768 core project
</a> tagged its second release today. The free software
769 solution is an implementation of the Norwegian archive standard Noark
770 5 used by government offices in Norway. These were the changes in
771 version
0.1.1 since version
0.1.0 (from NEWS.md):
775 <li>Continued work on the angularjs GUI, including document upload.
</li>
776 <li>Implemented correspondencepartPerson, correspondencepartUnit and
777 correspondencepartInternal
</li>
778 <li>Applied for coverity coverage and started submitting code on
780 <li>Started fixing bugs reported by coverity
</li>
781 <li>Corrected and completed HATEOAS links to make sure entire API is
782 available via URLs in _links.
</li>
783 <li>Corrected all relation URLs to use trailing slash.
</li>
784 <li>Add initial support for storing data in ElasticSearch.
</li>
785 <li>Now able to receive and store uploaded files in the archive.
</li>
786 <li>Changed JSON output for object lists to have relations in _links.
</li>
787 <li>Improve JSON output for empty object lists.
</li>
788 <li>Now uses correct MIME type application/vnd.noark5-v4+json.
</li>
789 <li>Added support for docker container images.
</li>
790 <li>Added simple API browser implemented in JavaScript/Angular.
</li>
791 <li>Started on archive client implemented in JavaScript/Angular.
</li>
792 <li>Started on prototype to show the public mail journal.
</li>
793 <li>Improved performance by disabling Sprint FileWatcher.
</li>
794 <li>Added support for 'arkivskaper', 'saksmappe' and 'journalpost'.
</li>
795 <li>Added support for some metadata codelists.
</li>
796 <li>Added support for Cross-origin resource sharing (CORS).
</li>
797 <li>Changed login method from Basic Auth to JSON Web Token (RFC
7519)
799 <li>Added support for GET-ing ny-* URLs.
</li>
800 <li>Added support for modifying entities using PUT and eTag.
</li>
801 <li>Added support for returning XML output on request.
</li>
802 <li>Removed support for English field and class names, limiting ourself
803 to the official names.
</li>
808 <p>If this sound interesting to you, please contact us on IRC (#nikita
809 on irc.freenode.net) or email
810 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
817 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>.
822 <div class=
"padding"></div>
826 <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>
832 <p><em>This is a copy of
833 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/2017-June/000297.html">an
834 email I posted to the nikita-noark mailing list
</a>. Please follow up
835 there if you would like to discuss this topic. The background is that
836 we are making a free software archive system based on the Norwegian
837 <a href=
"https://www.arkivverket.no/forvaltning-og-utvikling/regelverk-og-standarder/noark-standarden">Noark
838 5 standard
</a> for government archives.
</em></p>
840 <p>I've been wondering a bit lately how trusted timestamps could be
842 <a href=
"https://en.wikipedia.org/wiki/Trusted_timestamping">Trusted
843 timestamps
</a> can be used to verify that some information
844 (document/file/checksum/metadata) have not been changed since a
845 specific time in the past. This is useful to verify the integrity of
846 the documents in the archive.
</p>
848 <p>Then it occured to me, perhaps the trusted timestamps could be
849 stored as dokument variants (ie dokumentobjekt referered to from
850 dokumentbeskrivelse) with the filename set to the hash it is
853 <p>Given a "dokumentbeskrivelse" with an associated "dokumentobjekt",
854 a new dokumentobjekt is associated with "dokumentbeskrivelse" with the
855 same attributes as the stamped dokumentobjekt except these
860 <li>format -
> "RFC3161"
861 <li>mimeType -
> "application/timestamp-reply"
862 <li>formatDetaljer -
> "<source URL for timestamp service>"
863 <li>filenavn -
> "<sjekksum>.tsr"
867 <p>This assume a service following
868 <a href=
"https://tools.ietf.org/html/rfc3161">IETF RFC
3161</a> is
869 used, which specifiy the given MIME type for replies and the .tsr file
870 ending for the content of such trusted timestamp. As far as I can
871 tell from the Noark
5 specifications, it is OK to have several
872 variants/renderings of a dokument attached to a given
873 dokumentbeskrivelse objekt. It might be stretching it a bit to make
874 some of these variants represent crypto-signatures useful for
875 verifying the document integrity instead of representing the dokument
878 <p>Using the source of the service in formatDetaljer allow several
879 timestamping services to be used. This is useful to spread the risk
880 of key compromise over several organisations. It would only be a
881 problem to trust the timestamps if all of the organisations are
884 <p>The following oneliner on Linux can be used to generate the tsr
885 file. $input is the path to the file to checksum, and $sha256 is the
886 SHA-
256 checksum of the file (ie the "
<sjekksum>.tsr" value mentioned
890 openssl ts -query -data "$inputfile" -cert -sha256 -no_nonce \
891 | curl -s -H "Content-Type: application/timestamp-query" \
892 --data-binary "@-" http://zeitstempel.dfn.de
> $sha256.tsr
893 </pre></blockquote></p>
895 <p>To verify the timestamp, you first need to download the public key
896 of the trusted timestamp service, for example using this command:
</p>
899 wget -O ca-cert.txt \
900 https://pki.pca.dfn.de/global-services-ca/pub/cacert/chain.txt
901 </pre></blockquote></p>
903 <p>Note, the public key should be stored alongside the timestamps in
904 the archive to make sure it is also available
100 years from now. It
905 is probably a good idea to standardise how and were to store such
906 public keys, to make it easier to find for those trying to verify
907 documents
100 or
1000 years from now. :)
</p>
909 <p>The verification itself is a simple openssl command:
</p>
912 openssl ts -verify -data $inputfile -in $sha256.tsr \
913 -CAfile ca-cert.txt -text
914 </pre></blockquote></p>
916 <p>Is there any reason this approach would not work? Is it somehow against
917 the Noark
5 specification?
</p>
923 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>.
928 <div class=
"padding"></div>
932 <a href=
"http://people.skolelinux.org/pere/blog/Epost_inn_som_arkivformat_i_Riksarkivarens_forskrift_.html">Epost inn som arkivformat i Riksarkivarens forskrift?
</a>
938 <p>I disse dager, med frist
1. mai, har Riksarkivaren ute en høring på
939 sin forskrift. Som en kan se er det ikke mye tid igjen før fristen
940 som går ut på søndag. Denne forskriften er det som lister opp hvilke
941 formater det er greit å arkivere i
942 <a href=
"http://www.arkivverket.no/arkivverket/Offentleg-forvalting/Noark/Noark-5">Noark
943 5-løsninger
</a> i Norge.
</p>
945 <p>Jeg fant høringsdokumentene hos
946 <a href=
"https://www.arkivrad.no/aktuelt/riksarkivarens-forskrift-pa-horing">Norsk
947 Arkivråd
</a> etter å ha blitt tipset på epostlisten til
948 <a href=
"https://github.com/hiOA-ABI/nikita-noark5-core">fri
949 programvareprosjektet Nikita Noark5-Core
</a>, som lager et Noark
5
950 Tjenestegresesnitt. Jeg er involvert i Nikita-prosjektet og takket
951 være min interesse for tjenestegrensesnittsprosjektet har jeg lest en
952 god del Noark
5-relaterte dokumenter, og til min overraskelse oppdaget
953 at standard epost ikke er på listen over godkjente formater som kan
954 arkiveres. Høringen med frist søndag er en glimrende mulighet til å
955 forsøke å gjøre noe med det. Jeg holder på med
956 <a href=
"https://github.com/petterreinholdtsen/noark5-tester/blob/master/docs/hoering-arkivforskrift.tex">egen
957 høringsuttalelse
</a>, og lurer på om andre er interessert i å støtte
958 forslaget om å tillate arkivering av epost som epost i arkivet.
</p>
960 <p>Er du igang med å skrive egen høringsuttalelse allerede? I så fall
961 kan du jo vurdere å ta med en formulering om epost-lagring. Jeg tror
962 ikke det trengs så mye. Her et kort forslag til tekst:
</p>
966 <p>Viser til høring sendt ut
2017-
02-
17 (Riksarkivarens referanse
967 2016/
9840 HELHJO), og tillater oss å sende inn noen innspill om
968 revisjon av Forskrift om utfyllende tekniske og arkivfaglige
969 bestemmelser om behandling av offentlige arkiver (Riksarkivarens
972 <p>Svært mye av vår kommuikasjon foregår i dag på e-post. Vi
973 foreslår derfor at Internett-e-post, slik det er beskrevet i IETF
975 <a href=
"https://tools.ietf.org/html/rfc5322">https://tools.ietf.org/html/rfc5322
</a>. bør
976 inn som godkjent dokumentformat. Vi foreslår at forskriftens
977 oversikt over godkjente dokumentformater ved innlevering i §
5-
16
978 endres til å ta med Internett-e-post.
</p>
982 <p>Som del av arbeidet med tjenestegrensesnitt har vi testet hvordan
983 epost kan lagres i en Noark
5-struktur, og holder på å skrive et
984 forslag om hvordan dette kan gjøres som vil bli sendt over til
985 arkivverket så snart det er ferdig. De som er interesserte kan
986 <a href=
"https://github.com/petterreinholdtsen/noark5-tester/blob/master/docs/epostlagring.md">følge
987 fremdriften på web
</a>.
</p>
989 <p>Oppdatering
2017-
04-
28: I dag ble høringuttalelsen jeg skrev
990 <a href=
"https://www.nuug.no/news/NUUGs_h_ringuttalelse_til_Riksarkivarens_forskrift.shtml">sendt
991 inn av foreningen NUUG
</a>.
</p>
997 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>.
1002 <div class=
"padding"></div>
1006 <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>
1012 <p>The
<a href=
"https://github.com/hiOA-ABI/nikita-noark5-core">Nikita
1013 Noark
5 core project
</a> is implementing the Norwegian standard for
1014 keeping an electronic archive of government documents.
1015 <a href=
"http://www.arkivverket.no/arkivverket/Offentlig-forvaltning/Noark/Noark-5/English-version">The
1016 Noark
5 standard
</a> document the requirement for data systems used by
1017 the archives in the Norwegian government, and the Noark
5 web interface
1018 specification document a REST web service for storing, searching and
1019 retrieving documents and metadata in such archive. I've been involved
1020 in the project since a few weeks before Christmas, when the Norwegian
1022 <a href=
"https://www.nuug.no/news/NOARK5_kjerne_som_fri_programvare_f_r_epostliste_hos_NUUG.shtml">announced
1023 it supported the project
</a>. I believe this is an important project,
1024 and hope it can make it possible for the government archives in the
1025 future to use free software to keep the archives we citizens depend
1026 on. But as I do not hold such archive myself, personally my first use
1027 case is to store and analyse public mail journal metadata published
1028 from the government. I find it useful to have a clear use case in
1029 mind when developing, to make sure the system scratches one of my
1032 <p>If you would like to help make sure there is a free software
1033 alternatives for the archives, please join our IRC channel
1034 (
<a href=
"irc://irc.freenode.net/%23nikita">#nikita on
1035 irc.freenode.net
</a>) and
1036 <a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark">the
1037 project mailing list
</a>.
</p>
1039 <p>When I got involved, the web service could store metadata about
1040 documents. But a few weeks ago, a new milestone was reached when it
1041 became possible to store full text documents too. Yesterday, I
1042 completed an implementation of a command line tool
1043 <tt>archive-pdf
</tt> to upload a PDF file to the archive using this
1044 API. The tool is very simple at the moment, and find existing
1045 <a href=
"https://en.wikipedia.org/wiki/Fonds">fonds
</a>, series and
1046 files while asking the user to select which one to use if more than
1047 one exist. Once a file is identified, the PDF is associated with the
1048 file and uploaded, using the title extracted from the PDF itself. The
1049 process is fairly similar to visiting the archive, opening a cabinet,
1050 locating a file and storing a piece of paper in the archive. Here is
1051 a test run directly after populating the database with test data using
1054 <p><blockquote><pre>
1055 ~/src//noark5-tester$ ./archive-pdf mangelmelding/mangler.pdf
1056 using arkiv: Title of the test fonds created
2017-
03-
18T23:
49:
32.103446
1057 using arkivdel: Title of the test series created
2017-
03-
18T23:
49:
32.103446
1059 0 - Title of the test case file created
2017-
03-
18T23:
49:
32.103446
1060 1 - Title of the test file created
2017-
03-
18T23:
49:
32.103446
1061 Select which mappe you want (or search term):
0
1062 Uploading mangelmelding/mangler.pdf
1063 PDF title: Mangler i spesifikasjonsdokumentet for NOARK
5 Tjenestegrensesnitt
1064 File
2017/
1: Title of the test case file created
2017-
03-
18T23:
49:
32.103446
1065 ~/src//noark5-tester$
1066 </pre></blockquote></p>
1068 <p>You can see here how the fonds (arkiv) and serie (arkivdel) only had
1069 one option, while the user need to choose which file (mappe) to use
1070 among the two created by the API tester. The
<tt>archive-pdf
</tt>
1071 tool can be found in the git repository for the API tester.
</p>
1073 <p>In the project, I have been mostly working on
1074 <a href=
"https://github.com/petterreinholdtsen/noark5-tester">the API
1075 tester
</a> so far, while getting to know the code base. The API
1076 tester currently use
1077 <a href=
"https://en.wikipedia.org/wiki/HATEOAS">the HATEOAS links
</a>
1078 to traverse the entire exposed service API and verify that the exposed
1079 operations and objects match the specification, as well as trying to
1080 create objects holding metadata and uploading a simple XML file to
1081 store. The tester has proved very useful for finding flaws in our
1082 implementation, as well as flaws in the reference site and the
1085 <p>The test document I uploaded is a summary of all the specification
1086 defects we have collected so far while implementing the web service.
1087 There are several unclear and conflicting parts of the specification,
1089 <a href=
"https://github.com/petterreinholdtsen/noark5-tester/tree/master/mangelmelding">started
1090 writing down
</a> the questions we get from implementing it. We use a
1091 format inspired by how
<a href=
"http://www.opengroup.org/austin/">The
1092 Austin Group
</a> collect defect reports for the POSIX standard with
1093 <a href=
"http://www.opengroup.org/austin/mantis.html">their
1094 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> :).
1096 <p>The Nikita project is implemented using Java and Spring, and is
1097 fairly easy to get up and running using Docker containers for those
1098 that want to test the current code base. The API tester is
1099 implemented in Python.
</p>
1105 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>.
1110 <div class=
"padding"></div>
1114 <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>
1120 <p>En ting jeg har lurt på når det gjelder offentlige postjournaler,
1121 er hvor stor andel av det som ligger i de interne databasene kommer
1122 ikke med i postjournalen. Dette er det mulig å finne ut basert på det
1123 som ligger i postjournalen. For å forstå hva jeg mener, trengs det
1124 litt bakgrunnsinformasjon. I henhold til
1125 <a href=
"http://www.arkivverket.no/arkivverket/Offentleg-forvalting/Noark">NOARK-standarden
</a>
1126 for norske offentlige arkiv skal enhver sak ha et årstall og et
1127 løpenummer, og ethvert dokument i saken skal gis et
1128 dokument-løpenummer. Det vil si at en ender opp med dokument-ID som
1129 ser ut som Ã…Ã…Ã…Ã…/SAKNR-DOKNR, f.eks.
2014/
2-
1 eller
2014/
12312-
14.
1130 Mange oppgir kun tosifret årstall, men prinsippet er det samme. Så
1131 vidt jeg vet skal saksnummer og dokumentnummer tildeles løpende og i
1132 stigende rekkefølge. Gitt en instans med følgende dokument-ID i
1133 postjournalen, så kan en regne ut hvor mye som ikke finnes i
1142 <p>Her ser en at saksnummer
2 og
5 finnes i postjournalen, mens
1143 nummerene
1,
3 og
4 mangler. En ser også at i sak
2014/
5 mangler
1144 dokument
2. Ved hjelp av denne informasjonen har jeg regnet ut hvor
1145 stor andel av saksnummer og dokumentløpenummer som ikke har dukket opp
1146 i
<a href=
"https://www.oep.no/">Offentlig Elektronisk Postjournal
</a>
1147 (OEP). For saksnummer har jeg tatt utgangspunkt i at en ikke trenger
1148 å starte på
1, og dermed regnet med området fra laveste til høyeste
1149 saksnummer og talt antall unike saksnummer som forekommer i OEP. I
1150 dette tilfellet betyr de at
2 av
4 saksnummer er ubrukte (
50%). For
1151 dokumentløpenummer har jeg tilsvarende tatt utgangspunkt i laveste og
1152 høyeste kjente dokumentløpenummer, for å handtere databaser der jeg
1153 mangler komplett postjournal. For sak
2014/
5 her betyr det at
1 av
3
1154 dokumenter mangler (
33%).
</p>
1156 <p>Det er flere årsaker til at det kan bli hull i nummerseriene.
1157 Feilføring der et dokument tildeles et nytt saksnummer ved en feil, og
1158 deretter flyttes inn i riktig sak vil gi et ubrukt saksnummer, da
1159 saksnummer skal tildeles i stigende rekkefølge og en ikke får opprette
1160 nye saker innimellom gamle saker. Tilsvarende kan skje med
1161 dokument-løpenummer. Det er jo heller ikke sikkert at et saksnummer i
1162 OEP er det samme som løpenummeret som brukes som saksnummeret i
1163 instansens interne datasystem. Kanskje snakker vi om ulike ontologier
1164 der en delmengde av interne saksnummer tilsvarer saksnummer i OEP.
1165 Hvis like nummer også tildeles andre ting enn saker som skal til OEP
1166 vil en tilsvarende få «hull» i saksnumrene i postjournalen.
</p>
1168 <p>Jeg er litt usikker på hva denne statistikken egentlig viser, og
1169 heller ikke sikker på om det er reelt sett mangler i OEP (som kanskje
1170 kunne anses å være kritikkverdig), bare er resultatet av hendelige
1171 uhell i nummertildelingen eller resultat av ulik ontologi i OEP og
1172 instansens datasystem. Men jeg syntes tallene og variasjonen var så
1173 interessant at jeg hadde lyst til å dele dem med mine lesere. Jeg har
1174 sortert listen på prosent upubliserte saksnummer for
2014.
</p>
1177 <tr><th colspan=
"6">Saksnummer
</th><th colspan=
"3">Dokumentnummer
</th><th rowspan=
"3">Instans
</th></tr>
1178 <tr><th colspan=
"3">2014</th><th colspan=
"3">2013</th><th colspan=
"3">2014</th></tr>
1179 <tr><th>%
</th><th>Upubl. saksnr.
</th><th>Totalt
</th>
1180 <th>%
</th><th>Upubl. saksnr
</th><th>Totalt
</th>
1181 <th>%
</th><th>Upubl. dok.nr.
</th><th>Totalt
</th>
1184 <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>
1185 <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>
1186 <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>
1187 <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>
1188 <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>
1189 <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>
1190 <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>
1191 <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>
1192 <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>
1193 <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>
1194 <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>
1195 <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>
1196 <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>
1197 <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>
1198 <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>
1199 <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>
1200 <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>
1201 <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>
1202 <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>
1203 <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>
1204 <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>
1205 <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>
1206 <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>
1207 <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>
1208 <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>
1209 <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>
1210 <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>
1211 <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>
1212 <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>
1213 <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>
1214 <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>
1215 <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>
1216 <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>
1217 <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>
1218 <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>
1219 <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>
1220 <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>
1221 <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>
1222 <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>
1223 <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>
1224 <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>
1225 <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>
1226 <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>
1227 <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>
1228 <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>
1229 <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>
1230 <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>
1231 <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>
1232 <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>
1233 <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>
1234 <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>
1235 <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>
1236 <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>
1237 <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>
1238 <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>
1239 <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>
1240 <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>
1241 <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>
1242 <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>
1243 <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>
1244 <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>
1245 <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>
1246 <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>
1247 <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>
1248 <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>
1249 <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>
1250 <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>
1251 <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>
1252 <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>
1253 <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>
1254 <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>
1255 <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>
1256 <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>
1257 <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>
1258 <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>
1259 <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>
1260 <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>
1261 <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>
1262 <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>
1263 <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>
1264 <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>
1265 <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>
1266 <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>
1267 <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>
1268 <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>
1269 <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>
1270 <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>
1271 <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>
1272 <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>
1273 <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>
1274 <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>
1275 <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>
1276 <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>
1277 <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>
1278 <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>
1279 <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>
1280 <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>
1281 <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>
1282 <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>
1283 <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>
1284 <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>
1285 <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>
1286 <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>
1287 <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>
1288 <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>
1289 <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>
1290 <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>
1291 <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>
1292 <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>
1293 <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>
1294 <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>
1295 <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>
1296 <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>
1297 <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>
1298 <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>
1299 <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>
1300 <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>
1301 <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>
1305 <p>Det kunne vært interessant å se hva som skjedde hvis en ba om
1306 innsyn i en dokument-ID som ikke finnes i OEP... :) Det hadde også
1307 vært interessant å få vite hva årsaken til at noen saksnummer ikke
1308 dukker opp i OEP der det er få og mange. Jeg mistenker jo at årsaken
1309 ikke er den samme hos Skattedirektoratet og hos Landinfo, selv om
1310 andelen upubliserte nummer er ganske lik.
</p>
1316 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>.
1321 <div class=
"padding"></div>
1325 <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>
1331 <p>For noen uker siden ble NXCs fri programvarelisenserte
1333 <a href=
"http://www.nuug.no/aktiviteter/20140211-noark/">presentert hos
1335 <a href=
"https://www.youtube.com/watch?v=JCb_dNS3MHQ">på youtube
1336 foreløbig
</a>), og det fikk meg til å titte litt mer på NOARK5,
1337 standarden for arkivhåndtering i det offentlige Norge. Jeg lurer på
1338 om denne kjernen kan være nyttig i et par av mine prosjekter, og for ett
1339 av dem er det mest aktuelt å lagre epost. Jeg klarte ikke finne noen
1340 anbefaling om hvordan RFC
822-formattert epost (aka Internett-epost)
1341 burde lagres i NOARK5, selv om jeg vet at noen arkiver tar
1342 PDF-utskrift av eposten med sitt epostprogram og så arkiverer PDF-en
1343 (eller enda værre, tar papirutskrift og lagrer bildet av eposten som
1346 <p>Det er ikke så mange formater som er akseptert av riksarkivet til
1347 langtidsoppbevaring av offentlige arkiver, og PDF og XML er de mest
1348 aktuelle i så måte. Det slo meg at det måtte da finnes en eller annen
1349 egnet XML-representasjon og at det kanskje var enighet om hvilken som
1350 burde brukes, så jeg tok mot til meg og spurte
1351 <a href=
"http://samdok.com/">SAMDOK
</a>, en gruppe tilknyttet
1352 arkivverket som ser ut til å jobbe med NOARK-samhandling, om de hadde
1358 <p>Usikker på om dette er riktig forum å ta opp mitt spørsmål, men jeg
1359 lurer på om det er definert en anbefaling om hvordan RFC
1360 822-formatterte epost (aka vanlig Internet-epost) bør lages håndteres
1361 i NOARK5, slik at en bevarer all informasjon i eposten
1362 (f.eks. Received-linjer). Finnes det en anbefalt XML-mapping ala den
1364 <URL:
<a href=
"https://www.informit.com/articles/article.aspx?p=32074">https://www.informit.com/articles/article.aspx?p=
32074</a> >? Mitt
1365 mål er at det skal være mulig å lagre eposten i en NOARK5-kjerne og
1366 kunne få ut en identisk formattert kopi av opprinnelig epost ved
1370 <p>Postmottaker hos SAMDOK mente spørsmålet heller burde stilles
1371 direkte til riksarkivet, og jeg fikk i dag svar derfra formulert av
1372 seniorrådgiver Geir Ivar Tungesvik:
</p>
1375 <p>Riksarkivet har ingen anbefalinger når det gjelder konvertering fra
1376 e-post til XML. Det står arkivskaper fritt å eventuelt definere/bruke
1377 eget format. Inklusive da - som det spørres om - et format der det er
1378 mulig å re-etablere e-post format ut fra XML-en. XML (e-post)
1379 dokumenter må være referert i arkivstrukturen, og det må vedlegges et
1380 gyldig XML skjema (.xsd) for XML-filene. Arkivskaper står altså fritt
1381 til å gjøre hva de vil, bare det dokumenteres og det kan dannes et
1382 utrekk ved avlevering til depot.
</p>
1384 <p>De obligatoriske kravene i Noark
5 standarden må altså oppfylles -
1385 etter dialog med Riksarkivet i forbindelse med godkjenning. For
1386 offentlige arkiv er det særlig viktig med filene loependeJournal.xml
1387 og offentligJournal.xml. Private arkiv som vil forholde seg til Noark
1388 5 standarden er selvsagt frie til å bruke det som er relevant for dem
1389 av obligatoriske krav.
</p>
1392 <p>Det ser dermed ut for meg som om det er et lite behov for å
1393 standardisere XML-lagring av RFC-
822-formatterte meldinger. Noen som
1394 vet om god spesifikasjon i så måte? I tillegg til den omtalt over,
1395 har jeg kommet over flere aktuelle beskrivelser (søk på "rfc
822
1396 xml", så finner du aktuelle alternativer).
</p>
1400 <li><a href=
"http://www.openhealth.org/xmtp/">XML MIME Transformation
1401 protocol (XMTP)
</a> fra OpenHealth, sist oppdatert
2001.
</li>
1403 <li><a href=
"https://tools.ietf.org/html/draft-klyne-message-rfc822-xml-03">An
1404 XML format for mail and other messages
</a> utkast fra IETF datert
1407 <li><a href=
"http://www.informit.com/articles/article.aspx?p=32074">xMail:
1408 E-mail as XML
</a> en artikkel fra
2003 som beskriver python-modulen
1409 rfc822 som gir ut XML-representasjon av en RFC
822-formattert epost.
</li>
1413 <p>Finnes det andre og bedre spesifikasjoner for slik lagring? Send
1414 meg en epost hvis du har innspill.
</p>
1420 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>.
1425 <div class=
"padding"></div>
1427 <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>
1438 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/01/">January (
4)
</a></li>
1440 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/02/">February (
3)
</a></li>
1442 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/03/">March (
3)
</a></li>
1444 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/05/">May (
1)
</a></li>
1451 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/01/">January (
1)
</a></li>
1453 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/02/">February (
5)
</a></li>
1455 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/03/">March (
5)
</a></li>
1457 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/04/">April (
3)
</a></li>
1459 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/06/">June (
2)
</a></li>
1461 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/07/">July (
5)
</a></li>
1463 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/08/">August (
3)
</a></li>
1465 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/09/">September (
3)
</a></li>
1467 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/10/">October (
5)
</a></li>
1469 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/11/">November (
2)
</a></li>
1471 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/12/">December (
4)
</a></li>
1478 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/01/">January (
4)
</a></li>
1480 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/02/">February (
3)
</a></li>
1482 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/03/">March (
5)
</a></li>
1484 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/04/">April (
2)
</a></li>
1486 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/06/">June (
5)
</a></li>
1488 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/07/">July (
1)
</a></li>
1490 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/08/">August (
1)
</a></li>
1492 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/09/">September (
3)
</a></li>
1494 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/10/">October (
5)
</a></li>
1496 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/11/">November (
3)
</a></li>
1498 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/12/">December (
4)
</a></li>
1505 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/01/">January (
3)
</a></li>
1507 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/02/">February (
2)
</a></li>
1509 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/03/">March (
3)
</a></li>
1511 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/04/">April (
8)
</a></li>
1513 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/05/">May (
8)
</a></li>
1515 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/06/">June (
2)
</a></li>
1517 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/07/">July (
2)
</a></li>
1519 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/08/">August (
5)
</a></li>
1521 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/09/">September (
2)
</a></li>
1523 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/10/">October (
3)
</a></li>
1525 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/11/">November (
8)
</a></li>
1527 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/12/">December (
5)
</a></li>
1534 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/01/">January (
7)
</a></li>
1536 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/02/">February (
6)
</a></li>
1538 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/03/">March (
1)
</a></li>
1540 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/04/">April (
4)
</a></li>
1542 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/05/">May (
3)
</a></li>
1544 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/06/">June (
4)
</a></li>
1546 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/07/">July (
6)
</a></li>
1548 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/08/">August (
2)
</a></li>
1550 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/09/">September (
2)
</a></li>
1552 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/10/">October (
9)
</a></li>
1554 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/11/">November (
6)
</a></li>
1556 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/12/">December (
3)
</a></li>
1563 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/01/">January (
2)
</a></li>
1565 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/02/">February (
3)
</a></li>
1567 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/03/">March (
8)
</a></li>
1569 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/04/">April (
7)
</a></li>
1571 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/05/">May (
1)
</a></li>
1573 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/06/">June (
2)
</a></li>
1575 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/07/">July (
2)
</a></li>
1577 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/08/">August (
2)
</a></li>
1579 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/09/">September (
5)
</a></li>
1581 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/10/">October (
6)
</a></li>
1583 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/11/">November (
3)
</a></li>
1585 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/12/">December (
5)
</a></li>
1592 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li>
1594 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/02/">February (
9)
</a></li>
1596 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/03/">March (
9)
</a></li>
1598 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/04/">April (
6)
</a></li>
1600 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/05/">May (
9)
</a></li>
1602 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/06/">June (
10)
</a></li>
1604 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/07/">July (
7)
</a></li>
1606 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/08/">August (
3)
</a></li>
1608 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/09/">September (
5)
</a></li>
1610 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/10/">October (
7)
</a></li>
1612 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/11/">November (
9)
</a></li>
1614 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/12/">December (
3)
</a></li>
1621 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
1623 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
1625 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
1627 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
1629 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
1631 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li>
1633 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li>
1635 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li>
1637 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li>
1639 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li>
1641 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li>
1643 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li>
1650 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
1652 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
1654 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
1656 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
1658 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
1660 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
1662 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
1664 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
1666 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
1668 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
1670 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
1672 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
1679 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
1681 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
1683 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
1685 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
1687 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
1689 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
1691 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
1693 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
1695 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
1697 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
1699 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
1701 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
1708 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
1710 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
1712 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
1714 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
1716 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
1718 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
1720 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
1722 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
1724 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
1726 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
1728 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
1730 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
1737 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
1739 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
1750 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
16)
</a></li>
1752 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
1754 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
1756 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li>
1758 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (
8)
</a></li>
1760 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
11)
</a></li>
1762 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
17)
</a></li>
1764 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
1766 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (
2)
</a></li>
1768 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian (
167)
</a></li>
1770 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
158)
</a></li>
1772 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (
4)
</a></li>
1774 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan (
11)
</a></li>
1776 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/dld">dld (
17)
</a></li>
1778 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/docbook">docbook (
25)
</a></li>
1780 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
1782 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/english">english (
401)
</a></li>
1784 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
23)
</a></li>
1786 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
14)
</a></li>
1788 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
33)
</a></li>
1790 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (
9)
</a></li>
1792 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
20)
</a></li>
1794 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/h264">h264 (
20)
</a></li>
1796 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/intervju">intervju (
42)
</a></li>
1798 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
16)
</a></li>
1800 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart (
21)
</a></li>
1802 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kodi">kodi (
4)
</a></li>
1804 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ldap">ldap (
9)
</a></li>
1806 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lego">lego (
4)
</a></li>
1808 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lenker">lenker (
8)
</a></li>
1810 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (
2)
</a></li>
1812 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
1814 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (
8)
</a></li>
1816 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
42)
</a></li>
1818 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (
12)
</a></li>
1820 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5 (
13)
</a></li>
1822 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk (
305)
</a></li>
1824 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug (
194)
</a></li>
1826 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
36)
</a></li>
1828 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
1830 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
73)
</a></li>
1832 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern (
108)
</a></li>
1834 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/raid">raid (
2)
</a></li>
1836 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reactos">reactos (
1)
</a></li>
1838 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
1840 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rfid">rfid (
3)
</a></li>
1842 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot (
11)
</a></li>
1844 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
1846 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ruter">ruter (
7)
</a></li>
1848 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
1850 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
55)
</a></li>
1852 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
1854 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
5)
</a></li>
1856 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard (
62)
</a></li>
1858 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
6)
</a></li>
1860 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
12)
</a></li>
1862 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
55)
</a></li>
1864 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
4)
</a></li>
1866 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/usenix">usenix (
2)
</a></li>
1868 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/valg">valg (
9)
</a></li>
1870 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (
15)
</a></li>
1872 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/video">video (
73)
</a></li>
1874 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
1876 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/web">web (
42)
</a></li>
1882 <p style=
"text-align: right">
1883 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>