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/Nikita_version_0_4_released___free_software_archive_API_server.html">Nikita version
0.4 released - free software archive API server
</a>
31 <p>This morning, a new release of
32 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
33 Noark
5 core project
</a> was
34 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/2019-May/000468.html">announced
35 on the project mailing list
</a>. The Nikita free software solution is
36 an implementation of the Norwegian archive standard Noark
5 used by
37 government offices in Norway. These were the changes in version
0.4
38 since version
0.3, see the email link above for links to a demo site:
</p>
42 <li>Roll out OData handling to all endpoints where applicable
</li>
43 <li>Changed the relation key for "ny-journalpost" to the official one.
</li>
44 <li>Better link generation on outgoing links.
</li>
45 <li>Tidy up code and make code and approaches more consistent throughout
47 <li>Update rels to be in compliance with updated version in the
48 interface standard
</li>
49 <li>Avoid printing links on empty objects as they can't have links
</li>
50 <li>Small bug fixes and improvements
</li>
51 <li>Start moving generation of outgoing links to @Service layer so access
52 control can be used when generating links
</li>
53 <li>Log exception that was being swallowed so it's traceable
</li>
54 <li>Fix name mapping problem
</li>
55 <li>Update templated printing so templated should only be printed if it
56 is set true. Requires more work to roll out across entire
58 <li>Remove Record-
>DocumentObject as per domain model of n5v4
</li>
59 <li>Add ability to delete lists filtered with OData
</li>
60 <li>Return NO_CONTENT (
204) on delete as per interface standard
</li>
61 <li>Introduce support for ConstraintViolationException exception
</li>
62 <li>Make Service classes extend NoarkService
</li>
63 <li>Make code base respect X-Forwarded-Host, X-Forwarded-Proto and
65 <li>Update CorrespondencePart* code to be more in line with Single
66 Responsibility Principle
</li>
67 <li>Make package name follow directory structure
</li>
68 <li>Make sure Document number starts at
1, not
0</li>
69 <li>Fix isues discovered by FindBugs
</li>
70 <li>Update from Date to ZonedDateTime
</li>
71 <li>Fix wrong tablename
</li>
72 <li>Introduce Service layer tests
</li>
73 <li>Improvements to CorrespondencePart
</li>
74 <li>Continued work on Class / Classificationsystem
</li>
75 <li>Fix feature where authors were stored as storageLocations
</li>
76 <li>Update HQL builder for OData
</li>
77 <li>Update OData search capability from webpage
</li>
81 <p>If free and open standardized archiving API sound interesting to
82 you, please contact us on IRC
83 (
<a href=
"irc://irc.freenode.net/%23nikita">#nikita on
84 irc.freenode.net
</a>) or email
85 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
86 mailing list
</a>).
</p>
88 <p>As usual, if you use Bitcoin and want to show your support of my
89 activities, please send Bitcoin donations to my address
90 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
96 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
101 <div class=
"padding"></div>
105 <a href=
"http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html">MIME type "text/vnd.sosi" for SOSI map data
</a>
111 <p>As part of my involvement in the work to
112 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard">standardise
113 a REST based API for Noark
5</a>, the Norwegian archiving standard, I
114 spent some time the last few months to try to register a
115 <a href=
"https://www.iana.org/assignments/media-types/">MIME type
</a>
116 and
<a href=
"https://www.nationalarchives.gov.uk/PRONOM/">PRONOM
117 code
</a> for the SOSI file format. The background is that there is a
118 set of formats approved for long term storage and archiving in Norway,
119 and among these formats, SOSI is the only format missing a MIME type
122 <p>What is SOSI, you might ask? To quote Wikipedia: SOSI is short for
123 Samordnet Opplegg for Stedfestet Informasjon (literally "Coordinated
124 Approach for Spatial Information", but more commonly expanded in
125 English to Systematic Organization of Spatial Information). It is a
126 text based file format for geo-spatial vector information used in
127 Norway. Information about the SOSI format can be found in English
128 from
<a href=
"https://en.wikipedia.org/wiki/SOSI">Wikipedia
</a>. The
129 specification is available in Norwegian from
130 <a href=
"https://www.kartverket.no/geodataarbeid/Standarder/SOSI/">the
131 Norwegian mapping authority
</a>. The SOSI standard, which originated
132 in the beginning of nineteen eighties, was the inspiration and formed the
133 basis for the XML based
134 <a href=
"https://en.wikipedia.org/wiki/Geography_Markup_Language">Geography
135 Markup Language
</a>.
</p>
137 <p>I have so far written
138 <a href=
"https://github.com/file/file/pull/67">a pattern matching
139 rule
</a> for the file(
1) unix tool to recognize SOSI files, submitted
140 a request to the PRONOM project to have a PRONOM ID assigned to the
141 format (reference TNA1555078202S60), and today send a request to IANA
142 to register the "text/vnd.sosi" MIME type for this format (referanse
143 <a href=
"https://tools.iana.org/public-view/viewticket/1143144">IANA
144 #
1143144</a>). If all goes well, in a few months, anyone implementing
145 the Noark
5 Tjenestegrensesnitt API spesification should be able to
146 use an official MIME type and PRONOM code for SOSI files. In
147 addition, anyone using SOSI files on Linux should be able to
148 automatically recognise the format and web sites handing out SOSI
149 files can begin providing a more specific MIME type. So far, SOSI
150 files has been handed out from web sites using the
151 "application/octet-stream" MIME type, which is just a nice way of
152 stating "I do not know". Soon, we will know. :)
</p>
154 <p>As usual, if you use Bitcoin and want to show your support of my
155 activities, please send Bitcoin donations to my address
156 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
162 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
167 <div class=
"padding"></div>
171 <a href=
"http://people.skolelinux.org/pere/blog/PlantUML_for_text_based_UML_diagram_modelling___nice_free_software.html">PlantUML for text based UML diagram modelling - nice free software
</a>
177 <p>As part of my involvement with the
178 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
179 Noark
5 core project
</a>, I have been proposing improvements to the
180 API specification created by
<a href=
"https://www.arkivverket.no/">The
181 National Archives of Norway
</a> and helped migrating the text from a
182 version control system unfriendly binary format (docx) to Markdown in
183 git. Combined with the migration to a public git repository (on
184 github), this has made it possible for anyone to suggest improvement
187 <p>The specification is filled with UML diagrams. I believe the
188 original diagrams were modelled using Sparx Systems Enterprise
189 Architect, and exported as EMF files for import into docx. This
190 approach make it very hard to track changes using a version control
191 system. To improve the situation I have been looking for a good text
192 based UML format with associated command line free software tools on
193 Linux and Windows, to allow anyone to send in corrections to the UML
194 diagrams in the specification. The tool must be text based to work
195 with git, and command line to be able to run it automatically to
196 generate the diagram images. Finally, it must be free software to
197 allow anyone, even those that can not accept a non-free software
198 license, to contribute.
</p>
200 <p>I did not know much about free software UML modelling tools when I
201 started. I have used dia and inkscape for simple modelling in the
202 past, but neither are available on Windows, as far as I could tell. I
204 <a href=
"https://modeling-languages.com/text-uml-tools-complete-list/">list
205 of text mode uml tools
</a>, and tested out a few of the tools listed
206 there.
<a href=
"http://plantuml.com/">The PlantUML tool
</a> seemed
207 most promising. After verifying that the packages
208 <a href=
"https://tracker.debian.org/pkg/plantuml">is available in
209 Debian
</a> and found
<a href=
"https://github.com/plantuml/plantuml">its
210 Java source
</a> under a GPL license on github, I set out to test if it
211 could represent the diagrams we needed, ie the ones currently in
212 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">the
213 Noark
5 Tjenestegrensesnitt specification
</a>. I am happy to report
214 that it could represent them, even thought it have a few warts here
217 <p>After a few days of modelling I completed the task this weekend. A
218 temporary link to the complete set of diagrams (original and from
219 PlantUML) is available in
220 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/76">the
221 github issue discussing the need for a text based UML format
</a>, but
222 please note I lack a sensible tool to convert EMF files to PNGs, so
223 the "original" rendering is not as good as the original was in the
226 <p>Here is an example UML diagram, showing the core classes for
227 keeping metadata about archived documents:
</p>
231 skinparam classAttributeIconSize
0
233 !include media/uml-class-arkivskaper.iuml
234 !include media/uml-class-arkiv.iuml
235 !include media/uml-class-klassifikasjonssystem.iuml
236 !include media/uml-class-klasse.iuml
237 !include media/uml-class-arkivdel.iuml
238 !include media/uml-class-mappe.iuml
239 !include media/uml-class-merknad.iuml
240 !include media/uml-class-registrering.iuml
241 !include media/uml-class-basisregistrering.iuml
242 !include media/uml-class-dokumentbeskrivelse.iuml
243 !include media/uml-class-dokumentobjekt.iuml
244 !include media/uml-class-konvertering.iuml
245 !include media/uml-datatype-elektronisksignatur.iuml
247 Arkivstruktur.Arkivskaper "+arkivskaper
1..*"
<-o "+arkiv 0..*" Arkivstruktur.Arkiv
248 Arkivstruktur.Arkiv o-->
"+underarkiv 0..*" Arkivstruktur.Arkiv
249 Arkivstruktur.Arkiv
"+arkiv 1" o-->
"+arkivdel 0..*" Arkivstruktur.Arkivdel
250 Arkivstruktur.Klassifikasjonssystem
"+klassifikasjonssystem [0..1]" <--o
"+arkivdel 1..*" Arkivstruktur.Arkivdel
251 Arkivstruktur.Klassifikasjonssystem
"+klassifikasjonssystem [0..1]" o-->
"+klasse 0..*" Arkivstruktur.Klasse
252 Arkivstruktur.Arkivdel
"+arkivdel 0..1" o-->
"+mappe 0..*" Arkivstruktur.Mappe
253 Arkivstruktur.Arkivdel
"+arkivdel 0..1" o-->
"+registrering 0..*" Arkivstruktur.Registrering
254 Arkivstruktur.Klasse
"+klasse 0..1" o-->
"+mappe 0..*" Arkivstruktur.Mappe
255 Arkivstruktur.Klasse
"+klasse 0..1" o-->
"+registrering 0..*" Arkivstruktur.Registrering
256 Arkivstruktur.Mappe -->
"+undermappe 0..*" Arkivstruktur.Mappe
257 Arkivstruktur.Mappe
"+mappe 0..1" o-->
"+registrering 0..*" Arkivstruktur.Registrering
258 Arkivstruktur.Merknad
"+merknad 0..*" <--* Arkivstruktur.Mappe
259 Arkivstruktur.Merknad
"+merknad 0..*" <--* Arkivstruktur.Dokumentbeskrivelse
260 Arkivstruktur.Basisregistrering -|
> Arkivstruktur.Registrering
261 Arkivstruktur.Merknad "+merknad
0..*" <--* Arkivstruktur.Basisregistrering
262 Arkivstruktur.Registrering "+registrering
1..*" o--> "+dokumentbeskrivelse
0..*" Arkivstruktur.Dokumentbeskrivelse
263 Arkivstruktur.Dokumentbeskrivelse "+dokumentbeskrivelse
1" o-
> "+dokumentobjekt 0..*" Arkivstruktur.Dokumentobjekt
264 Arkivstruktur.Dokumentobjekt *-
> "+konvertering 0..*" Arkivstruktur.Konvertering
265 Arkivstruktur.ElektroniskSignatur -[hidden]-
> Arkivstruktur.Dokumentobjekt
269 <p><a href=
"http://plantuml.com/class-diagram">The format
</a> is quite
270 compact, with little redundant information. The text expresses
271 entities and relations, and there is little layout related fluff. One
272 can reuse content by using include files, allowing for consistent
273 naming across several diagrams. The include files can be standalone
274 PlantUML too. Here is the content of
275 <tt>media/uml-class-arkivskaper.iuml
<tt>:
</p>
279 class Arkivstruktur.Arkivskaper
<Arkivenhet> {
280 +arkivskaperID : string
281 +arkivskaperNavn : string
282 +beskrivelse : string [
0.
.1]
287 <p>This is what the complete diagram for the PlantUML notation above
290 <p><img width=
"80%" src=
"http://people.skolelinux.org/pere/blog/images/2019-03-25-noark5-plantuml-diagrameksempel.png"></p>
292 <p>A cool feature of PlantUML is that the generated PNG files include
293 the entire original source diagram as text. The source (with include
294 statements expanded) can be extracted using for example
295 <tt>exiftool
</tt>. Another cool feature is that parts of the entities
296 can be hidden after inclusion. This allow to use include files with
297 all attributes listed, even for UML diagrams that should not list any
300 <p>The diagram also show some of the warts. Some times the layout
301 engine place text labels on top of each other, and some times it place
302 the class boxes too close to each other, not leaving room for the
303 labels on the relationship arrows. The former can be worked around by
304 placing extra newlines in the labes (ie "\n"). I did not do it here
305 to be able to demonstrate the issue. I have not found a good way
306 around the latter, so I normally try to reduce the problem by changing
307 from vertical to horizontal links to improve the layout.
</p>
309 <p>All in all, I am quite happy with PlantUML, and very impressed with
310 how quickly its lead developer responds to questions. So far I got an
311 answer to my questions in a few hours when I send an email. I
312 definitely recommend looking at PlantUML if you need to make UML
313 diagrams. Note, PlantUML can draw a lot more than class relations.
314 Check out the documention for a complete list. :)
</p>
316 <p>As usual, if you use Bitcoin and want to show your support of my
317 activities, please send Bitcoin donations to my address
318 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
324 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
329 <div class=
"padding"></div>
333 <a href=
"http://people.skolelinux.org/pere/blog/Release_0_3_of_free_software_archive_API_system_Nikita_announced.html">Release
0.3 of free software archive API system Nikita announced
</a>
339 <p>Yesterday, a new release of
340 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
341 Noark
5 core project
</a> was
342 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/2019-March/000451.html">announced
343 on the project mailing list
</a>. The free software solution is an
344 implementation of the Norwegian archive standard Noark
5 used by
345 government offices in Norway. These were the changes in version
0.3
346 since version
0.2.1 (from NEWS.md):
</p>
349 <li>Improved ClassificationSystem and Class behaviour.
</li>
350 <li>Tidied up known inconsistencies between domain model and hateaos links.
</li>
351 <li>Added experimental code for blockchain integration.
</li>
352 <li>Make token expiry time configurable at upstart from properties file.
</li>
353 <li>Continued work on OData search syntax.
</li>
354 <li>Started work on pagination for entities, partly implemented for Saksmappe.
</li>
355 <li>Finalise ClassifiedCode Metadata entity.
</li>
356 <li>Implement mechanism to check if authentication token is still
357 valid. This allow the GUI to return a more sensible message to the
358 user if the token is expired.
</li>
359 <li>Reintroduce browse.html page to allow user to browse JSON API using
361 <li>Fix bug in handling file/mappe sequence number. Year change was
362 not properly handled.
</li>
363 <li>Update application yml files to be in sync with current development.
</li>
364 <li>Stop 'converting' everything to PDF using libreoffice. Only
365 convert the file formats doc, ppt, xls, docx, pptx, xlsx, odt, odp
367 <li>Continued code style fixing, making code more readable.
</li>
368 <li>Minor bug fixes.
</li>
372 <p>If free and open standardized archiving API sound interesting to
373 you, please contact us on IRC
374 (
<a href=
"irc://irc.freenode.net/%23nikita">#nikita on
375 irc.freenode.net
</a>) or email
376 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
377 mailing list
</a>).
</p>
379 <p>As usual, if you use Bitcoin and want to show your support of my
380 activities, please send Bitcoin donations to my address
381 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
387 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
392 <div class=
"padding"></div>
396 <a href=
"http://people.skolelinux.org/pere/blog/_pen_og_gjennomsiktig_vedlikehold_av_spesifikasjonen_for_Noark_5_Tjenestegrensesnitt.html">Ã…pen og gjennomsiktig vedlikehold av spesifikasjonen for Noark
5 Tjenestegrensesnitt
</a>
402 <p>Et virksomhetsarkiv for meg, er et arbeidsverktøy der en enkelt kan
403 finne informasjonen en trenger når en trenger det, og der
404 virksomhetens samlede kunnskap er tilgjengelig. Det må være greit å
405 finne frem i, litt som en bibliotek. Men der et bibliotek gjerne tar
406 vare på offentliggjort informasjon som er tilgjengelig flere steder,
407 tar et arkiv vare på virksomhetsintern og til tider personlig
408 informasjon som ofte kun er tilgjengelig fra et sted.
</p>
410 <p>Jeg mistenker den eneste måten å sikre at arkivet inneholder den
411 samlede kunnskapen i en virksomhet, er å bruke det som virksomhetens
412 kunnskapslager. Det innebærer å automatisk kopiere (brev, epost,
413 SMS-er etc) inn i arkivet når de sendes og mottas, og der filtrere
414 vekk det en ikke vil ta vare på, og legge på metadata om det som er
415 samlet inn for enkel gjenfinning. En slik bruk av arkivet innebærer at
416 arkivet er en del av daglig virke, ikke at det er siste hvilested for
417 informasjon ingen lenger har daglig bruk for. For å kunne være en del
418 av det daglige virket må arkivet enkelt kunne integreres med andre
419 systemer. I disse dager betyr det å tilby arkivet som en
420 nett-tjeneste til hele virksomheten, tilgjengelig for både mennesker
421 og datamaskiner. Det betyr i tur å både tilby nettsider og et
422 maskinlesbart grensesnitt.
</p>
424 <p>For noen år siden erkjente visjonære arkivarer fordelene med et
425 standardisert maskinlesbart grensesnitt til organisasjonens arkiv. De
426 gikk igang med å lage noe de kalte
427 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">Noark
428 5 Tjenestegrensesnitt
</a>. Gjort riktig, så åpner slike maskinlesbare
429 grensesnitt for samvirke på tvers av uavhengige programvaresystemer.
430 Gjort feil, vil det blokkere for samvirke og bidra til
431 leverandørinnlåsing. For å gjøre det riktig så må grensesnittet være
432 klart og entydig beskrevet i en spesifikasjon som gjør at
433 spesifikasjonen tolkes på samme måte uavhengig av hvem som leser den,
434 og uavhengig av hvem som tar den i bruk.
</p>
436 <p>For å oppnå klare og entydige beskrivelser i en spesifikasjon, som
437 trengs for å kunne få en fri og åpen standard (se
438 <a href=
"http://people.skolelinux.org/pere/blog/Fri_og__pen_standard__slik_Digistan_ser_det.html">Digistan-definisjon
</a>),
439 så trengs det en åpen og gjennomsiktig inngangsport med lav terskel,
440 der de som forsøker å ta den i bruk enkelt kan få inn korreksjoner,
441 etterlyse klargjøringer og rapportere uklarheter i spesifikasjonen.
442 En trenger også automatiserte datasystemer som måler og sjekker at et
443 gitt grensesnitt fungerer i tråd med spesifikasjonen.
</p>
445 <p>For Noark
5 Tjenestegrensesnittet er det nå etablert en slik åpen
446 og gjennomsiktig inngangsport på prosjekttjenesten github. Denne
447 inngangsporten består først og fremst av en åpen portal som lar enhver
448 se hva som er gjort av endringer i spesifikasjonsteksten over tid, men
449 det hører også med et åpent
"diskusjonsforum
" der en kan
450 komme med endringsforslag og forespørsler om klargjøringer. Alle
451 registrerte brukere på github kan bidra med innspill til disse
454 <p>I samarbeide med Arkivverket har jeg fått opprettet et git-depot
455 med spesifikasjonsteksten for tjenestegrensesnittet, der det er lagt
456 inn historikk for endringer i teksten de siste årene, samt lagt inn
457 endringsforslag og forespørsler om klargjøring av teksten. Bakgrunnen
458 for at jeg bidro med dette er at jeg er involvert i
459 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core">Nikita-prosjektet
</a>,
460 som lager en fri programvare-utgave av Noark
5 Tjenestegrensesnitt.
461 Det er først når en forsøker å lage noe i tråd med en spesifikasjon at
462 en oppdager hvor mange detaljer som må beskrives i spesifikasjonen for
463 å sikre samhandling.
</p>
465 <p>Spesifikasjonen vedlikeholdes i et rent tekstformat, for å ha et
466 format egnet for versjonskontroll via versjontrollsystemet git. Dette
467 gjør det både enkelt å se konkret hvilke endringer som er gjort når,
468 samt gjør det praktisk mulig for enhver med github-konto å sende inn
469 endringsforslag med formuleringer til spesifikasjonsteksten. Dette
470 tekstformatet vises frem som nettsider på github, slik at en ikke
471 trenger spesielle verktøy for å se på siste utgave av
474 <p>Fra dette rene tekstformatet kan det så avledes ulike formater, som
475 HTML for websider, PDF for utskrift på papir og ePub for lesing med
476 ebokleser. Avlednings-systemet (byggesystemet) bruker i dag
477 verktøyene pandoc, latex, docbook-xsl og GNU make til
478 transformasjonen. Tekstformatet som brukes dag er
479 <a href=
"https://www.markdownguide.org/">Markdown
</a>, men det vurderes
481 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/9">endre
482 til formatet RST
</a> i fremtiden for bedre styring av utseende på
485 <p>Versjonskontrollsystemet git ble valgt da det er både fleksibelt,
486 avansert og enkelt å ta i bruk. Github ble valgt (foran f.eks. Gitlab
487 som vi bruker i Nikita), da Arkivverket allerede hadde tatt i bruk
488 Github i andre sammenhenger.
</p>
490 <p>Enkle endringer i teksten kan gjøres av priviligerte brukere
491 direkte i nettsidene til Github, ved å finne aktuell fil som skal
492 endres (f.eks. kapitler/
03-konformitet.md), klikke på den lille
493 bokstaven i høyre hjørne over teksten. Det kommer opp en nettside der
494 en kan endre teksten slik en ønsker. Når en er fornøyd med endringen
495 så må endringen
"sjekkes inn
" i historikken. Det gjøres ved
496 å gi en kort beskrivelse av endringen (beskriv helst hvorfor endringen
497 trengs, ikke hva som er endret), under overskriften
"Commit
498 changes
". En kan og bør legge inn en lengre forklaring i det
499 større skrivefeltet, før en velger om endringen skal sendes direkte
500 til 'master'-grenen (dvs. autorativ utgave av spesifikasjonen) eller
501 om en skal lage en ny gren for denne endringen og opprette en
502 endringsforespørsel (aka
"Pull Request
"/PR). NÃ¥r alt dette
503 er gjort kan en velge
"Commit changes
" for å sende inn
504 endringen. Hvis den er lagt inn i
"master
"-grenen så er den
505 en offisiell del av spesifikasjonen med en gang. Hvis den derimot er
506 en endringsforespørsel, så legges den inn i
507 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/pulls">listen
508 over forslag til endringer
</a> som venter på korrekturlesing og
511 <p>Større endringer (for eksempel samtidig endringer i flere filer)
512 gjøres enklest ved å hente ned en kopi av git-depoet lokalt og gjøre
513 endringene der før endringsforslaget sendes inn. Denne prosessen er
514 godt beskrivet i dokumentasjon fra github. Git-prosjektet som skal
515 "klones
" er
516 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
</a>.
</p>
518 <p>For å registrere nye utfordringer (issues) eller kommentere på
519 eksisterende utfordringer benyttes nettsiden
520 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues
</a>.
521 I skrivende stund er det
48 åpne og
11 avsluttede utfordringer. Et
522 forslag til hva som bør være med når en beskriver en utfordring er
523 tilgjengelig som utfordring
524 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/14">#
14</a>.
</p>
526 <p>For å bygge en PDF-utgave av spesifikasjonen så bruker jeg i dag en
527 Debian GNU/Linux-maskin med en rekke programpakker installert. NÃ¥r
528 dette er på plass, så holder det å kjøre kommandoen 'make pdf html' på
529 kommandolinjen, vente ca.
20 sekunder, før spesifikasjon.pdf og
530 spesifikasjon.html ligger klar på disken. Verktøyene for bygging av
531 PDF, HTML og ePub-utgave er også tilgjengelig på Windows og
534 <p>Github bidrar med rammeverket. Men for at åpent vedlikehold av
535 spesifikasjonen skal fungere, så trengs det folk som bidrar med sin
536 tid og kunnskap. Arkivverket har sagt de skal bidra med innspill og
537 godkjenne forslag til endringer, men det blir størst suksess hvis alle
538 som bruker og lager systemer basert på Noark
5 Tjenestegrensesnitt
539 bidrar med sin kunnskap og kommer med forslag til forebedringer. Jeg
540 stiller. Blir du med?
</p>
542 <p>Det er viktig å legge til rette for åpen diskusjon blant alle
543 interesserte, som ikke krever at en må godta lange kontrakter med
544 vilkår for deltagelse. Inntil Arkivverket dukker opp på IRC har vi
545 laget en IRC-kanal der interesserte enkelt kan orientere seg og
546 diskutere tjenestegrensesnittet. Alle er velkommen til å ta turen
548 <a href=
"https://webchat.freenode.net/?channels=nikita">#nikita
</a>
549 (f.eks. via irc.freenode.net) for å møte likesinnede.
</p>
551 <p>Det holder dog ikke å ha en god spesifikasjon, hvis ikke de som tar
552 den i bruk gjør en like god jobb. For å automatisk teste om et konkret
553 tjenestegrensesnitt følger (min) forståelse av
554 spesifikasjonsdokumentet, har jeg skrevet et program som kobler seg
555 opp til et Noark
5v4 REST-tjeneste og tester alt den finner for å se
556 om det er i henhold til min tolkning av spesifikasjonen. Dette
557 verktøyet er tilgjengelig fra
558 <a href=
"https://github.com/petterreinholdtsen/noark5-tester">https://github.com/petterreinholdtsen/noark5-tester
</a>,
559 og brukes daglig mens vi utvikler Nikita for å sikre at vi ikke
560 introduserer nye feil. Hvis en skal sikre samvirke på tvers av ulike
561 systemer er det helt essensielt å kunne raskt og automatisk sjekke at
562 tjenestegrensesnittet oppfører seg som forventet. Jeg håper andre som
563 lager sin utgave av tjenestegrensesnittet vi bruke dette verktøyet,
564 slik at vi tidlig og raskt kan oppdage hvor vi har tolket
565 spesifikasjonen ulikt, og dermed få et godt grunnlag for å gjøre
566 spesifikasjonsteksten enda klarere og bedre.
</p>
568 <p>Dagens beskrivelse av Noark
5 Tjenestegrensesnitt er et svært godt
569 utgangspunkt for å gjøre virksomhetens arkiv til et dynamisk og
570 sentralt arbeidsverktøy i organisasjonen. Blir du med å gjøre den
577 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
582 <div class=
"padding"></div>
586 <a href=
"http://people.skolelinux.org/pere/blog/Time_for_an_official_MIME_type_for_patches_.html">Time for an official MIME type for patches?
</a>
592 <p>As part of my involvement in
593 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core">the Nikita
594 archive API project
</a>, I've been importing a fairly large lump of
595 emails into a test instance of the archive to see how well this would
596 go. I picked a subset of
<a href=
"https://notmuchmail.org/">my
597 notmuch email database
</a>, all public emails sent to me via
598 @lists.debian.org, giving me a set of around
216 000 emails to import.
599 In the process, I had a look at the various attachments included in
600 these emails, to figure out what to do with attachments, and noticed
601 that one of the most common attachment formats do not have
602 <a href=
"https://www.iana.org/assignments/media-types/media-types.xhtml">an
603 official MIME type
</a> registered with IANA/IETF. The output from
604 diff, ie the input for patch, is on the top
10 list of formats
605 included in these emails. At the moment people seem to use either
606 text/x-patch or text/x-diff, but neither is officially registered. It
607 would be better if one official MIME type were registered and used
610 <p>To try to get one official MIME type for these files, I've brought
612 <a href=
"https://www.ietf.org/mailman/listinfo/media-types">the
613 media-types mailing list
</a>. If you are interested in discussion
614 which MIME type to use as the official for patch files, or involved in
615 making software using a MIME type for patches, perhaps you would like
616 to join the discussion?
</p>
618 <p>As usual, if you use Bitcoin and want to show your support of my
619 activities, please send Bitcoin donations to my address
620 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
626 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
631 <div class=
"padding"></div>
635 <a href=
"http://people.skolelinux.org/pere/blog/Release_0_2_of_free_software_archive_system_Nikita_announced.html">Release
0.2 of free software archive system Nikita announced
</a>
641 <p>This morning, the new release of the
642 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
643 Noark
5 core project
</a> was
644 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/2018-October/000406.html">announced
645 on the project mailing list
</a>. The free software solution is an
646 implementation of the Norwegian archive standard Noark
5 used by
647 government offices in Norway. These were the changes in version
0.2
648 since version
0.1.1 (from NEWS.md):
651 <li>Fix typos in REL names
</li>
652 <li>Tidy up error message reporting
</li>
653 <li>Fix issue where we used Integer.valueOf(), not Integer.getInteger()
</li>
654 <li>Change some String handling to StringBuffer
</li>
655 <li>Fix error reporting
</li>
656 <li>Code tidy-up
</li>
657 <li>Fix issue using static non-synchronized SimpleDateFormat to avoid
659 <li>Fix problem where deserialisers were treating integers as strings
</li>
660 <li>Update methods to make them null-safe
</li>
661 <li>Fix many issues reported by coverity
</li>
662 <li>Improve equals(), compareTo() and hash() in domain model
</li>
663 <li>Improvements to the domain model for metadata classes
</li>
664 <li>Fix CORS issues when downloading document
</li>
665 <li>Implementation of case-handling with registryEntry and document upload
</li>
666 <li>Better support in Javascript for OPTIONS
</li>
667 <li>Adding concept description of mail integration
</li>
668 <li>Improve setting of default values for GET on ny-journalpost
</li>
669 <li>Better handling of required values during deserialisation
</li>
670 <li>Changed tilknyttetDato (M620) from date to dateTime
</li>
671 <li>Corrected some opprettetDato (M600) (de)serialisation errors.
</li>
672 <li>Improve parse error reporting.
</li>
673 <li>Started on OData search and filtering.
</li>
674 <li>Added Contributor Covenant Code of Conduct to project.
</li>
675 <li>Moved repository and project from Github to Gitlab.
</li>
676 <li>Restructured repository, moved code into src/ and web/.
</li>
677 <li>Updated code to use Spring Boot version
2.
</li>
678 <li>Added support for OAuth2 authentication.
</li>
679 <li>Fixed several bugs discovered by Coverity.
</li>
680 <li>Corrected handling of date/datetime fields.
</li>
681 <li>Improved error reporting when rejecting during deserializatoin.
</li>
682 <li>Adjusted default values provided for ny-arkivdel, ny-mappe,
683 ny-saksmappe, ny-journalpost and ny-dokumentbeskrivelse.
</li>
684 <li>Several fixes for korrespondansepart*.
</li>
687 <li>Now handle both file upload and download.
</li>
688 <li>Uses new OAuth2 authentication for login.
</li>
689 <li>Forms now fetches default values from API using GET.
</li>
690 <li>Added RFC
822 (email), TIFF and JPEG to list of possible file formats.
</li>
694 <p>The changes and improvements are extensive. Running diffstat on
695 the changes between git tab
0.1.1 and
0.2 show
1098 files changed,
696 108666 insertions(+),
54066 deletions(-).
</p>
698 <p>If free and open standardized archiving API sound interesting to
699 you, please contact us on IRC
700 (
<a href=
"irc://irc.freenode.net/%23nikita">#nikita on
701 irc.freenode.net
</a>) or email
702 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
703 mailing list
</a>).
</p>
705 <p>As usual, if you use Bitcoin and want to show your support of my
706 activities, please send Bitcoin donations to my address
707 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
713 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
718 <div class=
"padding"></div>
722 <a href=
"http://people.skolelinux.org/pere/blog/Fetching_trusted_timestamps_using_the_rfc3161ng_python_module.html">Fetching trusted timestamps using the rfc3161ng python module
</a>
728 <p>I have earlier covered the basics of trusted timestamping using the
729 'openssl ts' client. See blog post for
730 <a href=
"http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html">2014</a>,
731 <a href=
"http://people.skolelinux.org/pere/blog/syslog_trusted_timestamp___chain_of_trusted_timestamps_for_your_syslog.html">2016</a>
733 <a href=
"http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html">2017</a>
734 for those stories. But some times I want to integrate the timestamping
735 in other code, and recently I needed to integrate it into Python.
736 After searching a bit, I found
737 <a href=
"https://dev.entrouvert.org/projects/python-rfc3161">the
738 rfc3161 library
</a> which seemed like a good fit, but I soon
739 discovered it only worked for python version
2, and I needed something
740 that work with python version
3. Luckily I next came across
741 <a href=
"https://github.com/trbs/rfc3161ng/">the rfc3161ng library
</a>,
742 a fork of the original rfc3161 library. Not only is it working with
743 python
3, it have fixed a few of the bugs in the original library, and
744 it has an active maintainer. I decided to wrap it up and make it
745 <a href=
"https://tracker.debian.org/pkg/python-rfc3161ng">available in
746 Debian
</a>, and a few days ago it entered Debian unstable and testing.
</p>
748 <p>Using the library is fairly straight forward. The only slightly
749 problematic step is to fetch the required certificates to verify the
750 timestamp. For some services it is straight forward, while for others
751 I have not yet figured out how to do it. Here is a small standalone
752 code example based on of the integration tests in the library code:
</p>
759 Python
3 script demonstrating how to use the rfc3161ng module to
760 get trusted timestamps.
762 The license of this code is the same as the license of the rfc3161ng
768 import pyasn1.codec.der
772 import urllib.request
779 def fetch(url, f=None):
780 response = urllib.request.urlopen(url)
781 data = response.read()
787 with tempfile.NamedTemporaryFile() as cert_f,\
788 tempfile.NamedTemporaryFile() as ca_f,\
789 tempfile.NamedTemporaryFile() as msg_f,\
790 tempfile.NamedTemporaryFile() as tsr_f:
792 # First fetch certificates used by service
793 certificate_data = fetch('https://freetsa.org/files/tsa.crt', cert_f)
794 ca_data_data = fetch('https://freetsa.org/files/cacert.pem', ca_f)
796 # Then timestamp the message
798 rfc3161ng.RemoteTimestamper('http://freetsa.org/tsr',
799 certificate=certificate_data)
800 data = b"Python forever!\n"
801 tsr = timestamper(data=data, return_tsr=True)
803 # Finally, convert message and response to something 'openssl ts' can verify
805 store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
806 args = ["openssl", "ts", "-verify",
809 "-CAfile", ca_f.name,
810 "-untrusted", cert_f.name]
811 subprocess.check_call(args)
813 if '__main__' == __name__:
817 <p>The code fetches the required certificates, store them as temporary
818 files, timestamp a simple message, store the message and timestamp to
819 disk and ask 'openssl ts' to verify the timestamp. A timestamp is
820 around
1.5 kiB in size, and should be fairly easy to store for future
823 <p>As usual, if you use Bitcoin and want to show your support of my
824 activities, please send Bitcoin donations to my address
825 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
831 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet
</a>.
836 <div class=
"padding"></div>
840 <a href=
"http://people.skolelinux.org/pere/blog/Release_0_1_1_of_free_software_archive_system_Nikita_announced.html">Release
0.1.1 of free software archive system Nikita announced
</a>
846 <p>I am very happy to report that the
847 <a href=
"https://github.com/hiOA-ABI/nikita-noark5-core">Nikita Noark
5
848 core project
</a> tagged its second release today. The free software
849 solution is an implementation of the Norwegian archive standard Noark
850 5 used by government offices in Norway. These were the changes in
851 version
0.1.1 since version
0.1.0 (from NEWS.md):
855 <li>Continued work on the angularjs GUI, including document upload.
</li>
856 <li>Implemented correspondencepartPerson, correspondencepartUnit and
857 correspondencepartInternal
</li>
858 <li>Applied for coverity coverage and started submitting code on
860 <li>Started fixing bugs reported by coverity
</li>
861 <li>Corrected and completed HATEOAS links to make sure entire API is
862 available via URLs in _links.
</li>
863 <li>Corrected all relation URLs to use trailing slash.
</li>
864 <li>Add initial support for storing data in ElasticSearch.
</li>
865 <li>Now able to receive and store uploaded files in the archive.
</li>
866 <li>Changed JSON output for object lists to have relations in _links.
</li>
867 <li>Improve JSON output for empty object lists.
</li>
868 <li>Now uses correct MIME type application/vnd.noark5-v4+json.
</li>
869 <li>Added support for docker container images.
</li>
870 <li>Added simple API browser implemented in JavaScript/Angular.
</li>
871 <li>Started on archive client implemented in JavaScript/Angular.
</li>
872 <li>Started on prototype to show the public mail journal.
</li>
873 <li>Improved performance by disabling Sprint FileWatcher.
</li>
874 <li>Added support for 'arkivskaper', 'saksmappe' and 'journalpost'.
</li>
875 <li>Added support for some metadata codelists.
</li>
876 <li>Added support for Cross-origin resource sharing (CORS).
</li>
877 <li>Changed login method from Basic Auth to JSON Web Token (RFC
7519)
879 <li>Added support for GET-ing ny-* URLs.
</li>
880 <li>Added support for modifying entities using PUT and eTag.
</li>
881 <li>Added support for returning XML output on request.
</li>
882 <li>Removed support for English field and class names, limiting ourself
883 to the official names.
</li>
888 <p>If this sound interesting to you, please contact us on IRC (#nikita
889 on irc.freenode.net) or email
890 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
897 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
902 <div class=
"padding"></div>
906 <a href=
"http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html">Idea for storing trusted timestamps in a Noark
5 archive
</a>
912 <p><em>This is a copy of
913 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/2017-June/000297.html">an
914 email I posted to the nikita-noark mailing list
</a>. Please follow up
915 there if you would like to discuss this topic. The background is that
916 we are making a free software archive system based on the Norwegian
917 <a href=
"https://www.arkivverket.no/forvaltning-og-utvikling/regelverk-og-standarder/noark-standarden">Noark
918 5 standard
</a> for government archives.
</em></p>
920 <p>I've been wondering a bit lately how trusted timestamps could be
922 <a href=
"https://en.wikipedia.org/wiki/Trusted_timestamping">Trusted
923 timestamps
</a> can be used to verify that some information
924 (document/file/checksum/metadata) have not been changed since a
925 specific time in the past. This is useful to verify the integrity of
926 the documents in the archive.
</p>
928 <p>Then it occured to me, perhaps the trusted timestamps could be
929 stored as dokument variants (ie dokumentobjekt referered to from
930 dokumentbeskrivelse) with the filename set to the hash it is
933 <p>Given a "dokumentbeskrivelse" with an associated "dokumentobjekt",
934 a new dokumentobjekt is associated with "dokumentbeskrivelse" with the
935 same attributes as the stamped dokumentobjekt except these
940 <li>format -
> "RFC3161"
941 <li>mimeType -
> "application/timestamp-reply"
942 <li>formatDetaljer -
> "<source URL for timestamp service>"
943 <li>filenavn -
> "<sjekksum>.tsr"
947 <p>This assume a service following
948 <a href=
"https://tools.ietf.org/html/rfc3161">IETF RFC
3161</a> is
949 used, which specifiy the given MIME type for replies and the .tsr file
950 ending for the content of such trusted timestamp. As far as I can
951 tell from the Noark
5 specifications, it is OK to have several
952 variants/renderings of a dokument attached to a given
953 dokumentbeskrivelse objekt. It might be stretching it a bit to make
954 some of these variants represent crypto-signatures useful for
955 verifying the document integrity instead of representing the dokument
958 <p>Using the source of the service in formatDetaljer allow several
959 timestamping services to be used. This is useful to spread the risk
960 of key compromise over several organisations. It would only be a
961 problem to trust the timestamps if all of the organisations are
964 <p>The following oneliner on Linux can be used to generate the tsr
965 file. $input is the path to the file to checksum, and $sha256 is the
966 SHA-
256 checksum of the file (ie the "
<sjekksum>.tsr" value mentioned
970 openssl ts -query -data "$inputfile" -cert -sha256 -no_nonce \
971 | curl -s -H "Content-Type: application/timestamp-query" \
972 --data-binary "@-" http://zeitstempel.dfn.de
> $sha256.tsr
973 </pre></blockquote></p>
975 <p>To verify the timestamp, you first need to download the public key
976 of the trusted timestamp service, for example using this command:
</p>
979 wget -O ca-cert.txt \
980 https://pki.pca.dfn.de/global-services-ca/pub/cacert/chain.txt
981 </pre></blockquote></p>
983 <p>Note, the public key should be stored alongside the timestamps in
984 the archive to make sure it is also available
100 years from now. It
985 is probably a good idea to standardise how and were to store such
986 public keys, to make it easier to find for those trying to verify
987 documents
100 or
1000 years from now. :)
</p>
989 <p>The verification itself is a simple openssl command:
</p>
992 openssl ts -verify -data $inputfile -in $sha256.tsr \
993 -CAfile ca-cert.txt -text
994 </pre></blockquote></p>
996 <p>Is there any reason this approach would not work? Is it somehow against
997 the Noark
5 specification?
</p>
1003 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
1008 <div class=
"padding"></div>
1012 <a href=
"http://people.skolelinux.org/pere/blog/Epost_inn_som_arkivformat_i_Riksarkivarens_forskrift_.html">Epost inn som arkivformat i Riksarkivarens forskrift?
</a>
1018 <p>I disse dager, med frist
1. mai, har Riksarkivaren ute en høring på
1019 sin forskrift. Som en kan se er det ikke mye tid igjen før fristen
1020 som går ut på søndag. Denne forskriften er det som lister opp hvilke
1021 formater det er greit å arkivere i
1022 <a href=
"http://www.arkivverket.no/arkivverket/Offentleg-forvalting/Noark/Noark-5">Noark
1023 5-løsninger
</a> i Norge.
</p>
1025 <p>Jeg fant høringsdokumentene hos
1026 <a href=
"https://www.arkivrad.no/aktuelt/riksarkivarens-forskrift-pa-horing">Norsk
1027 Arkivråd
</a> etter å ha blitt tipset på epostlisten til
1028 <a href=
"https://github.com/hiOA-ABI/nikita-noark5-core">fri
1029 programvareprosjektet Nikita Noark5-Core
</a>, som lager et Noark
5
1030 Tjenestegresesnitt. Jeg er involvert i Nikita-prosjektet og takket
1031 være min interesse for tjenestegrensesnittsprosjektet har jeg lest en
1032 god del Noark
5-relaterte dokumenter, og til min overraskelse oppdaget
1033 at standard epost ikke er på listen over godkjente formater som kan
1034 arkiveres. Høringen med frist søndag er en glimrende mulighet til å
1035 forsøke å gjøre noe med det. Jeg holder på med
1036 <a href=
"https://github.com/petterreinholdtsen/noark5-tester/blob/master/docs/hoering-arkivforskrift.tex">egen
1037 høringsuttalelse
</a>, og lurer på om andre er interessert i å støtte
1038 forslaget om å tillate arkivering av epost som epost i arkivet.
</p>
1040 <p>Er du igang med å skrive egen høringsuttalelse allerede? I så fall
1041 kan du jo vurdere å ta med en formulering om epost-lagring. Jeg tror
1042 ikke det trengs så mye. Her et kort forslag til tekst:
</p>
1046 <p>Viser til høring sendt ut
2017-
02-
17 (Riksarkivarens referanse
1047 2016/
9840 HELHJO), og tillater oss å sende inn noen innspill om
1048 revisjon av Forskrift om utfyllende tekniske og arkivfaglige
1049 bestemmelser om behandling av offentlige arkiver (Riksarkivarens
1052 <p>Svært mye av vår kommuikasjon foregår i dag på e-post. Vi
1053 foreslår derfor at Internett-e-post, slik det er beskrevet i IETF
1055 <a href=
"https://tools.ietf.org/html/rfc5322">https://tools.ietf.org/html/rfc5322
</a>. bør
1056 inn som godkjent dokumentformat. Vi foreslår at forskriftens
1057 oversikt over godkjente dokumentformater ved innlevering i §
5-
16
1058 endres til å ta med Internett-e-post.
</p>
1062 <p>Som del av arbeidet med tjenestegrensesnitt har vi testet hvordan
1063 epost kan lagres i en Noark
5-struktur, og holder på å skrive et
1064 forslag om hvordan dette kan gjøres som vil bli sendt over til
1065 arkivverket så snart det er ferdig. De som er interesserte kan
1066 <a href=
"https://github.com/petterreinholdtsen/noark5-tester/blob/master/docs/epostlagring.md">følge
1067 fremdriften på web
</a>.
</p>
1069 <p>Oppdatering
2017-
04-
28: I dag ble høringuttalelsen jeg skrev
1070 <a href=
"https://www.nuug.no/news/NUUGs_h_ringuttalelse_til_Riksarkivarens_forskrift.shtml">sendt
1071 inn av foreningen NUUG
</a>.
</p>
1077 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
1082 <div class=
"padding"></div>
1086 <a href=
"http://people.skolelinux.org/pere/blog/Free_software_archive_system_Nikita_now_able_to_store_documents.html">Free software archive system Nikita now able to store documents
</a>
1092 <p>The
<a href=
"https://github.com/hiOA-ABI/nikita-noark5-core">Nikita
1093 Noark
5 core project
</a> is implementing the Norwegian standard for
1094 keeping an electronic archive of government documents.
1095 <a href=
"http://www.arkivverket.no/arkivverket/Offentlig-forvaltning/Noark/Noark-5/English-version">The
1096 Noark
5 standard
</a> document the requirement for data systems used by
1097 the archives in the Norwegian government, and the Noark
5 web interface
1098 specification document a REST web service for storing, searching and
1099 retrieving documents and metadata in such archive. I've been involved
1100 in the project since a few weeks before Christmas, when the Norwegian
1102 <a href=
"https://www.nuug.no/news/NOARK5_kjerne_som_fri_programvare_f_r_epostliste_hos_NUUG.shtml">announced
1103 it supported the project
</a>. I believe this is an important project,
1104 and hope it can make it possible for the government archives in the
1105 future to use free software to keep the archives we citizens depend
1106 on. But as I do not hold such archive myself, personally my first use
1107 case is to store and analyse public mail journal metadata published
1108 from the government. I find it useful to have a clear use case in
1109 mind when developing, to make sure the system scratches one of my
1112 <p>If you would like to help make sure there is a free software
1113 alternatives for the archives, please join our IRC channel
1114 (
<a href=
"irc://irc.freenode.net/%23nikita">#nikita on
1115 irc.freenode.net
</a>) and
1116 <a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark">the
1117 project mailing list
</a>.
</p>
1119 <p>When I got involved, the web service could store metadata about
1120 documents. But a few weeks ago, a new milestone was reached when it
1121 became possible to store full text documents too. Yesterday, I
1122 completed an implementation of a command line tool
1123 <tt>archive-pdf
</tt> to upload a PDF file to the archive using this
1124 API. The tool is very simple at the moment, and find existing
1125 <a href=
"https://en.wikipedia.org/wiki/Fonds">fonds
</a>, series and
1126 files while asking the user to select which one to use if more than
1127 one exist. Once a file is identified, the PDF is associated with the
1128 file and uploaded, using the title extracted from the PDF itself. The
1129 process is fairly similar to visiting the archive, opening a cabinet,
1130 locating a file and storing a piece of paper in the archive. Here is
1131 a test run directly after populating the database with test data using
1134 <p><blockquote><pre>
1135 ~/src//noark5-tester$ ./archive-pdf mangelmelding/mangler.pdf
1136 using arkiv: Title of the test fonds created
2017-
03-
18T23:
49:
32.103446
1137 using arkivdel: Title of the test series created
2017-
03-
18T23:
49:
32.103446
1139 0 - Title of the test case file created
2017-
03-
18T23:
49:
32.103446
1140 1 - Title of the test file created
2017-
03-
18T23:
49:
32.103446
1141 Select which mappe you want (or search term):
0
1142 Uploading mangelmelding/mangler.pdf
1143 PDF title: Mangler i spesifikasjonsdokumentet for NOARK
5 Tjenestegrensesnitt
1144 File
2017/
1: Title of the test case file created
2017-
03-
18T23:
49:
32.103446
1145 ~/src//noark5-tester$
1146 </pre></blockquote></p>
1148 <p>You can see here how the fonds (arkiv) and serie (arkivdel) only had
1149 one option, while the user need to choose which file (mappe) to use
1150 among the two created by the API tester. The
<tt>archive-pdf
</tt>
1151 tool can be found in the git repository for the API tester.
</p>
1153 <p>In the project, I have been mostly working on
1154 <a href=
"https://github.com/petterreinholdtsen/noark5-tester">the API
1155 tester
</a> so far, while getting to know the code base. The API
1156 tester currently use
1157 <a href=
"https://en.wikipedia.org/wiki/HATEOAS">the HATEOAS links
</a>
1158 to traverse the entire exposed service API and verify that the exposed
1159 operations and objects match the specification, as well as trying to
1160 create objects holding metadata and uploading a simple XML file to
1161 store. The tester has proved very useful for finding flaws in our
1162 implementation, as well as flaws in the reference site and the
1165 <p>The test document I uploaded is a summary of all the specification
1166 defects we have collected so far while implementing the web service.
1167 There are several unclear and conflicting parts of the specification,
1169 <a href=
"https://github.com/petterreinholdtsen/noark5-tester/tree/master/mangelmelding">started
1170 writing down
</a> the questions we get from implementing it. We use a
1171 format inspired by how
<a href=
"http://www.opengroup.org/austin/">The
1172 Austin Group
</a> collect defect reports for the POSIX standard with
1173 <a href=
"http://www.opengroup.org/austin/mantis.html">their
1174 instructions for the MANTIS defect tracker system
</a>, in lack of an official way to structure defect reports for Noark
5 (our first submitted defect report was a
<a href=
"https://github.com/petterreinholdtsen/noark5-tester/blob/master/mangelmelding/sendt/2017-03-15-mangel-prosess.md">request for a procedure for submitting defect reports
</a> :).
1176 <p>The Nikita project is implemented using Java and Spring, and is
1177 fairly easy to get up and running using Docker containers for those
1178 that want to test the current code base. The API tester is
1179 implemented in Python.
</p>
1185 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
1190 <div class=
"padding"></div>
1194 <a href=
"http://people.skolelinux.org/pere/blog/Hva__mangler__i_OEP___litt_statistikk_utledet_fra_saksnummer_og_dokumentnummer.html">Hva «mangler» i OEP - litt statistikk utledet fra saksnummer og dokumentnummer
</a>
1200 <p>En ting jeg har lurt på når det gjelder offentlige postjournaler,
1201 er hvor stor andel av det som ligger i de interne databasene kommer
1202 ikke med i postjournalen. Dette er det mulig å finne ut basert på det
1203 som ligger i postjournalen. For å forstå hva jeg mener, trengs det
1204 litt bakgrunnsinformasjon. I henhold til
1205 <a href=
"http://www.arkivverket.no/arkivverket/Offentleg-forvalting/Noark">NOARK-standarden
</a>
1206 for norske offentlige arkiv skal enhver sak ha et årstall og et
1207 løpenummer, og ethvert dokument i saken skal gis et
1208 dokument-løpenummer. Det vil si at en ender opp med dokument-ID som
1209 ser ut som Ã…Ã…Ã…Ã…/SAKNR-DOKNR, f.eks.
2014/
2-
1 eller
2014/
12312-
14.
1210 Mange oppgir kun tosifret årstall, men prinsippet er det samme. Så
1211 vidt jeg vet skal saksnummer og dokumentnummer tildeles løpende og i
1212 stigende rekkefølge. Gitt en instans med følgende dokument-ID i
1213 postjournalen, så kan en regne ut hvor mye som ikke finnes i
1222 <p>Her ser en at saksnummer
2 og
5 finnes i postjournalen, mens
1223 nummerene
1,
3 og
4 mangler. En ser også at i sak
2014/
5 mangler
1224 dokument
2. Ved hjelp av denne informasjonen har jeg regnet ut hvor
1225 stor andel av saksnummer og dokumentløpenummer som ikke har dukket opp
1226 i
<a href=
"https://www.oep.no/">Offentlig Elektronisk Postjournal
</a>
1227 (OEP). For saksnummer har jeg tatt utgangspunkt i at en ikke trenger
1228 å starte på
1, og dermed regnet med området fra laveste til høyeste
1229 saksnummer og talt antall unike saksnummer som forekommer i OEP. I
1230 dette tilfellet betyr de at
2 av
4 saksnummer er ubrukte (
50%). For
1231 dokumentløpenummer har jeg tilsvarende tatt utgangspunkt i laveste og
1232 høyeste kjente dokumentløpenummer, for å handtere databaser der jeg
1233 mangler komplett postjournal. For sak
2014/
5 her betyr det at
1 av
3
1234 dokumenter mangler (
33%).
</p>
1236 <p>Det er flere årsaker til at det kan bli hull i nummerseriene.
1237 Feilføring der et dokument tildeles et nytt saksnummer ved en feil, og
1238 deretter flyttes inn i riktig sak vil gi et ubrukt saksnummer, da
1239 saksnummer skal tildeles i stigende rekkefølge og en ikke får opprette
1240 nye saker innimellom gamle saker. Tilsvarende kan skje med
1241 dokument-løpenummer. Det er jo heller ikke sikkert at et saksnummer i
1242 OEP er det samme som løpenummeret som brukes som saksnummeret i
1243 instansens interne datasystem. Kanskje snakker vi om ulike ontologier
1244 der en delmengde av interne saksnummer tilsvarer saksnummer i OEP.
1245 Hvis like nummer også tildeles andre ting enn saker som skal til OEP
1246 vil en tilsvarende få «hull» i saksnumrene i postjournalen.
</p>
1248 <p>Jeg er litt usikker på hva denne statistikken egentlig viser, og
1249 heller ikke sikker på om det er reelt sett mangler i OEP (som kanskje
1250 kunne anses å være kritikkverdig), bare er resultatet av hendelige
1251 uhell i nummertildelingen eller resultat av ulik ontologi i OEP og
1252 instansens datasystem. Men jeg syntes tallene og variasjonen var så
1253 interessant at jeg hadde lyst til å dele dem med mine lesere. Jeg har
1254 sortert listen på prosent upubliserte saksnummer for
2014.
</p>
1257 <tr><th colspan=
"6">Saksnummer
</th><th colspan=
"3">Dokumentnummer
</th><th rowspan=
"3">Instans
</th></tr>
1258 <tr><th colspan=
"3">2014</th><th colspan=
"3">2013</th><th colspan=
"3">2014</th></tr>
1259 <tr><th>%
</th><th>Upubl. saksnr.
</th><th>Totalt
</th>
1260 <th>%
</th><th>Upubl. saksnr
</th><th>Totalt
</th>
1261 <th>%
</th><th>Upubl. dok.nr.
</th><th>Totalt
</th>
1264 <tr><td> 0.6</td><td> 8</td><td> 1282</td><td> 0.2</td><td> 2</td><td> 861</td><td> 0.0</td><td> 0</td><td> 6105</td><td>Vox, nasjonalt fagorgan for kompetansepolitikk
</td></tr>
1265 <tr><td> 0.9</td><td> 91</td><td> 9863</td><td> 2.7</td><td> 313</td><td> 11703</td><td> 0.0</td><td> 0</td><td> 24029</td><td>Direktoratet for byggkvalitet
</td></tr>
1266 <tr><td> 1.0</td><td> 161</td><td> 15663</td><td> 3.3</td><td> 558</td><td> 17045</td><td> 0.0</td><td> 0</td><td> 41954</td><td>Justervesenet
</td></tr>
1267 <tr><td> 1.1</td><td> 325</td><td> 28515</td><td> 1.2</td><td> 357</td><td> 29621</td><td> 0.0</td><td> 0</td><td> 66871</td><td>Arkivverket
</td></tr>
1268 <tr><td> 1.8</td><td> 28</td><td> 1568</td><td> 1.0</td><td> 17</td><td> 1722</td><td> 0.0</td><td> 0</td><td> 9259</td><td>Statistisk sentralbyrå
</td></tr>
1269 <tr><td> 1.8</td><td> 92</td><td> 5066</td><td>75.4</td><td>3144</td><td> 4169</td><td> 0.0</td><td> 0</td><td> 17056</td><td>Arbeids- og sosialdepartementet
</td></tr>
1270 <tr><td> 2.2</td><td> 32</td><td> 1470</td><td> 2.4</td><td> 36</td><td> 1471</td><td> 0.0</td><td> 0</td><td> 9757</td><td>Norsk Filminstitutt
</td></tr>
1271 <tr><td> 2.3</td><td> 34</td><td> 1478</td><td> 2.9</td><td> 41</td><td> 1425</td><td> 0.0</td><td> 0</td><td> 4522</td><td>Datatilsynet
</td></tr>
1272 <tr><td> 2.7</td><td> 49</td><td> 1795</td><td> 2.8</td><td> 34</td><td> 1199</td><td> 0.0</td><td> 0</td><td> 5824</td><td>Direktoratet for mineralforvaltning med Bergmesteren for Svalbard
</td></tr>
1273 <tr><td> 3.1</td><td> 134</td><td> 4326</td><td> 2.8</td><td> 144</td><td> 5119</td><td> 0.0</td><td> 0</td><td> 12223</td><td>Brønnøysundregistrene
</td></tr>
1274 <tr><td> 3.1</td><td> 201</td><td> 6571</td><td> 6.1</td><td> 603</td><td> 9870</td><td> 0.0</td><td> 0</td><td> 22390</td><td>Statens kartverk
</td></tr>
1275 <tr><td> 3.2</td><td> 228</td><td> 7092</td><td> 2.0</td><td> 143</td><td> 7032</td><td> 0.1</td><td> 14</td><td> 24491</td><td>Lotteri- og stiftelsestilsynet
</td></tr>
1276 <tr><td> 3.6</td><td> 32</td><td> 891</td><td> 4.9</td><td> 37</td><td> 753</td><td> 0.0</td><td> 0</td><td> 3055</td><td>Statens innkrevingssentral
</td></tr>
1277 <tr><td> 3.8</td><td>1016</td><td> 26466</td><td> 2.5</td><td> 716</td><td> 28727</td><td> 0.0</td><td> 0</td><td> 86951</td><td>Husbanken
</td></tr>
1278 <tr><td> 3.9</td><td> 52</td><td> 1326</td><td>14.4</td><td> 180</td><td> 1247</td><td> 0.0</td><td> 0</td><td> 4922</td><td>Sysselmannen på Svalbard
</td></tr>
1279 <tr><td> 4.0</td><td> 248</td><td> 6250</td><td> 4.6</td><td> 332</td><td> 7159</td><td> 0.0</td><td> 0</td><td> 22063</td><td>Post- og teletilsynet
</td></tr>
1280 <tr><td> 4.1</td><td> 102</td><td> 2488</td><td> 2.7</td><td> 62</td><td> 2291</td><td> 0.0</td><td> 0</td><td> 9707</td><td>Forbrukerombudet
</td></tr>
1281 <tr><td> 4.8</td><td> 51</td><td> 1060</td><td>12.6</td><td> 132</td><td> 1046</td><td> 0.0</td><td> 0</td><td> 3616</td><td>Statens strålevern
</td></tr>
1282 <tr><td> 5.2</td><td> 924</td><td> 17781</td><td> 6.3</td><td>1184</td><td> 18665</td><td> 0.0</td><td> 0</td><td> 59772</td><td>Fiskeridirektoratet
</td></tr>
1283 <tr><td> 5.5</td><td> 254</td><td> 4638</td><td> 6.1</td><td> 315</td><td> 5168</td><td> 0.0</td><td> 0</td><td> 15470</td><td>Barne-, likestillings- og inkluderingsdepartementet
</td></tr>
1284 <tr><td> 6.0</td><td> 80</td><td> 1336</td><td> 3.7</td><td> 48</td><td> 1314</td><td> 0.0</td><td> 0</td><td> 2691</td><td>Medietilsynet
</td></tr>
1285 <tr><td> 6.1</td><td> 91</td><td> 1486</td><td> 5.0</td><td> 83</td><td> 1651</td><td> 0.2</td><td> 17</td><td> 7473</td><td>Petroleumstilsynet
</td></tr>
1286 <tr><td> 6.2</td><td> 248</td><td> 3997</td><td>73.7</td><td>3459</td><td> 4693</td><td> 0.0</td><td> 0</td><td> 10963</td><td>Klima- og miljødepartementet
</td></tr>
1287 <tr><td> 7.0</td><td> 190</td><td> 2700</td><td>10.2</td><td> 207</td><td> 2033</td><td> 0.0</td><td> 1</td><td> 14299</td><td>Samferdselsdepartementet
</td></tr>
1288 <tr><td> 7.1</td><td> 35</td><td> 492</td><td> 4.5</td><td> 41</td><td> 909</td><td> 0.0</td><td> 0</td><td> 2960</td><td>Konkurransetilsynet
</td></tr>
1289 <tr><td> 7.1</td><td> 482</td><td> 6800</td><td> 6.4</td><td> 532</td><td> 8259</td><td> 0.0</td><td> 0</td><td> 28684</td><td>Justis- og beredskapsdepartementet
</td></tr>
1290 <tr><td> 7.2</td><td> 87</td><td> 1204</td><td> 4.2</td><td> 50</td><td> 1199</td><td> 0.0</td><td> 3</td><td> 7428</td><td>Oljedirektoratet
</td></tr>
1291 <tr><td> 7.2</td><td> 106</td><td> 1478</td><td> 6.3</td><td> 129</td><td> 2045</td><td> 0.0</td><td> 2</td><td> 4987</td><td>Statens jernbanetilsyn
</td></tr>
1292 <tr><td> 7.2</td><td> 131</td><td> 1813</td><td> 8.5</td><td> 124</td><td> 1452</td><td> 0.0</td><td> 2</td><td> 8758</td><td>Statsministerens kontor
</td></tr>
1293 <tr><td> 7.3</td><td> 816</td><td> 11218</td><td> 6.1</td><td> 655</td><td> 10665</td><td> 0.0</td><td> 0</td><td> 47160</td><td>Norges forskningsråd
</td></tr>
1294 <tr><td> 7.8</td><td>1150</td><td> 14712</td><td> 6.7</td><td> 746</td><td> 11202</td><td> 0.0</td><td> 0</td><td> 33794</td><td>Miljødirektoratet
</td></tr>
1295 <tr><td> 7.9</td><td> 411</td><td> 5216</td><td> 8.3</td><td> 446</td><td> 5365</td><td> 0.0</td><td> 0</td><td> 16441</td><td>Helse- og omsorgsdepartementet
</td></tr>
1296 <tr><td> 8.3</td><td> 376</td><td> 4514</td><td> 8.2</td><td> 457</td><td> 5548</td><td> 0.0</td><td> 3</td><td> 20840</td><td>Luftfartstilsynet
</td></tr>
1297 <tr><td> 8.5</td><td> 185</td><td> 2181</td><td> 9.8</td><td> 175</td><td> 1780</td><td> 0.0</td><td> 0</td><td> 7669</td><td>Landbruks- og matdepartementet
</td></tr>
1298 <tr><td> 8.6</td><td> 10</td><td> 116</td><td> 0.8</td><td> 1</td><td> 127</td><td> 0.0</td><td> 0</td><td> 318</td><td>Statens institutt for rusmiddelforskning
</td></tr>
1299 <tr><td> 9.0</td><td> 597</td><td> 6648</td><td> 9.7</td><td> 705</td><td> 7236</td><td> 0.0</td><td> 3</td><td> 35663</td><td>Utdanningsdirektoratet
</td></tr>
1300 <tr><td> 9.0</td><td>1139</td><td> 12632</td><td> 8.2</td><td>1100</td><td> 13344</td><td> 0.0</td><td> 2</td><td> 36987</td><td>Finanstilsynet
</td></tr>
1301 <tr><td> 9.1</td><td> 540</td><td> 5949</td><td>13.4</td><td> 769</td><td> 5743</td><td> 0.0</td><td> 0</td><td> 13908</td><td>Finansdepartementet
</td></tr>
1302 <tr><td> 9.2</td><td> 256</td><td> 2787</td><td> 6.5</td><td> 203</td><td> 3147</td><td> 0.0</td><td> 0</td><td> 9487</td><td>Riksantikvaren - Direktoratet for kulturminneforvaltning
</td></tr>
1303 <tr><td> 9.3</td><td>1596</td><td> 17209</td><td> 2.5</td><td> 463</td><td> 18438</td><td> 0.0</td><td> 0</td><td> 53119</td><td>Statens legemiddelverk
</td></tr>
1304 <tr><td> 9.7</td><td> 299</td><td> 3085</td><td>10.7</td><td> 329</td><td> 3072</td><td> 0.1</td><td> 6</td><td> 7579</td><td>Forsvarsdepartementet
</td></tr>
1305 <tr><td>10.1</td><td> 167</td><td> 1650</td><td> 4.5</td><td> 65</td><td> 1445</td><td> 0.0</td><td> 0</td><td> 11157</td><td>Statens helsetilsyn
</td></tr>
1306 <tr><td>10.9</td><td> 59</td><td> 542</td><td> 7.7</td><td> 44</td><td> 569</td><td> 0.0</td><td> 0</td><td> 1283</td><td>Statens arbeidsmiljøinstitutt
</td></tr>
1307 <tr><td>11.3</td><td> 46</td><td> 407</td><td>96.1</td><td>2591</td><td> 2695</td><td> 0.0</td><td> 0</td><td> 1489</td><td>Landbruksdirektoratet Alta
</td></tr>
1308 <tr><td>11.4</td><td> 675</td><td> 5933</td><td>13.6</td><td> 613</td><td> 4492</td><td> 0.0</td><td> 0</td><td> 24598</td><td>Kystverket
</td></tr>
1309 <tr><td>11.6</td><td> 739</td><td> 6383</td><td>12.2</td><td> 748</td><td> 6121</td><td> 0.0</td><td> 1</td><td> 18605</td><td>Kunnskapsdepartementet
</td></tr>
1310 <tr><td>11.9</td><td> 641</td><td> 5398</td><td> 9.3</td><td> 432</td><td> 4655</td><td> 0.0</td><td> 0</td><td> 14438</td><td>Kulturdepartementet
</td></tr>
1311 <tr><td>11.9</td><td> 934</td><td> 7835</td><td> 0.0</td><td> 0</td><td> 0</td><td> 0.0</td><td> 0</td><td> 33448</td><td>Kommunal- og moderniseringsdepartementet
</td></tr>
1312 <tr><td>12.1</td><td> 588</td><td> 4860</td><td>12.2</td><td> 522</td><td> 4294</td><td> 0.0</td><td> 0</td><td> 14173</td><td>Politidirektoratet
</td></tr>
1313 <tr><td>12.1</td><td>1444</td><td> 11893</td><td>46.0</td><td>5212</td><td> 11331</td><td> 0.0</td><td> 0</td><td> 51438</td><td>Helsedirektoratet
</td></tr>
1314 <tr><td>12.6</td><td> 220</td><td> 1745</td><td>17.5</td><td> 112</td><td> 640</td><td> 0.1</td><td> 3</td><td> 4184</td><td>Språkrådet
</td></tr>
1315 <tr><td>12.7</td><td> 211</td><td> 1664</td><td> 9.7</td><td> 226</td><td> 2318</td><td> 0.0</td><td> 0</td><td> 9151</td><td>Direktoratet for utviklingssamarbeid
</td></tr>
1316 <tr><td>13.9</td><td> 321</td><td> 2309</td><td>15.1</td><td> 329</td><td> 2185</td><td> 0.0</td><td> 0</td><td> 6307</td><td>Olje- og energidepartementet
</td></tr>
1317 <tr><td>14.3</td><td> 429</td><td> 2996</td><td>12.5</td><td> 303</td><td> 2432</td><td> 0.0</td><td> 0</td><td> 7560</td><td>Nasjonalt folkehelseinstitutt
</td></tr>
1318 <tr><td>14.4</td><td>1408</td><td> 9785</td><td> 0.0</td><td> 0</td><td> 0</td><td> 0.0</td><td> 0</td><td> 38923</td><td>Nærings- og fiskeridepartementet
</td></tr>
1319 <tr><td>14.7</td><td> 143</td><td> 973</td><td> 7.7</td><td> 83</td><td> 1084</td><td> 0.0</td><td> 0</td><td> 4130</td><td>Utlendingsnemnda
</td></tr>
1320 <tr><td>15.8</td><td> 173</td><td> 1097</td><td>38.8</td><td> 621</td><td> 1602</td><td> 0.0</td><td> 0</td><td> 7557</td><td>Direktoratet for forvaltning og IKT
</td></tr>
1321 <tr><td>16.7</td><td>1345</td><td> 8069</td><td> 8.6</td><td> 703</td><td> 8219</td><td> 0.0</td><td> 0</td><td> 20834</td><td>Norges vassdrags- og energidirektorat
</td></tr>
1322 <tr><td>17.5</td><td> 61</td><td> 348</td><td>17.2</td><td> 67</td><td> 389</td><td> 0.0</td><td> 0</td><td> 7732</td><td>Senter for internasjonalisering av utdanning
</td></tr>
1323 <tr><td>18.9</td><td>3737</td><td> 19734</td><td> 4.4</td><td> 606</td><td> 13752</td><td> 0.0</td><td> 0</td><td> 49938</td><td>Direktoratet for samfunnssikkerhet og beredskap
</td></tr>
1324 <tr><td>19.1</td><td>1392</td><td> 7269</td><td>19.1</td><td>1263</td><td> 6601</td><td> 0.0</td><td> 0</td><td> 19869</td><td>Fylkesmannen i Troms
</td></tr>
1325 <tr><td>20.4</td><td> 768</td><td> 3758</td><td>15.7</td><td> 471</td><td> 3008</td><td> 0.1</td><td> 9</td><td> 11280</td><td>Integrerings- og mangfoldsdirektoratet
</td></tr>
1326 <tr><td>21.0</td><td> 995</td><td> 4737</td><td>17.8</td><td> 978</td><td> 5508</td><td> 0.0</td><td> 0</td><td> 11260</td><td>Fylkesmannen i Sogn og Fjordane
</td></tr>
1327 <tr><td>21.6</td><td> 16</td><td> 74</td><td>97.3</td><td>2626</td><td> 2698</td><td> 0.0</td><td> 0</td><td> 155</td><td>Statens reindriftsforvaltning
</td></tr>
1328 <tr><td>22.1</td><td> 96</td><td> 435</td><td>17.6</td><td> 81</td><td> 459</td><td> 0.2</td><td> 3</td><td> 1943</td><td>Norges geologiske undersøkelse
</td></tr>
1329 <tr><td>22.3</td><td> 27</td><td> 121</td><td>10.6</td><td> 15</td><td> 141</td><td> 0.1</td><td> 1</td><td> 779</td><td>Kunst i offentlige rom
</td></tr>
1330 <tr><td>22.4</td><td>1939</td><td> 8659</td><td>21.8</td><td>1992</td><td> 9120</td><td> 0.0</td><td> 1</td><td> 17738</td><td>Fylkesmannen i Nordland
</td></tr>
1331 <tr><td>22.5</td><td> 52</td><td> 231</td><td>14.7</td><td> 32</td><td> 217</td><td> 0.0</td><td> 0</td><td> 896</td><td>Fredskorpset
</td></tr>
1332 <tr><td>22.5</td><td>2017</td><td> 8957</td><td>95.5</td><td>40498</td><td> 42425</td><td> 0.0</td><td> 0</td><td> 14223</td><td>Statens landbruksforvaltning
</td></tr>
1333 <tr><td>22.9</td><td> 116</td><td> 507</td><td>15.2</td><td> 81</td><td> 532</td><td> 0.0</td><td> 0</td><td> 2069</td><td>Nasjonalbiblioteket
</td></tr>
1334 <tr><td>25.5</td><td> 211</td><td> 829</td><td>20.8</td><td> 205</td><td> 987</td><td> 0.0</td><td> 0</td><td> 3867</td><td>Direktoratet for økonomistyring
</td></tr>
1335 <tr><td>26.1</td><td> 6</td><td> 23</td><td> 9.7</td><td> 3</td><td> 31</td><td> 0.0</td><td> 0</td><td> 106</td><td>Kompetansesenter for distriktsutvikling
</td></tr>
1336 <tr><td>26.6</td><td> 187</td><td> 702</td><td>28.5</td><td> 248</td><td> 871</td><td> 0.0</td><td> 1</td><td> 3154</td><td>Nasjonalt organ for kvalitet i utdanningen
</td></tr>
1337 <tr><td>27.1</td><td> 90</td><td> 332</td><td>13.2</td><td> 41</td><td> 311</td><td> 0.0</td><td> 0</td><td> 2400</td><td>Norsk Akkreditering
</td></tr>
1338 <tr><td>28.3</td><td> 562</td><td> 1986</td><td>20.0</td><td> 518</td><td> 2586</td><td> 0.0</td><td> 0</td><td> 6267</td><td>Statens lånekasse for utdanning
</td></tr>
1339 <tr><td>28.8</td><td> 443</td><td> 1538</td><td>41.0</td><td> 688</td><td> 1679</td><td> 0.0</td><td> 0</td><td> 5556</td><td>Havforskningsinstituttet
</td></tr>
1340 <tr><td>29.8</td><td>1473</td><td> 4944</td><td>24.8</td><td>1047</td><td> 4230</td><td> 0.0</td><td> 0</td><td> 9850</td><td>Utlendingsdirektoratet
</td></tr>
1341 <tr><td>29.8</td><td>1563</td><td> 5249</td><td>31.0</td><td>1421</td><td> 4588</td><td> 0.0</td><td> 0</td><td> 15660</td><td>Fylkesmannen i Finnmark
</td></tr>
1342 <tr><td>30.8</td><td> 314</td><td> 1021</td><td>58.4</td><td> 941</td><td> 1610</td><td> 0.3</td><td> 13</td><td> 3979</td><td>Direktoratet for nødkommunikasjon
</td></tr>
1343 <tr><td>31.4</td><td> 463</td><td> 1475</td><td>37.0</td><td> 280</td><td> 757</td><td> 0.1</td><td> 7</td><td> 4797</td><td>Domstoladministrasjonen
</td></tr>
1344 <tr><td>31.8</td><td>4708</td><td> 14785</td><td>25.2</td><td>2236</td><td> 8879</td><td> 0.0</td><td> 2</td><td> 39313</td><td>Utenriksdepartementet
</td></tr>
1345 <tr><td>36.1</td><td> 526</td><td> 1456</td><td>76.6</td><td>1364</td><td> 1781</td><td> 0.0</td><td> 0</td><td> 4472</td><td>Departementenes sikkerhets- og serviceorganisasjon
</td></tr>
1346 <tr><td>36.7</td><td> 447</td><td> 1217</td><td>63.8</td><td>1503</td><td> 2355</td><td> 1.8</td><td> 92</td><td> 5121</td><td>Garantiinstituttet for eksportkreditt
</td></tr>
1347 <tr><td>38.2</td><td>3341</td><td> 8744</td><td>34.7</td><td>3096</td><td> 8927</td><td> 0.0</td><td> 3</td><td> 15180</td><td>Fylkesmannen i Oppland
</td></tr>
1348 <tr><td>39.3</td><td>6267</td><td> 15947</td><td>37.7</td><td>6262</td><td> 16606</td><td> 0.1</td><td> 15</td><td> 29707</td><td>Fylkesmannen i Hordaland
</td></tr>
1349 <tr><td>39.6</td><td>2122</td><td> 5365</td><td>41.3</td><td>2242</td><td> 5428</td><td> 0.0</td><td> 0</td><td> 12680</td><td>Fylkesmannen i Telemark
</td></tr>
1350 <tr><td>40.8</td><td>3137</td><td> 7698</td><td>37.0</td><td>3059</td><td> 8272</td><td> 0.0</td><td> 5</td><td> 13848</td><td>Fylkesmannen i Nord-Trøndelag
</td></tr>
1351 <tr><td>42.1</td><td>1528</td><td> 3627</td><td>19.2</td><td> 529</td><td> 2750</td><td> 0.0</td><td> 1</td><td> 13524</td><td>Statsbygg
</td></tr>
1352 <tr><td>42.4</td><td>2844</td><td> 6700</td><td>42.4</td><td>2913</td><td> 6863</td><td> 0.0</td><td> 0</td><td> 12090</td><td>Fylkesmannen i Vest-Agder
</td></tr>
1353 <tr><td>42.9</td><td> 6</td><td> 14</td><td>88.9</td><td>2398</td><td> 2698</td><td> 0.0</td><td> 0</td><td> 23</td><td>Reindriftsforvaltningen
</td></tr>
1354 <tr><td>43.3</td><td>3310</td><td> 7645</td><td>42.6</td><td>3369</td><td> 7908</td><td> 0.0</td><td> 0</td><td> 15739</td><td>Fylkesmannen i Vestfold
</td></tr>
1355 <tr><td>43.4</td><td>3433</td><td> 7905</td><td>40.8</td><td>3508</td><td> 8594</td><td> 0.0</td><td> 0</td><td> 12921</td><td>Fylkesmannen i Møre og Romsdal
</td></tr>
1356 <tr><td>43.4</td><td>5540</td><td> 12773</td><td>40.1</td><td>5429</td><td> 13534</td><td> 0.0</td><td> 0</td><td> 22389</td><td>Fylkesmannen i Rogaland
</td></tr>
1357 <tr><td>43.6</td><td>2334</td><td> 5350</td><td>39.5</td><td>2314</td><td> 5861</td><td> 0.0</td><td> 0</td><td> 9997</td><td>Fylkesmannen i Aust-Agder
</td></tr>
1358 <tr><td>43.7</td><td>2656</td><td> 6079</td><td>23.1</td><td> 890</td><td> 3853</td><td> 0.1</td><td> 21</td><td> 18064</td><td>Forsvarsbygg
</td></tr>
1359 <tr><td>48.9</td><td>4276</td><td> 8747</td><td>48.0</td><td>4189</td><td> 8734</td><td> 0.0</td><td> 0</td><td> 16281</td><td>Fylkesmannen i Buskerud
</td></tr>
1360 <tr><td>50.9</td><td>5106</td><td> 10024</td><td>45.7</td><td>4584</td><td> 10022</td><td> 0.0</td><td> 0</td><td> 15340</td><td>Fylkesmannen i Sør-Trøndelag
</td></tr>
1361 <tr><td>51.4</td><td>4477</td><td> 8703</td><td>45.8</td><td>4240</td><td> 9253</td><td> 0.0</td><td> 5</td><td> 12067</td><td>Fylkesmannen i Hedmark
</td></tr>
1362 <tr><td>51.5</td><td> 210</td><td> 408</td><td>36.8</td><td> 656</td><td> 1785</td><td> 0.0</td><td> 0</td><td> 658</td><td>Departementenes servicesenter
</td></tr>
1363 <tr><td>52.7</td><td>4663</td><td> 8852</td><td>46.6</td><td>4110</td><td> 8824</td><td> 0.0</td><td> 0</td><td> 13869</td><td>Fylkesmannen i Østfold
</td></tr>
1364 <tr><td>59.7</td><td>14852</td><td> 24867</td><td>56.6</td><td>14366</td><td> 25404</td><td> 0.0</td><td> 0</td><td> 38706</td><td>Fylkesmannen i Oslo og Akershus
</td></tr>
1365 <tr><td>61.1</td><td>44900</td><td> 73495</td><td>95.1</td><td>40365</td><td> 42462</td><td> 0.0</td><td> 11</td><td> 63747</td><td>Landbruksdirektoratet Oslo
</td></tr>
1366 <tr><td>63.8</td><td>68121</td><td>106802</td><td>18.5</td><td>7592</td><td> 41093</td><td> 0.0</td><td> 0</td><td>144950</td><td>Arbeidstilsynet
</td></tr>
1367 <tr><td>69.8</td><td>110225</td><td>157962</td><td>70.8</td><td>105811</td><td>149449</td><td> 0.0</td><td> 14</td><td>106772</td><td>Statens vegvesen Region øst
</td></tr>
1368 <tr><td>72.2</td><td>16772</td><td> 23215</td><td>95.2</td><td>16409</td><td> 17238</td><td> 0.0</td><td> 0</td><td> 16705</td><td>Norsk kulturråd
</td></tr>
1369 <tr><td>78.6</td><td>124131</td><td>157956</td><td>77.6</td><td>115949</td><td>149462</td><td> 0.0</td><td> 0</td><td> 77689</td><td>Statens vegvesen Region sør
</td></tr>
1370 <tr><td>80.7</td><td>55587</td><td> 68896</td><td>71.9</td><td>36121</td><td> 50269</td><td> 0.0</td><td> 0</td><td> 42152</td><td>Sjøfartsdirektoratet
</td></tr>
1371 <tr><td>81.0</td><td>128006</td><td>157956</td><td>80.1</td><td>119743</td><td>149456</td><td> 0.0</td><td> 8</td><td> 74195</td><td>Statens vegvesen Region vest
</td></tr>
1372 <tr><td>87.2</td><td>137798</td><td>157962</td><td>87.6</td><td>130971</td><td>149449</td><td> 0.0</td><td> 9</td><td> 50814</td><td>Statens vegvesen Region midt
</td></tr>
1373 <tr><td>88.0</td><td>12239</td><td> 13902</td><td>86.1</td><td>19158</td><td> 22244</td><td> 0.0</td><td> 0</td><td> 5492</td><td>Barne-, ungdoms- og familiedirektoratet
</td></tr>
1374 <tr><td>90.8</td><td>143453</td><td>157956</td><td>90.6</td><td>135441</td><td>149453</td><td> 0.0</td><td> 0</td><td> 39961</td><td>Statens vegvesen Region nord
</td></tr>
1375 <tr><td>93.8</td><td>5865</td><td> 6250</td><td>99.3</td><td>7093</td><td> 7140</td><td> 0.0</td><td> 0</td><td> 984</td><td>Nasjonal kommunikasjonsmyndighet
</td></tr>
1376 <tr><td>95.3</td><td>4655</td><td> 4883</td><td>94.3</td><td>3819</td><td> 4049</td><td> 0.1</td><td> 1</td><td> 967</td><td>Landinfo
</td></tr>
1377 <tr><td>96.2</td><td>151935</td><td>157870</td><td>96.0</td><td>143497</td><td>149452</td><td> 0.0</td><td> 0</td><td> 19555</td><td>Statens vegvesen Vegdirektoratet
</td></tr>
1378 <tr><td>97.5</td><td>100799</td><td>103373</td><td>96.9</td><td>119802</td><td>123636</td><td> 0.0</td><td> 0</td><td> 7605</td><td>Toll- og avgiftsdirektoratet
</td></tr>
1379 <tr><td>97.7</td><td>24104</td><td> 24666</td><td>98.2</td><td>23640</td><td> 24062</td><td> 0.2</td><td> 5</td><td> 2108</td><td>Kriminalomsorgsdirektoratet
</td></tr>
1380 <tr><td>98.3</td><td>60845</td><td> 61922</td><td>98.3</td><td>58575</td><td> 59605</td><td> 0.0</td><td> 0</td><td> 2837</td><td>Statens pensjonskasse
</td></tr>
1381 <tr><td>99.5</td><td>990661</td><td>995873</td><td>99.4</td><td>953094</td><td>958529</td><td> 0.0</td><td> 0</td><td> 18246</td><td>Skattedirektoratet
</td></tr>
1385 <p>Det kunne vært interessant å se hva som skjedde hvis en ba om
1386 innsyn i en dokument-ID som ikke finnes i OEP... :) Det hadde også
1387 vært interessant å få vite hva årsaken til at noen saksnummer ikke
1388 dukker opp i OEP der det er få og mange. Jeg mistenker jo at årsaken
1389 ikke er den samme hos Skattedirektoratet og hos Landinfo, selv om
1390 andelen upubliserte nummer er ganske lik.
</p>
1396 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>.
1401 <div class=
"padding"></div>
1405 <a href=
"http://people.skolelinux.org/pere/blog/Hvordan_b_r_RFC_822_formattert_epost_lagres_i_en_NOARK5_database_.html">Hvordan bør RFC
822-formattert epost lagres i en NOARK5-database?
</a>
1411 <p>For noen uker siden ble NXCs fri programvarelisenserte
1413 <a href=
"http://www.nuug.no/aktiviteter/20140211-noark/">presentert hos
1415 <a href=
"https://www.youtube.com/watch?v=JCb_dNS3MHQ">på youtube
1416 foreløbig
</a>), og det fikk meg til å titte litt mer på NOARK5,
1417 standarden for arkivhåndtering i det offentlige Norge. Jeg lurer på
1418 om denne kjernen kan være nyttig i et par av mine prosjekter, og for ett
1419 av dem er det mest aktuelt å lagre epost. Jeg klarte ikke finne noen
1420 anbefaling om hvordan RFC
822-formattert epost (aka Internett-epost)
1421 burde lagres i NOARK5, selv om jeg vet at noen arkiver tar
1422 PDF-utskrift av eposten med sitt epostprogram og så arkiverer PDF-en
1423 (eller enda værre, tar papirutskrift og lagrer bildet av eposten som
1426 <p>Det er ikke så mange formater som er akseptert av riksarkivet til
1427 langtidsoppbevaring av offentlige arkiver, og PDF og XML er de mest
1428 aktuelle i så måte. Det slo meg at det måtte da finnes en eller annen
1429 egnet XML-representasjon og at det kanskje var enighet om hvilken som
1430 burde brukes, så jeg tok mot til meg og spurte
1431 <a href=
"http://samdok.com/">SAMDOK
</a>, en gruppe tilknyttet
1432 arkivverket som ser ut til å jobbe med NOARK-samhandling, om de hadde
1438 <p>Usikker på om dette er riktig forum å ta opp mitt spørsmål, men jeg
1439 lurer på om det er definert en anbefaling om hvordan RFC
1440 822-formatterte epost (aka vanlig Internet-epost) bør lages håndteres
1441 i NOARK5, slik at en bevarer all informasjon i eposten
1442 (f.eks. Received-linjer). Finnes det en anbefalt XML-mapping ala den
1444 <URL:
<a href=
"https://www.informit.com/articles/article.aspx?p=32074">https://www.informit.com/articles/article.aspx?p=
32074</a> >? Mitt
1445 mål er at det skal være mulig å lagre eposten i en NOARK5-kjerne og
1446 kunne få ut en identisk formattert kopi av opprinnelig epost ved
1450 <p>Postmottaker hos SAMDOK mente spørsmålet heller burde stilles
1451 direkte til riksarkivet, og jeg fikk i dag svar derfra formulert av
1452 seniorrådgiver Geir Ivar Tungesvik:
</p>
1455 <p>Riksarkivet har ingen anbefalinger når det gjelder konvertering fra
1456 e-post til XML. Det står arkivskaper fritt å eventuelt definere/bruke
1457 eget format. Inklusive da - som det spørres om - et format der det er
1458 mulig å re-etablere e-post format ut fra XML-en. XML (e-post)
1459 dokumenter må være referert i arkivstrukturen, og det må vedlegges et
1460 gyldig XML skjema (.xsd) for XML-filene. Arkivskaper står altså fritt
1461 til å gjøre hva de vil, bare det dokumenteres og det kan dannes et
1462 utrekk ved avlevering til depot.
</p>
1464 <p>De obligatoriske kravene i Noark
5 standarden må altså oppfylles -
1465 etter dialog med Riksarkivet i forbindelse med godkjenning. For
1466 offentlige arkiv er det særlig viktig med filene loependeJournal.xml
1467 og offentligJournal.xml. Private arkiv som vil forholde seg til Noark
1468 5 standarden er selvsagt frie til å bruke det som er relevant for dem
1469 av obligatoriske krav.
</p>
1472 <p>Det ser dermed ut for meg som om det er et lite behov for å
1473 standardisere XML-lagring av RFC-
822-formatterte meldinger. Noen som
1474 vet om god spesifikasjon i så måte? I tillegg til den omtalt over,
1475 har jeg kommet over flere aktuelle beskrivelser (søk på "rfc
822
1476 xml", så finner du aktuelle alternativer).
</p>
1480 <li><a href=
"http://www.openhealth.org/xmtp/">XML MIME Transformation
1481 protocol (XMTP)
</a> fra OpenHealth, sist oppdatert
2001.
</li>
1483 <li><a href=
"https://tools.ietf.org/html/draft-klyne-message-rfc822-xml-03">An
1484 XML format for mail and other messages
</a> utkast fra IETF datert
1487 <li><a href=
"http://www.informit.com/articles/article.aspx?p=32074">xMail:
1488 E-mail as XML
</a> en artikkel fra
2003 som beskriver python-modulen
1489 rfc822 som gir ut XML-representasjon av en RFC
822-formattert epost.
</li>
1493 <p>Finnes det andre og bedre spesifikasjoner for slik lagring? Send
1494 meg en epost hvis du har innspill.
</p>
1500 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>.
1505 <div class=
"padding"></div>
1507 <p style=
"text-align: right;"><a href=
"noark5.rss"><img src=
"http://people.skolelinux.org/pere/blog/xml.gif" alt=
"RSS Feed" width=
"36" height=
"14" /></a></p>
1518 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/01/">January (
4)
</a></li>
1520 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/02/">February (
3)
</a></li>
1522 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/03/">March (
3)
</a></li>
1524 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/05/">May (
2)
</a></li>
1531 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/01/">January (
1)
</a></li>
1533 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/02/">February (
5)
</a></li>
1535 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/03/">March (
5)
</a></li>
1537 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/04/">April (
3)
</a></li>
1539 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/06/">June (
2)
</a></li>
1541 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/07/">July (
5)
</a></li>
1543 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/08/">August (
3)
</a></li>
1545 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/09/">September (
3)
</a></li>
1547 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/10/">October (
5)
</a></li>
1549 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/11/">November (
2)
</a></li>
1551 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/12/">December (
4)
</a></li>
1558 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/01/">January (
4)
</a></li>
1560 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/02/">February (
3)
</a></li>
1562 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/03/">March (
5)
</a></li>
1564 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/04/">April (
2)
</a></li>
1566 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/06/">June (
5)
</a></li>
1568 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/07/">July (
1)
</a></li>
1570 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/08/">August (
1)
</a></li>
1572 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/09/">September (
3)
</a></li>
1574 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/10/">October (
5)
</a></li>
1576 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/11/">November (
3)
</a></li>
1578 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/12/">December (
4)
</a></li>
1585 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/01/">January (
3)
</a></li>
1587 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/02/">February (
2)
</a></li>
1589 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/03/">March (
3)
</a></li>
1591 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/04/">April (
8)
</a></li>
1593 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/05/">May (
8)
</a></li>
1595 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/06/">June (
2)
</a></li>
1597 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/07/">July (
2)
</a></li>
1599 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/08/">August (
5)
</a></li>
1601 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/09/">September (
2)
</a></li>
1603 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/10/">October (
3)
</a></li>
1605 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/11/">November (
8)
</a></li>
1607 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/12/">December (
5)
</a></li>
1614 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/01/">January (
7)
</a></li>
1616 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/02/">February (
6)
</a></li>
1618 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/03/">March (
1)
</a></li>
1620 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/04/">April (
4)
</a></li>
1622 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/05/">May (
3)
</a></li>
1624 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/06/">June (
4)
</a></li>
1626 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/07/">July (
6)
</a></li>
1628 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/08/">August (
2)
</a></li>
1630 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/09/">September (
2)
</a></li>
1632 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/10/">October (
9)
</a></li>
1634 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/11/">November (
6)
</a></li>
1636 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/12/">December (
3)
</a></li>
1643 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/01/">January (
2)
</a></li>
1645 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/02/">February (
3)
</a></li>
1647 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/03/">March (
8)
</a></li>
1649 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/04/">April (
7)
</a></li>
1651 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/05/">May (
1)
</a></li>
1653 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/06/">June (
2)
</a></li>
1655 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/07/">July (
2)
</a></li>
1657 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/08/">August (
2)
</a></li>
1659 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/09/">September (
5)
</a></li>
1661 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/10/">October (
6)
</a></li>
1663 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/11/">November (
3)
</a></li>
1665 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/12/">December (
5)
</a></li>
1672 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li>
1674 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/02/">February (
9)
</a></li>
1676 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/03/">March (
9)
</a></li>
1678 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/04/">April (
6)
</a></li>
1680 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/05/">May (
9)
</a></li>
1682 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/06/">June (
10)
</a></li>
1684 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/07/">July (
7)
</a></li>
1686 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/08/">August (
3)
</a></li>
1688 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/09/">September (
5)
</a></li>
1690 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/10/">October (
7)
</a></li>
1692 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/11/">November (
9)
</a></li>
1694 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/12/">December (
3)
</a></li>
1701 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
1703 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
1705 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
1707 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
1709 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
1711 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li>
1713 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li>
1715 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li>
1717 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li>
1719 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li>
1721 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li>
1723 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li>
1730 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
1732 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
1734 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
1736 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
1738 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
1740 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
1742 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
1744 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
1746 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
1748 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
1750 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
1752 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
1759 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
1761 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
1763 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
1765 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
1767 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
1769 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
1771 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
1773 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
1775 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
1777 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
1779 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
1781 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
1788 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
1790 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
1792 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
1794 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
1796 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
1798 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
1800 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
1802 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
1804 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
1806 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
1808 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
1810 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
1817 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
1819 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
1830 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
16)
</a></li>
1832 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
1834 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
1836 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li>
1838 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (
8)
</a></li>
1840 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
11)
</a></li>
1842 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
17)
</a></li>
1844 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
1846 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (
2)
</a></li>
1848 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian (
167)
</a></li>
1850 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
158)
</a></li>
1852 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (
4)
</a></li>
1854 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan (
11)
</a></li>
1856 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/dld">dld (
17)
</a></li>
1858 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/docbook">docbook (
25)
</a></li>
1860 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
1862 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/english">english (
402)
</a></li>
1864 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
23)
</a></li>
1866 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
14)
</a></li>
1868 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
33)
</a></li>
1870 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (
9)
</a></li>
1872 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
20)
</a></li>
1874 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/h264">h264 (
20)
</a></li>
1876 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/intervju">intervju (
42)
</a></li>
1878 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
16)
</a></li>
1880 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart (
21)
</a></li>
1882 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kodi">kodi (
4)
</a></li>
1884 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ldap">ldap (
9)
</a></li>
1886 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lego">lego (
4)
</a></li>
1888 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lenker">lenker (
8)
</a></li>
1890 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (
2)
</a></li>
1892 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
1894 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (
8)
</a></li>
1896 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
42)
</a></li>
1898 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (
12)
</a></li>
1900 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5 (
14)
</a></li>
1902 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk (
305)
</a></li>
1904 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug (
195)
</a></li>
1906 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
37)
</a></li>
1908 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
1910 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
73)
</a></li>
1912 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern (
108)
</a></li>
1914 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/raid">raid (
2)
</a></li>
1916 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reactos">reactos (
1)
</a></li>
1918 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
1920 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rfid">rfid (
3)
</a></li>
1922 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot (
11)
</a></li>
1924 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
1926 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ruter">ruter (
7)
</a></li>
1928 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
1930 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
55)
</a></li>
1932 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
1934 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
5)
</a></li>
1936 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard (
63)
</a></li>
1938 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
6)
</a></li>
1940 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
12)
</a></li>
1942 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
55)
</a></li>
1944 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
4)
</a></li>
1946 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/usenix">usenix (
2)
</a></li>
1948 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/valg">valg (
9)
</a></li>
1950 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (
15)
</a></li>
1952 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/video">video (
73)
</a></li>
1954 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
1956 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/web">web (
42)
</a></li>
1962 <p style=
"text-align: right">
1963 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>