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