1 <?xml version=
"1.0" encoding=
"utf-8"?>
2 <rss version='
2.0' xmlns:lj='http://www.livejournal.org/rss/lj/
1.0/'
>
4 <title>Petter Reinholdtsen - Entries tagged noark5
</title>
5 <description>Entries tagged noark5
</description>
6 <link>http://people.skolelinux.org/pere/blog/
</link>
10 <title>Nikita og Noark
5 tjenestegrensesnittet tilbyr ny måte å tenke arkivering
</title>
11 <link>http://people.skolelinux.org/pere/blog/Nikita_og_Noark_5_tjenestegrensesnittet_tilbyr_ny_m_te___tenke_arkivering.html
</link>
12 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Nikita_og_Noark_5_tjenestegrensesnittet_tilbyr_ny_m_te___tenke_arkivering.html
</guid>
13 <pubDate>Fri,
21 Jun
2019 11:
30:
00 +
0200</pubDate>
14 <description><p
><em
>av Thomas Sødring (OsloMet) og Petter Reinholdtsen (foreningen
15 NUUG)
</em
></p
>
17 <p
>Nikita Noark
5-kjerne er et fri programvareprosjekt som tar i bruk
18 Arkivverkets spesifikasjonen for Noark
5 Tjenestegrensesnitt og tilbyr
19 et maskinlesbar grensesnitt (arkiv-API) til datasystemer som trenger å
20 arkivere dokumenter og informasjon. I tillegg tilbyr Nikita et
21 nettleserbasert brukergrensesnitt for brukere av arkivet. Dette
22 brukergrensesnittet benytter det maskinlesbare grensesnittet. Noark
5
23 Tjenestegrensesnitt er en ny måte å tenke arkivering, med fokus på
24 automatisering og maskinell behandling av arkivmateriale, i stedet for
25 å fokusere på brukergrensesnitt. En kan tenke på
26 tjenestegrensesnittet som arkivet uten brukergrensesnitt, der flere
27 aktører kan koble til ulike brukergrensesnitt, tilpasset ulike
30 <p
>Historisk sett gjorde Noark en veldig bra jobb med overgangen fra
31 papir til digital saksbehandling, men det har kommet til kort på andre
32 områder. Den teknologiske utviklingen har brakt oss ditt av vi kan og
33 skal forvente langt mer fra en arkivkjerne enn før, men det offentlig
34 er ofte konservativ når det gjelder nytenking. For lengst skulle
35 begreper som samvirke mellom datasystemer, metadata, prosess og
36 tjenestegrensesnitt (API) vært dominerende når systemer kjøpes
37 inn. Dessverre er det slik at ikke alle ønsker samvirke mellom
38 datasystemer velkommen, og det kan være trygt å kjøpe svarte bokser
39 der du slipper å ta stilling til hvordan man skal få flere systemer
40 til å virke sammen. Men IT-arkitektur er et begrep arkivfolk også
41 begynner å ta inn over seg.
</p
>
43 <p
>Slike systemer for å organisere metadata bør ha nettbaserte
44 tjenestegrensesnitt der brukergrensesnitt er tydelig adskilt fra
45 bakenforliggende system. Det finnes mange rapporter som snakker om å
46 bryte ned siloer i forvaltningen og standardiserte tjenestegrensesnitt
47 er det viktigste virkemiddel mot datasiloer og legger til rette for
48 økt samvirke mellom systemer. Et standardisert tjenestegrensesnitt er
49 et viktig middel for å få systemer til å samhandle da det sikrer at
50 ulike produsenters systemer kan snakke sammen på tvers. Samfunnet
51 fungerer ikke uten standardisering. Vi har alle samme strømstyrke og
52 kontakter i veggene og kjører alle på høyre side. Det er i en slik
53 sammenheng at prosjektet «Noark
5 Tjenestegrensesnitt» er veldig
54 viktig. Hvis alle leverandører av arkivsystemer forholdt seg til et
55 standardisert tjenestegrensesnitt kunne kostnadene for arkivering
56 reduseres. Tenk at du er en kommune som ønsker et fagsystem integrert
57 med arkivløsningen din. I dag må fagsystemleverandøren vite og
58 tilpasse seg den spesifikke versjonen og varianten av arkivløsningen
59 du har. Hvis vi antar at alle leverandører av arkivkjerner har solgt
60 inn enten SOAP eller REST-grensesnitt til kunder de siste
10 årene og
61 det kommer endret versjon av grensesnittet innimellom så gir det
62 veldig mange forskjellige tjenestegrensesnitt en fagsystemleverandør
63 må forholde seg til. Med
12 leverandører og kvartalsvise oppdateringer
64 kan det potensielt bli
96 ulike varianter hvert eneste år. Det sier
65 seg selv at det blir dyrt. Men det blir faktisk verre. Hvis du senere
66 ønsker å bytte ut arkivsystemet med et annet så er du avhengig å få
67 alle integrasjonene dine laget på nytt. Dette kan gjøre at du velger å
68 forbli hos en dårlig leverandør framfor å skaffe nytt system, fordi
69 det blir for vanskelig og dyrt å bytte. Dermed etableres det små
70 monopolsituasjoner som er vanskelig å bryte ut av. Dårlige valg i dag
71 kan ha uante kostander på sikt. I Nikita-prosjektet har vi kun jobbet
72 opp mot Noark
5 Tjenestegrensesnittet. Det har tatt en god del
73 ressurser å sette seg inn i spesifikasjonen og ta den i bruk, spesielt
74 på grunn av uklarheter i spesifikasjonen. Hvis vi måtte gjøre det
75 samme for alle versjoner og varianter av de forskjellige
76 tjenestegrensesnittene ville det blitt veldig dyrt.
</p
>
78 <p
>For deg som arkivar er digitalisering og systemer som skal virke
79 sammen en del av den nye hverdagen. Du har kanskje blitt skånet for
80 det ved å kjøpe svarte bokser, men du risikerer at du gjør deg selv en
81 bjørnetjeneste. Det kan oppleves som kjedelig å fortelle kolleger at
82 du skal sette deg inn i et tjenestegrensesnitt, men dette er faktisk
83 veldig spennende. Tjenestegrensesnittet er på en måte blitt levende og
84 det er spesielt et begrep du bør merke deg: OData. Å trekke inn deler
85 av OData-standarden som en måte å filtrere entitetsøk i et arkivsystem
86 var et nyttig trekk i prosjektet. Følgende eksempel er en
87 OData-spørring det går an å sende inn til en standardisert
88 arkivkjerne:
</p
>
90 <p
><blockquote
>
91 .../sakarkiv/journalpost?filter=contains(tittel,
'nabovarsel
')
92 </blockquote
></p
>
94 <p
>Spørringen over vil hente en liste av alle dine journalposter der
95 tittelen til journalposten inneholder ordet
'nabovarsel
'. Alle
96 leverandører som implementerer tjenestegrensesnittet vil måtte tilby
97 dette. Det betyr at hvis du lærer dete språket for et system, vil det
98 være gjeldende for alle. Dette er egentlig en nye måte å søke i
99 arkivdatabasen på og vil være svært nyttig, for eksempel kan søk i
100 tjenestegrensesnittet antagelig brukes til å hente ut offentlig
101 postjournal. I arkivverden pleier vi å like teknologier som er
102 menneskelesbart, da vet vi det er enkelt og nyttig! OData er også
103 viktig fordi det kan bli en ny måte å svare innsynsforespørsler på i
104 tråd med offentlighetsloven §
9, der retten til å kreve innsyn i
105 sammenstilling fra databaser er nedfelt. I dag ser vi
106 forvaltningsorganer som avviser slike krav fordi det «ikke kan gjøres
107 med enkle framgangsmåter». Bruken av OData i tjenestegrensesnittet,
108 sammen med maskinlesbar markeringsformater kan være et viktig bidrag
109 til å åpne arkivene i tråd med prinsippene om en åpen og transparent
110 forvaltning.
</p
>
112 <p
>Standardisering er viktig fordi det
<em
>kan
</em
> sikre
113 samvirke. Men den effekten kommer kun hvis standardiseringen sikrer
114 at alle forstår standarden på samme måte, dvs. at den er entydig og
115 klar. En god måte å sikre en entydig og klar spesifikasjon er ved å
116 kreve at det finnes minst to ulike implementasjoner som følger
117 spesifikasjonen og som kan snakke sammen, det vil si at de snakker
118 samme språk, slik IETF krever for alle sine standarder, før
119 spesifikasjonen anses å være ferdig. Tilbakemelding fra miljøet
120 forteller at både leverandører og kunder har et avslappet forhold til
121 Noark
5 Tjenestegrensesnitt og det er så langt kun Evry som har visst
122 offentlig at de har en implementasjon av tjenestegrensesnittet. For å
123 redusere kostnadene for samvirkende datasystemer betraktelig, er det
124 veldig viktig at vi kommer i en situasjon der alle leverandører har
125 sine egne implementasjoner av tjenestegrensesnittet, og at disse
126 oppfører seg likt og i tråd med det som er beskrevet i
127 spesifikasjonen.
</p
>
129 <p
>Det er er her fri programvare spiller en viktig rolle. Med en uklar
130 standard blir det som en polsk riksdag, der ingenting fungerer. Nikita
131 er en fri programvareimplementasjon av tjenestegrensesnitt og kan
132 fungere som teknisk referanse slik at leverandører enklere kan se og
133 forstå hvordan standarden skal tolkes. Vi har i Nikitaprosjektet
134 erfart å ende opp med vidt forskjellige tolkninger når
135 prosjektmedlemmene leser spesifikasjonsteksten, en effekt av en uklar
136 spesifikasjon. Men Nikitaprosjektet har også utviklet et test-program
137 som sjekker om et tjenestegrensesnitt er i samsvar med standarden, og
138 prosjektet bruker det hele tiden for å sikre at endringer og
139 forbedringer fungerer. Egenerklæringsskjemaenes dager kan væræ talte!
140 Snart vil du selv kunne teste hver oppdatering av arkivsystemet med en
141 uavhengig sjekk.
</p
>
143 <p
>Fri programvare representerer en demokratisering av kunnskap der
144 tolkning- og innlåsingsmakt flyttes fra leverandør til almenheten.
145 Med fri programvare har du en litt annerledes verdikjede, der selve
146 produktet ikke holdes hemmelig for å tjene penger, slik en gjør med
147 ufri programvare og skytjenester som ikke bruker fri programvare, men
148 du kan tjene penger på andre deler av verdikjeden. Med fri programvare
149 kan samfunnet betale for å videreutvikle nyttig
150 fellesfunksjonalitet.
</p.
152 <p
>Nikita er en fri programvareimplementasjon av tjenestegrensesnittet og
153 kan fungere som en referanseimplementasjon dersom det er ønskelig.
154 Alle har lik tilgang til koden og det koster ingenting å ta den i bruk
155 og utforske det. Nikitaprosjektet ønsker tjenestegrensesnittet
156 velkommen og stiller veldig gjerne opp i diskusjoner om tolkning av
157 tjenestegrensesnittet. Nikita er bygget på moderne
158 programmeringsrammeverk og utviklet i full åpenhet. Men nikita er ikke
159 noe du kan kjøpe. Nikita er først og fremst et verktøy for forsking og
160 utvikling laget for å fremme forskning på arkivfeltet. Systemer som
161 virker sammen har alltid vært hovedfokus og vil være det fremover.
162 Det brukes som undervisningsverktøy der studentene ved OsloMet lærer
163 om administrativ oppsett, saksbehandling, uttrekk og samvirkende
164 datasystemer. Det brukes også som forskningsobjekt der vi ser på
165 import av dokumentsamlinger, bruk av blokkjede og andre nyskapende
166 måter å tenke arkiv på. Det er dog helt greit om andre tar Nikita og
167 pakker det for å selge det som produkt. Forvaltningsorganer med
168 sterke drift- og utviklingsmiljøer kan også se på Nikita og utforske
169 hva som er mulig. Dette kan de gjøre uten å måtte betale for
170 bruksrettigheter eller tilgang til konsulenter. Men arkivering blir
171 ikke gratis på grunn av Nikita. Det trengs fortsatt folk med
172 kompetanse og tid til å ta i bruk Nikita.
</p
>
174 <p
>Nikita har nylig kommet med en ny utgave, den sjette i rekken.
175 Systemet er ikke ferdig, mest på grunn av at API-spesifikasjonen for
176 Noark
5 Tjenestegrensesnitt ikke er ferdig, men allerede i dag kan en
177 bruke Nikita som arkiv. Vi har laget eksempelsystem for å importere
178 data fra deponi-XML og slik gjøre eksisterende arkivdata tilgjengelig
179 via et API. Vi har også laget en testklient som importerer epost inn
180 i arkivet med vedlegg der epostenes trådinformasjon brukes til å legge
181 eposttråder i samme arkivmappe, og en annen testklient som henter
182 epost ut av en arkivmappe på mbox-format slik at en vanlig epostklient
183 kan brukes til å lese igjennom og svare på epostene i en
184 arkivmappe. De som vil ta en titt på Nikita kan besøke
185 <a href=
"https://nikita.oslomet.no
">https://nikita.oslomet.no
</a
> og
186 logge inn med brukernavn «admin@example.com» og passord «password».
187 Dette gir tilgang til det forenklede brukergrensesnittet som brukes
188 til undervisning. De som heller vil ta en titt under panseret kan
190 <a href=
"https://nikita.oslomet.no/browse.html
">https://nikita.oslomet.no/browse.html
</a
>
191 og der se hvordan API-et fungerer mer i detalj. Innloggingsdetaljer
192 her er det samme som for brukergrensesnittet.
</p
>
194 <p
>Fremover er fokuset på forbedring av spesifikasjonen Noark
5
195 Tjenestegrensesnitt. De som skrev tjenestegrensesnittet gjorde et
196 interessant og framtidsrettet grep, de skilte sak fra arkiv.
197 Tjenestegrensesnittet består av flere
"pakker
", der noen er
198 grunnleggende mens andre bygger på de grunnleggende pakkene. Pakkene
199 som er beskrevet så langt heter «arkivstruktur», «sakarkiv»,
200 «administrasjon», «loggogsporing» og «moeter» (dessverre
201 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/pull/
120">planlagt
202 fjernet
</a
> i første utgave). Etter hvert håper vi å utforske
203 prosses- og metadatabeskrivelser til flere fagområder og bidra til at
204 tjenestegrensesnittet kan legge til flere pakker som «byggarkiv»,
205 «barnevern», «personal», «barnehage», der arkivfaglig metadata- og
206 dokumentasjonsbehov er kartlagt og standardisert.
</p
>
208 <p
>Nikita utvikles av en liten prosjektgruppe, og vi er alltid
209 interessert å bli flere. Hvis en åpen, fri og standardisert tilnærming
210 til arkivering høres interessant ut, bli med oss på veien videre. Vi
211 er tilstede på IRC-kanalen #nikita hos FreeNode (tilgjengelig via
213 <a href=
"https://webchat.freenode.net?channels=#nikita
">https://webchat.freenode.net?channels=#nikita
</a
>),
214 og har en e-postliste nikita-noark@nuug.no hos NUUG (tilgjengelig for
215 påmelding og arkiv på
216 <a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark
">https://lists.nuug.no/mailman/listinfo/nikita-noark
</a
>)
217 der en kan følge med eller være med oss på den spennende veien videre.
218 Spesifikasjonen for Noark
5 Tjenestegrensesnitt vedlikeholdes på
220 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
</a
>.
</p
>
222 <p
>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
223 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
225 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
230 <title>Official MIME type
"text/vnd.sosi
" for SOSI map data
</title>
231 <link>http://people.skolelinux.org/pere/blog/Official_MIME_type__text_vnd_sosi__for_SOSI_map_data.html
</link>
232 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Official_MIME_type__text_vnd_sosi__for_SOSI_map_data.html
</guid>
233 <pubDate>Tue,
4 Jun
2019 09:
20:
00 +
0200</pubDate>
234 <description><p
>Just
15 days ago,
235 <ahref=
"http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html
">I
236 mentioned
</a
> my submission to IANA to register an official MIME type
237 for the SOSI vector map format. This morning, just an hour ago, I was
239 <a href=
"https://www.iana.org/assignments/media-types/text/vnd.sosi
">the
240 MIME type
"text/vnd.sosi
"</a
> is registered for this format. In
241 addition to this registration, my
242 <a href=
"https://github.com/file/file/blob/master/magic/Magdir/sosi
">file(
1)
243 patch for a pattern matching rule for SOSI files
</a
> has been accepted
244 into the official source of that program (pending a new release), and
245 I
've been told by the team behind
246 <a href=
"https://www.nationalarchives.gov.uk/PRONOM/
">PRONOM
</a
> that
247 the SOSI format will be included in the next release of PRONOM, which
248 they plan to release this summer around July.
</p
>
250 <p
>I am very happy to see all of this fall into place, for use by
251 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
">the
252 Noark
5 Tjenestegrensesnitt
</a
> implementations.
</p
>
254 <p
>As usual, if you use Bitcoin and want to show your support of my
255 activities, please send Bitcoin donations to my address
256 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
261 <title>Nikita version
0.4 released - free software archive API server
</title>
262 <link>http://people.skolelinux.org/pere/blog/Nikita_version_0_4_released___free_software_archive_API_server.html
</link>
263 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Nikita_version_0_4_released___free_software_archive_API_server.html
</guid>
264 <pubDate>Wed,
22 May
2019 11:
30:
00 +
0200</pubDate>
265 <description><p
>This morning, a new release of
266 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/
">Nikita
267 Noark
5 core project
</a
> was
268 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/
2019-May/
000468.html
">announced
269 on the project mailing list
</a
>. The Nikita free software solution is
270 an implementation of the Norwegian archive standard Noark
5 used by
271 government offices in Norway. These were the changes in version
0.4
272 since version
0.3, see the email link above for links to a demo site:
</p
>
276 <li
>Roll out OData handling to all endpoints where applicable
</li
>
277 <li
>Changed the relation key for
"ny-journalpost
" to the official one.
</li
>
278 <li
>Better link generation on outgoing links.
</li
>
279 <li
>Tidy up code and make code and approaches more consistent throughout
280 the codebase
</li
>
281 <li
>Update rels to be in compliance with updated version in the
282 interface standard
</li
>
283 <li
>Avoid printing links on empty objects as they can
't have links
</li
>
284 <li
>Small bug fixes and improvements
</li
>
285 <li
>Start moving generation of outgoing links to @Service layer so access
286 control can be used when generating links
</li
>
287 <li
>Log exception that was being swallowed so it
's traceable
</li
>
288 <li
>Fix name mapping problem
</li
>
289 <li
>Update templated printing so templated should only be printed if it
290 is set true. Requires more work to roll out across entire
291 application.
</li
>
292 <li
>Remove Record-
>DocumentObject as per domain model of n5v4
</li
>
293 <li
>Add ability to delete lists filtered with OData
</li
>
294 <li
>Return NO_CONTENT (
204) on delete as per interface standard
</li
>
295 <li
>Introduce support for ConstraintViolationException exception
</li
>
296 <li
>Make Service classes extend NoarkService
</li
>
297 <li
>Make code base respect X-Forwarded-Host, X-Forwarded-Proto and
298 X-Forwarded-Port
</li
>
299 <li
>Update CorrespondencePart* code to be more in line with Single
300 Responsibility Principle
</li
>
301 <li
>Make package name follow directory structure
</li
>
302 <li
>Make sure Document number starts at
1, not
0</li
>
303 <li
>Fix isues discovered by FindBugs
</li
>
304 <li
>Update from Date to ZonedDateTime
</li
>
305 <li
>Fix wrong tablename
</li
>
306 <li
>Introduce Service layer tests
</li
>
307 <li
>Improvements to CorrespondencePart
</li
>
308 <li
>Continued work on Class / Classificationsystem
</li
>
309 <li
>Fix feature where authors were stored as storageLocations
</li
>
310 <li
>Update HQL builder for OData
</li
>
311 <li
>Update OData search capability from webpage
</li
>
315 <p
>If free and open standardized archiving API sound interesting to
316 you, please contact us on IRC
317 (
<a href=
"irc://irc.freenode.net/%
23nikita
">#nikita on
318 irc.freenode.net
</a
>) or email
319 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark
">nikita-noark
320 mailing list
</a
>).
</p
>
322 <p
>As usual, if you use Bitcoin and want to show your support of my
323 activities, please send Bitcoin donations to my address
324 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
329 <title>MIME type
"text/vnd.sosi
" for SOSI map data
</title>
330 <link>http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html
</link>
331 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html
</guid>
332 <pubDate>Mon,
20 May
2019 08:
35:
00 +
0200</pubDate>
333 <description><p
>As part of my involvement in the work to
334 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard
">standardise
335 a REST based API for Noark
5</a
>, the Norwegian archiving standard, I
336 spent some time the last few months to try to register a
337 <a href=
"https://www.iana.org/assignments/media-types/
">MIME type
</a
>
338 and
<a href=
"https://www.nationalarchives.gov.uk/PRONOM/
">PRONOM
339 code
</a
> for the SOSI file format. The background is that there is a
340 set of formats approved for long term storage and archiving in Norway,
341 and among these formats, SOSI is the only format missing a MIME type
342 and PRONOM code.
</p
>
344 <p
>What is SOSI, you might ask? To quote Wikipedia: SOSI is short for
345 Samordnet Opplegg for Stedfestet Informasjon (literally
"Coordinated
346 Approach for Spatial Information
", but more commonly expanded in
347 English to Systematic Organization of Spatial Information). It is a
348 text based file format for geo-spatial vector information used in
349 Norway. Information about the SOSI format can be found in English
350 from
<a href=
"https://en.wikipedia.org/wiki/SOSI
">Wikipedia
</a
>. The
351 specification is available in Norwegian from
352 <a href=
"https://www.kartverket.no/geodataarbeid/Standarder/SOSI/
">the
353 Norwegian mapping authority
</a
>. The SOSI standard, which originated
354 in the beginning of nineteen eighties, was the inspiration and formed the
355 basis for the XML based
356 <a href=
"https://en.wikipedia.org/wiki/Geography_Markup_Language
">Geography
357 Markup Language
</a
>.
</p
>
359 <p
>I have so far written
360 <a href=
"https://github.com/file/file/pull/
67">a pattern matching
361 rule
</a
> for the file(
1) unix tool to recognize SOSI files, submitted
362 a request to the PRONOM project to have a PRONOM ID assigned to the
363 format (reference TNA1555078202S60), and today send a request to IANA
364 to register the
"text/vnd.sosi
" MIME type for this format (referanse
365 <a href=
"https://tools.iana.org/public-view/viewticket/
1143144">IANA
366 #
1143144</a
>). If all goes well, in a few months, anyone implementing
367 the Noark
5 Tjenestegrensesnitt API spesification should be able to
368 use an official MIME type and PRONOM code for SOSI files. In
369 addition, anyone using SOSI files on Linux should be able to
370 automatically recognise the format and web sites handing out SOSI
371 files can begin providing a more specific MIME type. So far, SOSI
372 files has been handed out from web sites using the
373 "application/octet-stream
" MIME type, which is just a nice way of
374 stating
"I do not know
". Soon, we will know. :)
</p
>
376 <p
>As usual, if you use Bitcoin and want to show your support of my
377 activities, please send Bitcoin donations to my address
378 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
383 <title>PlantUML for text based UML diagram modelling - nice free software
</title>
384 <link>http://people.skolelinux.org/pere/blog/PlantUML_for_text_based_UML_diagram_modelling___nice_free_software.html
</link>
385 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/PlantUML_for_text_based_UML_diagram_modelling___nice_free_software.html
</guid>
386 <pubDate>Mon,
25 Mar
2019 09:
35:
00 +
0100</pubDate>
387 <description><p
>As part of my involvement with the
388 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/
">Nikita
389 Noark
5 core project
</a
>, I have been proposing improvements to the
390 API specification created by
<a href=
"https://www.arkivverket.no/
">The
391 National Archives of Norway
</a
> and helped migrating the text from a
392 version control system unfriendly binary format (docx) to Markdown in
393 git. Combined with the migration to a public git repository (on
394 github), this has made it possible for anyone to suggest improvement
395 to the text.
</p
>
397 <p
>The specification is filled with UML diagrams. I believe the
398 original diagrams were modelled using Sparx Systems Enterprise
399 Architect, and exported as EMF files for import into docx. This
400 approach make it very hard to track changes using a version control
401 system. To improve the situation I have been looking for a good text
402 based UML format with associated command line free software tools on
403 Linux and Windows, to allow anyone to send in corrections to the UML
404 diagrams in the specification. The tool must be text based to work
405 with git, and command line to be able to run it automatically to
406 generate the diagram images. Finally, it must be free software to
407 allow anyone, even those that can not accept a non-free software
408 license, to contribute.
</p
>
410 <p
>I did not know much about free software UML modelling tools when I
411 started. I have used dia and inkscape for simple modelling in the
412 past, but neither are available on Windows, as far as I could tell. I
414 <a href=
"https://modeling-languages.com/text-uml-tools-complete-list/
">list
415 of text mode uml tools
</a
>, and tested out a few of the tools listed
416 there.
<a href=
"http://plantuml.com/
">The PlantUML tool
</a
> seemed
417 most promising. After verifying that the packages
418 <a href=
"https://tracker.debian.org/pkg/plantuml
">is available in
419 Debian
</a
> and found
<a href=
"https://github.com/plantuml/plantuml
">its
420 Java source
</a
> under a GPL license on github, I set out to test if it
421 could represent the diagrams we needed, ie the ones currently in
422 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
">the
423 Noark
5 Tjenestegrensesnitt specification
</a
>. I am happy to report
424 that it could represent them, even thought it have a few warts here
427 <p
>After a few days of modelling I completed the task this weekend. A
428 temporary link to the complete set of diagrams (original and from
429 PlantUML) is available in
430 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/
76">the
431 github issue discussing the need for a text based UML format
</a
>, but
432 please note I lack a sensible tool to convert EMF files to PNGs, so
433 the
"original
" rendering is not as good as the original was in the
434 publised PDF.
</p
>
436 <p
>Here is an example UML diagram, showing the core classes for
437 keeping metadata about archived documents:
</p
>
441 skinparam classAttributeIconSize
0
443 !include media/uml-class-arkivskaper.iuml
444 !include media/uml-class-arkiv.iuml
445 !include media/uml-class-klassifikasjonssystem.iuml
446 !include media/uml-class-klasse.iuml
447 !include media/uml-class-arkivdel.iuml
448 !include media/uml-class-mappe.iuml
449 !include media/uml-class-merknad.iuml
450 !include media/uml-class-registrering.iuml
451 !include media/uml-class-basisregistrering.iuml
452 !include media/uml-class-dokumentbeskrivelse.iuml
453 !include media/uml-class-dokumentobjekt.iuml
454 !include media/uml-class-konvertering.iuml
455 !include media/uml-datatype-elektronisksignatur.iuml
457 Arkivstruktur.Arkivskaper
"+arkivskaper
1..*
" <-o
"+arkiv
0..*
" Arkivstruktur.Arkiv
458 Arkivstruktur.Arkiv o--
> "+underarkiv
0..*
" Arkivstruktur.Arkiv
459 Arkivstruktur.Arkiv
"+arkiv
1" o--
> "+arkivdel
0..*
" Arkivstruktur.Arkivdel
460 Arkivstruktur.Klassifikasjonssystem
"+klassifikasjonssystem [
0.
.1]
" <--o
"+arkivdel
1..*
" Arkivstruktur.Arkivdel
461 Arkivstruktur.Klassifikasjonssystem
"+klassifikasjonssystem [
0.
.1]
" o--
> "+klasse
0..*
" Arkivstruktur.Klasse
462 Arkivstruktur.Arkivdel
"+arkivdel
0.
.1" o--
> "+mappe
0..*
" Arkivstruktur.Mappe
463 Arkivstruktur.Arkivdel
"+arkivdel
0.
.1" o--
> "+registrering
0..*
" Arkivstruktur.Registrering
464 Arkivstruktur.Klasse
"+klasse
0.
.1" o--
> "+mappe
0..*
" Arkivstruktur.Mappe
465 Arkivstruktur.Klasse
"+klasse
0.
.1" o--
> "+registrering
0..*
" Arkivstruktur.Registrering
466 Arkivstruktur.Mappe --
> "+undermappe
0..*
" Arkivstruktur.Mappe
467 Arkivstruktur.Mappe
"+mappe
0.
.1" o--
> "+registrering
0..*
" Arkivstruktur.Registrering
468 Arkivstruktur.Merknad
"+merknad
0..*
" <--* Arkivstruktur.Mappe
469 Arkivstruktur.Merknad
"+merknad
0..*
" <--* Arkivstruktur.Dokumentbeskrivelse
470 Arkivstruktur.Basisregistrering -|
> Arkivstruktur.Registrering
471 Arkivstruktur.Merknad
"+merknad
0..*
" <--* Arkivstruktur.Basisregistrering
472 Arkivstruktur.Registrering
"+registrering
1..*
" o--
> "+dokumentbeskrivelse
0..*
" Arkivstruktur.Dokumentbeskrivelse
473 Arkivstruktur.Dokumentbeskrivelse
"+dokumentbeskrivelse
1" o-
> "+dokumentobjekt
0..*
" Arkivstruktur.Dokumentobjekt
474 Arkivstruktur.Dokumentobjekt *-
> "+konvertering
0..*
" Arkivstruktur.Konvertering
475 Arkivstruktur.ElektroniskSignatur -[hidden]-
> Arkivstruktur.Dokumentobjekt
479 <p
><a href=
"http://plantuml.com/class-diagram
">The format
</a
> is quite
480 compact, with little redundant information. The text expresses
481 entities and relations, and there is little layout related fluff. One
482 can reuse content by using include files, allowing for consistent
483 naming across several diagrams. The include files can be standalone
484 PlantUML too. Here is the content of
485 <tt
>media/uml-class-arkivskaper.iuml
<tt
>:
</p
>
489 class Arkivstruktur.Arkivskaper
<Arkivenhet
> {
490 +arkivskaperID : string
491 +arkivskaperNavn : string
492 +beskrivelse : string [
0.
.1]
497 <p
>This is what the complete diagram for the PlantUML notation above
500 <p
><img width=
"80%
" src=
"http://people.skolelinux.org/pere/blog/images/
2019-
03-
25-noark5-plantuml-diagrameksempel.png
"></p
>
502 <p
>A cool feature of PlantUML is that the generated PNG files include
503 the entire original source diagram as text. The source (with include
504 statements expanded) can be extracted using for example
505 <tt
>exiftool
</tt
>. Another cool feature is that parts of the entities
506 can be hidden after inclusion. This allow to use include files with
507 all attributes listed, even for UML diagrams that should not list any
508 attributes.
</p
>
510 <p
>The diagram also show some of the warts. Some times the layout
511 engine place text labels on top of each other, and some times it place
512 the class boxes too close to each other, not leaving room for the
513 labels on the relationship arrows. The former can be worked around by
514 placing extra newlines in the labes (ie
"\n
"). I did not do it here
515 to be able to demonstrate the issue. I have not found a good way
516 around the latter, so I normally try to reduce the problem by changing
517 from vertical to horizontal links to improve the layout.
</p
>
519 <p
>All in all, I am quite happy with PlantUML, and very impressed with
520 how quickly its lead developer responds to questions. So far I got an
521 answer to my questions in a few hours when I send an email. I
522 definitely recommend looking at PlantUML if you need to make UML
523 diagrams. Note, PlantUML can draw a lot more than class relations.
524 Check out the documention for a complete list. :)
</p
>
526 <p
>As usual, if you use Bitcoin and want to show your support of my
527 activities, please send Bitcoin donations to my address
528 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
533 <title>Release
0.3 of free software archive API system Nikita announced
</title>
534 <link>http://people.skolelinux.org/pere/blog/Release_0_3_of_free_software_archive_API_system_Nikita_announced.html
</link>
535 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Release_0_3_of_free_software_archive_API_system_Nikita_announced.html
</guid>
536 <pubDate>Sun,
24 Mar
2019 14:
30:
00 +
0100</pubDate>
537 <description><p
>Yesterday, a new release of
538 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/
">Nikita
539 Noark
5 core project
</a
> was
540 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/
2019-March/
000451.html
">announced
541 on the project mailing list
</a
>. The free software solution is an
542 implementation of the Norwegian archive standard Noark
5 used by
543 government offices in Norway. These were the changes in version
0.3
544 since version
0.2.1 (from NEWS.md):
</p
>
547 <li
>Improved ClassificationSystem and Class behaviour.
</li
>
548 <li
>Tidied up known inconsistencies between domain model and hateaos links.
</li
>
549 <li
>Added experimental code for blockchain integration.
</li
>
550 <li
>Make token expiry time configurable at upstart from properties file.
</li
>
551 <li
>Continued work on OData search syntax.
</li
>
552 <li
>Started work on pagination for entities, partly implemented for Saksmappe.
</li
>
553 <li
>Finalise ClassifiedCode Metadata entity.
</li
>
554 <li
>Implement mechanism to check if authentication token is still
555 valid. This allow the GUI to return a more sensible message to the
556 user if the token is expired.
</li
>
557 <li
>Reintroduce browse.html page to allow user to browse JSON API using
558 hateoas links.
</li
>
559 <li
>Fix bug in handling file/mappe sequence number. Year change was
560 not properly handled.
</li
>
561 <li
>Update application yml files to be in sync with current development.
</li
>
562 <li
>Stop
'converting
' everything to PDF using libreoffice. Only
563 convert the file formats doc, ppt, xls, docx, pptx, xlsx, odt, odp
565 <li
>Continued code style fixing, making code more readable.
</li
>
566 <li
>Minor bug fixes.
</li
>
570 <p
>If free and open standardized archiving API sound interesting to
571 you, please contact us on IRC
572 (
<a href=
"irc://irc.freenode.net/%
23nikita
">#nikita on
573 irc.freenode.net
</a
>) or email
574 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark
">nikita-noark
575 mailing list
</a
>).
</p
>
577 <p
>As usual, if you use Bitcoin and want to show your support of my
578 activities, please send Bitcoin donations to my address
579 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
584 <title>Åpen og gjennomsiktig vedlikehold av spesifikasjonen for Noark
5 Tjenestegrensesnitt
</title>
585 <link>http://people.skolelinux.org/pere/blog/_pen_og_gjennomsiktig_vedlikehold_av_spesifikasjonen_for_Noark_5_Tjenestegrensesnitt.html
</link>
586 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/_pen_og_gjennomsiktig_vedlikehold_av_spesifikasjonen_for_Noark_5_Tjenestegrensesnitt.html
</guid>
587 <pubDate>Mon,
11 Mar
2019 16:
00:
00 +
0100</pubDate>
588 <description><p
>Et virksomhetsarkiv for meg, er et arbeidsverktøy der en enkelt kan
589 finne informasjonen en trenger når en trenger det, og der
590 virksomhetens samlede kunnskap er tilgjengelig. Det må være greit å
591 finne frem i, litt som en bibliotek. Men der et bibliotek gjerne tar
592 vare på offentliggjort informasjon som er tilgjengelig flere steder,
593 tar et arkiv vare på virksomhetsintern og til tider personlig
594 informasjon som ofte kun er tilgjengelig fra et sted.
</p
>
596 <p
>Jeg mistenker den eneste måten å sikre at arkivet inneholder den
597 samlede kunnskapen i en virksomhet, er å bruke det som virksomhetens
598 kunnskapslager. Det innebærer å automatisk kopiere (brev, epost,
599 SMS-er etc) inn i arkivet når de sendes og mottas, og der filtrere
600 vekk det en ikke vil ta vare på, og legge på metadata om det som er
601 samlet inn for enkel gjenfinning. En slik bruk av arkivet innebærer at
602 arkivet er en del av daglig virke, ikke at det er siste hvilested for
603 informasjon ingen lenger har daglig bruk for. For å kunne være en del
604 av det daglige virket må arkivet enkelt kunne integreres med andre
605 systemer. I disse dager betyr det å tilby arkivet som en
606 nett-tjeneste til hele virksomheten, tilgjengelig for både mennesker
607 og datamaskiner. Det betyr i tur å både tilby nettsider og et
608 maskinlesbart grensesnitt.
</p
>
610 <p
>For noen år siden erkjente visjonære arkivarer fordelene med et
611 standardisert maskinlesbart grensesnitt til organisasjonens arkiv. De
612 gikk igang med å lage noe de kalte
613 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
">Noark
614 5 Tjenestegrensesnitt
</a
>. Gjort riktig, så åpner slike maskinlesbare
615 grensesnitt for samvirke på tvers av uavhengige programvaresystemer.
616 Gjort feil, vil det blokkere for samvirke og bidra til
617 leverandørinnlåsing. For å gjøre det riktig så må grensesnittet være
618 klart og entydig beskrevet i en spesifikasjon som gjør at
619 spesifikasjonen tolkes på samme måte uavhengig av hvem som leser den,
620 og uavhengig av hvem som tar den i bruk.
</p
>
622 <p
>For å oppnå klare og entydige beskrivelser i en spesifikasjon, som
623 trengs for å kunne få en fri og åpen standard (se
624 <a href=
"http://people.skolelinux.org/pere/blog/Fri_og__pen_standard__slik_Digistan_ser_det.html
">Digistan-definisjon
</a
>),
625 så trengs det en åpen og gjennomsiktig inngangsport med lav terskel,
626 der de som forsøker å ta den i bruk enkelt kan få inn korreksjoner,
627 etterlyse klargjøringer og rapportere uklarheter i spesifikasjonen.
628 En trenger også automatiserte datasystemer som måler og sjekker at et
629 gitt grensesnitt fungerer i tråd med spesifikasjonen.
</p
>
631 <p
>For Noark
5 Tjenestegrensesnittet er det nå etablert en slik åpen
632 og gjennomsiktig inngangsport på prosjekttjenesten github. Denne
633 inngangsporten består først og fremst av en åpen portal som lar enhver
634 se hva som er gjort av endringer i spesifikasjonsteksten over tid, men
635 det hører også med et åpent
&quot;diskusjonsforum
&quot; der en kan
636 komme med endringsforslag og forespørsler om klargjøringer. Alle
637 registrerte brukere på github kan bidra med innspill til disse
638 henvendelsene.
</p
>
640 <p
>I samarbeide med Arkivverket har jeg fått opprettet et git-depot
641 med spesifikasjonsteksten for tjenestegrensesnittet, der det er lagt
642 inn historikk for endringer i teksten de siste årene, samt lagt inn
643 endringsforslag og forespørsler om klargjøring av teksten. Bakgrunnen
644 for at jeg bidro med dette er at jeg er involvert i
645 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core
">Nikita-prosjektet
</a
>,
646 som lager en fri programvare-utgave av Noark
5 Tjenestegrensesnitt.
647 Det er først når en forsøker å lage noe i tråd med en spesifikasjon at
648 en oppdager hvor mange detaljer som må beskrives i spesifikasjonen for
649 å sikre samhandling.
</p
>
651 <p
>Spesifikasjonen vedlikeholdes i et rent tekstformat, for å ha et
652 format egnet for versjonskontroll via versjontrollsystemet git. Dette
653 gjør det både enkelt å se konkret hvilke endringer som er gjort når,
654 samt gjør det praktisk mulig for enhver med github-konto å sende inn
655 endringsforslag med formuleringer til spesifikasjonsteksten. Dette
656 tekstformatet vises frem som nettsider på github, slik at en ikke
657 trenger spesielle verktøy for å se på siste utgave av
658 spesifikasjonen.
</p
>
660 <p
>Fra dette rene tekstformatet kan det så avledes ulike formater, som
661 HTML for websider, PDF for utskrift på papir og ePub for lesing med
662 ebokleser. Avlednings-systemet (byggesystemet) bruker i dag
663 verktøyene pandoc, latex, docbook-xsl og GNU make til
664 transformasjonen. Tekstformatet som brukes dag er
665 <a href=
"https://www.markdownguide.org/
">Markdown
</a
>, men det vurderes
667 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/
9">endre
668 til formatet RST
</a
> i fremtiden for bedre styring av utseende på
669 PDF-utgaven.
</p
>
671 <p
>Versjonskontrollsystemet git ble valgt da det er både fleksibelt,
672 avansert og enkelt å ta i bruk. Github ble valgt (foran f.eks. Gitlab
673 som vi bruker i Nikita), da Arkivverket allerede hadde tatt i bruk
674 Github i andre sammenhenger.
</p
>
676 <p
>Enkle endringer i teksten kan gjøres av priviligerte brukere
677 direkte i nettsidene til Github, ved å finne aktuell fil som skal
678 endres (f.eks. kapitler/
03-konformitet.md), klikke på den lille
679 bokstaven i høyre hjørne over teksten. Det kommer opp en nettside der
680 en kan endre teksten slik en ønsker. Når en er fornøyd med endringen
681 så må endringen
&quot;sjekkes inn
&quot; i historikken. Det gjøres ved
682 å gi en kort beskrivelse av endringen (beskriv helst hvorfor endringen
683 trengs, ikke hva som er endret), under overskriften
&quot;Commit
684 changes
&quot;. En kan og bør legge inn en lengre forklaring i det
685 større skrivefeltet, før en velger om endringen skal sendes direkte
686 til
'master
'-grenen (dvs. autorativ utgave av spesifikasjonen) eller
687 om en skal lage en ny gren for denne endringen og opprette en
688 endringsforespørsel (aka
&quot;Pull Request
&quot;/PR). Når alt dette
689 er gjort kan en velge
&quot;Commit changes
&quot; for å sende inn
690 endringen. Hvis den er lagt inn i
&quot;master
&quot;-grenen så er den
691 en offisiell del av spesifikasjonen med en gang. Hvis den derimot er
692 en endringsforespørsel, så legges den inn i
693 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/pulls
">listen
694 over forslag til endringer
</a
> som venter på korrekturlesing og
695 godkjenning.
</p
>
697 <p
>Større endringer (for eksempel samtidig endringer i flere filer)
698 gjøres enklest ved å hente ned en kopi av git-depoet lokalt og gjøre
699 endringene der før endringsforslaget sendes inn. Denne prosessen er
700 godt beskrivet i dokumentasjon fra github. Git-prosjektet som skal
701 &quot;klones
&quot; er
702 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
</a
>.
</p
>
704 <p
>For å registrere nye utfordringer (issues) eller kommentere på
705 eksisterende utfordringer benyttes nettsiden
706 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues
">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues
</a
>.
707 I skrivende stund er det
48 åpne og
11 avsluttede utfordringer. Et
708 forslag til hva som bør være med når en beskriver en utfordring er
709 tilgjengelig som utfordring
710 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/
14">#
14</a
>.
</p
>
712 <p
>For å bygge en PDF-utgave av spesifikasjonen så bruker jeg i dag en
713 Debian GNU/Linux-maskin med en rekke programpakker installert. Når
714 dette er på plass, så holder det å kjøre kommandoen
'make pdf html
' på
715 kommandolinjen, vente ca.
20 sekunder, før spesifikasjon.pdf og
716 spesifikasjon.html ligger klar på disken. Verktøyene for bygging av
717 PDF, HTML og ePub-utgave er også tilgjengelig på Windows og
720 <p
>Github bidrar med rammeverket. Men for at åpent vedlikehold av
721 spesifikasjonen skal fungere, så trengs det folk som bidrar med sin
722 tid og kunnskap. Arkivverket har sagt de skal bidra med innspill og
723 godkjenne forslag til endringer, men det blir størst suksess hvis alle
724 som bruker og lager systemer basert på Noark
5 Tjenestegrensesnitt
725 bidrar med sin kunnskap og kommer med forslag til forebedringer. Jeg
726 stiller. Blir du med?
</p
>
728 <p
>Det er viktig å legge til rette for åpen diskusjon blant alle
729 interesserte, som ikke krever at en må godta lange kontrakter med
730 vilkår for deltagelse. Inntil Arkivverket dukker opp på IRC har vi
731 laget en IRC-kanal der interesserte enkelt kan orientere seg og
732 diskutere tjenestegrensesnittet. Alle er velkommen til å ta turen
734 <a href=
"https://webchat.freenode.net/?channels=nikita
">#nikita
</a
>
735 (f.eks. via irc.freenode.net) for å møte likesinnede.
</p
>
737 <p
>Det holder dog ikke å ha en god spesifikasjon, hvis ikke de som tar
738 den i bruk gjør en like god jobb. For å automatisk teste om et konkret
739 tjenestegrensesnitt følger (min) forståelse av
740 spesifikasjonsdokumentet, har jeg skrevet et program som kobler seg
741 opp til et Noark
5v4 REST-tjeneste og tester alt den finner for å se
742 om det er i henhold til min tolkning av spesifikasjonen. Dette
743 verktøyet er tilgjengelig fra
744 <a href=
"https://github.com/petterreinholdtsen/noark5-tester
">https://github.com/petterreinholdtsen/noark5-tester
</a
>,
745 og brukes daglig mens vi utvikler Nikita for å sikre at vi ikke
746 introduserer nye feil. Hvis en skal sikre samvirke på tvers av ulike
747 systemer er det helt essensielt å kunne raskt og automatisk sjekke at
748 tjenestegrensesnittet oppfører seg som forventet. Jeg håper andre som
749 lager sin utgave av tjenestegrensesnittet vi bruke dette verktøyet,
750 slik at vi tidlig og raskt kan oppdage hvor vi har tolket
751 spesifikasjonen ulikt, og dermed få et godt grunnlag for å gjøre
752 spesifikasjonsteksten enda klarere og bedre.
</p
>
754 <p
>Dagens beskrivelse av Noark
5 Tjenestegrensesnitt er et svært godt
755 utgangspunkt for å gjøre virksomhetens arkiv til et dynamisk og
756 sentralt arbeidsverktøy i organisasjonen. Blir du med å gjøre den
757 enda bedre?
</p
>
762 <title>Time for an official MIME type for patches?
</title>
763 <link>http://people.skolelinux.org/pere/blog/Time_for_an_official_MIME_type_for_patches_.html
</link>
764 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Time_for_an_official_MIME_type_for_patches_.html
</guid>
765 <pubDate>Thu,
1 Nov
2018 08:
15:
00 +
0100</pubDate>
766 <description><p
>As part of my involvement in
767 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core
">the Nikita
768 archive API project
</a
>, I
've been importing a fairly large lump of
769 emails into a test instance of the archive to see how well this would
770 go. I picked a subset of
<a href=
"https://notmuchmail.org/
">my
771 notmuch email database
</a
>, all public emails sent to me via
772 @lists.debian.org, giving me a set of around
216 000 emails to import.
773 In the process, I had a look at the various attachments included in
774 these emails, to figure out what to do with attachments, and noticed
775 that one of the most common attachment formats do not have
776 <a href=
"https://www.iana.org/assignments/media-types/media-types.xhtml
">an
777 official MIME type
</a
> registered with IANA/IETF. The output from
778 diff, ie the input for patch, is on the top
10 list of formats
779 included in these emails. At the moment people seem to use either
780 text/x-patch or text/x-diff, but neither is officially registered. It
781 would be better if one official MIME type were registered and used
782 everywhere.
</p
>
784 <p
>To try to get one official MIME type for these files, I
've brought
786 <a href=
"https://www.ietf.org/mailman/listinfo/media-types
">the
787 media-types mailing list
</a
>. If you are interested in discussion
788 which MIME type to use as the official for patch files, or involved in
789 making software using a MIME type for patches, perhaps you would like
790 to join the discussion?
</p
>
792 <p
>As usual, if you use Bitcoin and want to show your support of my
793 activities, please send Bitcoin donations to my address
794 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
799 <title>Release
0.2 of free software archive system Nikita announced
</title>
800 <link>http://people.skolelinux.org/pere/blog/Release_0_2_of_free_software_archive_system_Nikita_announced.html
</link>
801 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Release_0_2_of_free_software_archive_system_Nikita_announced.html
</guid>
802 <pubDate>Thu,
18 Oct
2018 14:
40:
00 +
0200</pubDate>
803 <description><p
>This morning, the new release of the
804 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/
">Nikita
805 Noark
5 core project
</a
> was
806 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/
2018-October/
000406.html
">announced
807 on the project mailing list
</a
>. The free software solution is an
808 implementation of the Norwegian archive standard Noark
5 used by
809 government offices in Norway. These were the changes in version
0.2
810 since version
0.1.1 (from NEWS.md):
813 <li
>Fix typos in REL names
</li
>
814 <li
>Tidy up error message reporting
</li
>
815 <li
>Fix issue where we used Integer.valueOf(), not Integer.getInteger()
</li
>
816 <li
>Change some String handling to StringBuffer
</li
>
817 <li
>Fix error reporting
</li
>
818 <li
>Code tidy-up
</li
>
819 <li
>Fix issue using static non-synchronized SimpleDateFormat to avoid
820 race conditions
</li
>
821 <li
>Fix problem where deserialisers were treating integers as strings
</li
>
822 <li
>Update methods to make them null-safe
</li
>
823 <li
>Fix many issues reported by coverity
</li
>
824 <li
>Improve equals(), compareTo() and hash() in domain model
</li
>
825 <li
>Improvements to the domain model for metadata classes
</li
>
826 <li
>Fix CORS issues when downloading document
</li
>
827 <li
>Implementation of case-handling with registryEntry and document upload
</li
>
828 <li
>Better support in Javascript for OPTIONS
</li
>
829 <li
>Adding concept description of mail integration
</li
>
830 <li
>Improve setting of default values for GET on ny-journalpost
</li
>
831 <li
>Better handling of required values during deserialisation
</li
>
832 <li
>Changed tilknyttetDato (M620) from date to dateTime
</li
>
833 <li
>Corrected some opprettetDato (M600) (de)serialisation errors.
</li
>
834 <li
>Improve parse error reporting.
</li
>
835 <li
>Started on OData search and filtering.
</li
>
836 <li
>Added Contributor Covenant Code of Conduct to project.
</li
>
837 <li
>Moved repository and project from Github to Gitlab.
</li
>
838 <li
>Restructured repository, moved code into src/ and web/.
</li
>
839 <li
>Updated code to use Spring Boot version
2.
</li
>
840 <li
>Added support for OAuth2 authentication.
</li
>
841 <li
>Fixed several bugs discovered by Coverity.
</li
>
842 <li
>Corrected handling of date/datetime fields.
</li
>
843 <li
>Improved error reporting when rejecting during deserializatoin.
</li
>
844 <li
>Adjusted default values provided for ny-arkivdel, ny-mappe,
845 ny-saksmappe, ny-journalpost and ny-dokumentbeskrivelse.
</li
>
846 <li
>Several fixes for korrespondansepart*.
</li
>
847 <li
>Updated web GUI:
849 <li
>Now handle both file upload and download.
</li
>
850 <li
>Uses new OAuth2 authentication for login.
</li
>
851 <li
>Forms now fetches default values from API using GET.
</li
>
852 <li
>Added RFC
822 (email), TIFF and JPEG to list of possible file formats.
</li
>
853 </ul
></li
>
856 <p
>The changes and improvements are extensive. Running diffstat on
857 the changes between git tab
0.1.1 and
0.2 show
1098 files changed,
858 108666 insertions(+),
54066 deletions(-).
</p
>
860 <p
>If free and open standardized archiving API sound interesting to
861 you, please contact us on IRC
862 (
<a href=
"irc://irc.freenode.net/%
23nikita
">#nikita on
863 irc.freenode.net
</a
>) or email
864 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark
">nikita-noark
865 mailing list
</a
>).
</p
>
867 <p
>As usual, if you use Bitcoin and want to show your support of my
868 activities, please send Bitcoin donations to my address
869 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
874 <title>Fetching trusted timestamps using the rfc3161ng python module
</title>
875 <link>http://people.skolelinux.org/pere/blog/Fetching_trusted_timestamps_using_the_rfc3161ng_python_module.html
</link>
876 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Fetching_trusted_timestamps_using_the_rfc3161ng_python_module.html
</guid>
877 <pubDate>Mon,
8 Oct
2018 12:
30:
00 +
0200</pubDate>
878 <description><p
>I have earlier covered the basics of trusted timestamping using the
879 'openssl ts
' client. See blog post for
880 <a href=
"http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html
">2014</a
>,
881 <a href=
"http://people.skolelinux.org/pere/blog/syslog_trusted_timestamp___chain_of_trusted_timestamps_for_your_syslog.html
">2016</a
>
883 <a href=
"http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html
">2017</a
>
884 for those stories. But some times I want to integrate the timestamping
885 in other code, and recently I needed to integrate it into Python.
886 After searching a bit, I found
887 <a href=
"https://dev.entrouvert.org/projects/python-rfc3161
">the
888 rfc3161 library
</a
> which seemed like a good fit, but I soon
889 discovered it only worked for python version
2, and I needed something
890 that work with python version
3. Luckily I next came across
891 <a href=
"https://github.com/trbs/rfc3161ng/
">the rfc3161ng library
</a
>,
892 a fork of the original rfc3161 library. Not only is it working with
893 python
3, it have fixed a few of the bugs in the original library, and
894 it has an active maintainer. I decided to wrap it up and make it
895 <a href=
"https://tracker.debian.org/pkg/python-rfc3161ng
">available in
896 Debian
</a
>, and a few days ago it entered Debian unstable and testing.
</p
>
898 <p
>Using the library is fairly straight forward. The only slightly
899 problematic step is to fetch the required certificates to verify the
900 timestamp. For some services it is straight forward, while for others
901 I have not yet figured out how to do it. Here is a small standalone
902 code example based on of the integration tests in the library code:
</p
>
909 Python
3 script demonstrating how to use the rfc3161ng module to
910 get trusted timestamps.
912 The license of this code is the same as the license of the rfc3161ng
918 import pyasn1.codec.der
922 import urllib.request
929 def fetch(url, f=None):
930 response = urllib.request.urlopen(url)
931 data = response.read()
937 with tempfile.NamedTemporaryFile() as cert_f,\
938 tempfile.NamedTemporaryFile() as ca_f,\
939 tempfile.NamedTemporaryFile() as msg_f,\
940 tempfile.NamedTemporaryFile() as tsr_f:
942 # First fetch certificates used by service
943 certificate_data = fetch(
'https://freetsa.org/files/tsa.crt
', cert_f)
944 ca_data_data = fetch(
'https://freetsa.org/files/cacert.pem
', ca_f)
946 # Then timestamp the message
948 rfc3161ng.RemoteTimestamper(
'http://freetsa.org/tsr
',
949 certificate=certificate_data)
950 data = b
"Python forever!\n
"
951 tsr = timestamper(data=data, return_tsr=True)
953 # Finally, convert message and response to something
'openssl ts
' can verify
955 store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
956 args = [
"openssl
",
"ts
",
"-verify
",
957 "-data
", msg_f.name,
958 "-in
", tsr_f.name,
959 "-CAfile
", ca_f.name,
960 "-untrusted
", cert_f.name]
961 subprocess.check_call(args)
963 if
'__main__
' == __name__:
967 <p
>The code fetches the required certificates, store them as temporary
968 files, timestamp a simple message, store the message and timestamp to
969 disk and ask
'openssl ts
' to verify the timestamp. A timestamp is
970 around
1.5 kiB in size, and should be fairly easy to store for future
973 <p
>As usual, if you use Bitcoin and want to show your support of my
974 activities, please send Bitcoin donations to my address
975 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
980 <title>Release
0.1.1 of free software archive system Nikita announced
</title>
981 <link>http://people.skolelinux.org/pere/blog/Release_0_1_1_of_free_software_archive_system_Nikita_announced.html
</link>
982 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Release_0_1_1_of_free_software_archive_system_Nikita_announced.html
</guid>
983 <pubDate>Sat,
10 Jun
2017 00:
40:
00 +
0200</pubDate>
984 <description><p
>I am very happy to report that the
985 <a href=
"https://github.com/hiOA-ABI/nikita-noark5-core
">Nikita Noark
5
986 core project
</a
> tagged its second release today. The free software
987 solution is an implementation of the Norwegian archive standard Noark
988 5 used by government offices in Norway. These were the changes in
989 version
0.1.1 since version
0.1.0 (from NEWS.md):
993 <li
>Continued work on the angularjs GUI, including document upload.
</li
>
994 <li
>Implemented correspondencepartPerson, correspondencepartUnit and
995 correspondencepartInternal
</li
>
996 <li
>Applied for coverity coverage and started submitting code on
997 regualr basis.
</li
>
998 <li
>Started fixing bugs reported by coverity
</li
>
999 <li
>Corrected and completed HATEOAS links to make sure entire API is
1000 available via URLs in _links.
</li
>
1001 <li
>Corrected all relation URLs to use trailing slash.
</li
>
1002 <li
>Add initial support for storing data in ElasticSearch.
</li
>
1003 <li
>Now able to receive and store uploaded files in the archive.
</li
>
1004 <li
>Changed JSON output for object lists to have relations in _links.
</li
>
1005 <li
>Improve JSON output for empty object lists.
</li
>
1006 <li
>Now uses correct MIME type application/vnd.noark5-v4+json.
</li
>
1007 <li
>Added support for docker container images.
</li
>
1008 <li
>Added simple API browser implemented in JavaScript/Angular.
</li
>
1009 <li
>Started on archive client implemented in JavaScript/Angular.
</li
>
1010 <li
>Started on prototype to show the public mail journal.
</li
>
1011 <li
>Improved performance by disabling Sprint FileWatcher.
</li
>
1012 <li
>Added support for
'arkivskaper
',
'saksmappe
' and
'journalpost
'.
</li
>
1013 <li
>Added support for some metadata codelists.
</li
>
1014 <li
>Added support for Cross-origin resource sharing (CORS).
</li
>
1015 <li
>Changed login method from Basic Auth to JSON Web Token (RFC
7519)
1017 <li
>Added support for GET-ing ny-* URLs.
</li
>
1018 <li
>Added support for modifying entities using PUT and eTag.
</li
>
1019 <li
>Added support for returning XML output on request.
</li
>
1020 <li
>Removed support for English field and class names, limiting ourself
1021 to the official names.
</li
>
1022 <li
>...
</li
>
1026 <p
>If this sound interesting to you, please contact us on IRC (#nikita
1027 on irc.freenode.net) or email
1028 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark
">nikita-noark
1029 mailing list).
</p
>
1034 <title>Idea for storing trusted timestamps in a Noark
5 archive
</title>
1035 <link>http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html
</link>
1036 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html
</guid>
1037 <pubDate>Wed,
7 Jun
2017 21:
40:
00 +
0200</pubDate>
1038 <description><p
><em
>This is a copy of
1039 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/
2017-June/
000297.html
">an
1040 email I posted to the nikita-noark mailing list
</a
>. Please follow up
1041 there if you would like to discuss this topic. The background is that
1042 we are making a free software archive system based on the Norwegian
1043 <a href=
"https://www.arkivverket.no/forvaltning-og-utvikling/regelverk-og-standarder/noark-standarden
">Noark
1044 5 standard
</a
> for government archives.
</em
></p
>
1046 <p
>I
've been wondering a bit lately how trusted timestamps could be
1048 <a href=
"https://en.wikipedia.org/wiki/Trusted_timestamping
">Trusted
1049 timestamps
</a
> can be used to verify that some information
1050 (document/file/checksum/metadata) have not been changed since a
1051 specific time in the past. This is useful to verify the integrity of
1052 the documents in the archive.
</p
>
1054 <p
>Then it occured to me, perhaps the trusted timestamps could be
1055 stored as dokument variants (ie dokumentobjekt referered to from
1056 dokumentbeskrivelse) with the filename set to the hash it is
1059 <p
>Given a
"dokumentbeskrivelse
" with an associated
"dokumentobjekt
",
1060 a new dokumentobjekt is associated with
"dokumentbeskrivelse
" with the
1061 same attributes as the stamped dokumentobjekt except these
1062 attributes:
</p
>
1066 <li
>format -
> "RFC3161
"
1067 <li
>mimeType -
> "application/timestamp-reply
"
1068 <li
>formatDetaljer -
> "&lt;source URL for timestamp service
&gt;
"
1069 <li
>filenavn -
> "&lt;sjekksum
&gt;.tsr
"
1073 <p
>This assume a service following
1074 <a href=
"https://tools.ietf.org/html/rfc3161
">IETF RFC
3161</a
> is
1075 used, which specifiy the given MIME type for replies and the .tsr file
1076 ending for the content of such trusted timestamp. As far as I can
1077 tell from the Noark
5 specifications, it is OK to have several
1078 variants/renderings of a dokument attached to a given
1079 dokumentbeskrivelse objekt. It might be stretching it a bit to make
1080 some of these variants represent crypto-signatures useful for
1081 verifying the document integrity instead of representing the dokument
1084 <p
>Using the source of the service in formatDetaljer allow several
1085 timestamping services to be used. This is useful to spread the risk
1086 of key compromise over several organisations. It would only be a
1087 problem to trust the timestamps if all of the organisations are
1088 compromised.
</p
>
1090 <p
>The following oneliner on Linux can be used to generate the tsr
1091 file. $input is the path to the file to checksum, and $sha256 is the
1092 SHA-
256 checksum of the file (ie the
"<sjekksum
>.tsr
" value mentioned
1095 <p
><blockquote
><pre
>
1096 openssl ts -query -data
"$inputfile
" -cert -sha256 -no_nonce \
1097 | curl -s -H
"Content-Type: application/timestamp-query
" \
1098 --data-binary
"@-
" http://zeitstempel.dfn.de
> $sha256.tsr
1099 </pre
></blockquote
></p
>
1101 <p
>To verify the timestamp, you first need to download the public key
1102 of the trusted timestamp service, for example using this command:
</p
>
1104 <p
><blockquote
><pre
>
1105 wget -O ca-cert.txt \
1106 https://pki.pca.dfn.de/global-services-ca/pub/cacert/chain.txt
1107 </pre
></blockquote
></p
>
1109 <p
>Note, the public key should be stored alongside the timestamps in
1110 the archive to make sure it is also available
100 years from now. It
1111 is probably a good idea to standardise how and were to store such
1112 public keys, to make it easier to find for those trying to verify
1113 documents
100 or
1000 years from now. :)
</p
>
1115 <p
>The verification itself is a simple openssl command:
</p
>
1117 <p
><blockquote
><pre
>
1118 openssl ts -verify -data $inputfile -in $sha256.tsr \
1119 -CAfile ca-cert.txt -text
1120 </pre
></blockquote
></p
>
1122 <p
>Is there any reason this approach would not work? Is it somehow against
1123 the Noark
5 specification?
</p
>
1128 <title>Epost inn som arkivformat i Riksarkivarens forskrift?
</title>
1129 <link>http://people.skolelinux.org/pere/blog/Epost_inn_som_arkivformat_i_Riksarkivarens_forskrift_.html
</link>
1130 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Epost_inn_som_arkivformat_i_Riksarkivarens_forskrift_.html
</guid>
1131 <pubDate>Thu,
27 Apr
2017 11:
30:
00 +
0200</pubDate>
1132 <description><p
>I disse dager, med frist
1. mai, har Riksarkivaren ute en høring på
1133 sin forskrift. Som en kan se er det ikke mye tid igjen før fristen
1134 som går ut på søndag. Denne forskriften er det som lister opp hvilke
1135 formater det er greit å arkivere i
1136 <a href=
"http://www.arkivverket.no/arkivverket/Offentleg-forvalting/Noark/Noark-
5">Noark
1137 5-løsninger
</a
> i Norge.
</p
>
1139 <p
>Jeg fant høringsdokumentene hos
1140 <a href=
"https://www.arkivrad.no/aktuelt/riksarkivarens-forskrift-pa-horing
">Norsk
1141 Arkivråd
</a
> etter å ha blitt tipset på epostlisten til
1142 <a href=
"https://github.com/hiOA-ABI/nikita-noark5-core
">fri
1143 programvareprosjektet Nikita Noark5-Core
</a
>, som lager et Noark
5
1144 Tjenestegresesnitt. Jeg er involvert i Nikita-prosjektet og takket
1145 være min interesse for tjenestegrensesnittsprosjektet har jeg lest en
1146 god del Noark
5-relaterte dokumenter, og til min overraskelse oppdaget
1147 at standard epost ikke er på listen over godkjente formater som kan
1148 arkiveres. Høringen med frist søndag er en glimrende mulighet til å
1149 forsøke å gjøre noe med det. Jeg holder på med
1150 <a href=
"https://github.com/petterreinholdtsen/noark5-tester/blob/master/docs/hoering-arkivforskrift.tex
">egen
1151 høringsuttalelse
</a
>, og lurer på om andre er interessert i å støtte
1152 forslaget om å tillate arkivering av epost som epost i arkivet.
</p
>
1154 <p
>Er du igang med å skrive egen høringsuttalelse allerede? I så fall
1155 kan du jo vurdere å ta med en formulering om epost-lagring. Jeg tror
1156 ikke det trengs så mye. Her et kort forslag til tekst:
</p
>
1158 <p
><blockquote
>
1160 <p
>Viser til høring sendt ut
2017-
02-
17 (Riksarkivarens referanse
1161 2016/
9840 HELHJO), og tillater oss å sende inn noen innspill om
1162 revisjon av Forskrift om utfyllende tekniske og arkivfaglige
1163 bestemmelser om behandling av offentlige arkiver (Riksarkivarens
1164 forskrift).
</p
>
1166 <p
>Svært mye av vår kommuikasjon foregår i dag på e-post. Vi
1167 foreslår derfor at Internett-e-post, slik det er beskrevet i IETF
1169 <a href=
"https://tools.ietf.org/html/rfc5322
">https://tools.ietf.org/html/rfc5322
</a
>. bør
1170 inn som godkjent dokumentformat. Vi foreslår at forskriftens
1171 oversikt over godkjente dokumentformater ved innlevering i §
5-
16
1172 endres til å ta med Internett-e-post.
</p
>
1174 </blockquote
></p
>
1176 <p
>Som del av arbeidet med tjenestegrensesnitt har vi testet hvordan
1177 epost kan lagres i en Noark
5-struktur, og holder på å skrive et
1178 forslag om hvordan dette kan gjøres som vil bli sendt over til
1179 arkivverket så snart det er ferdig. De som er interesserte kan
1180 <a href=
"https://github.com/petterreinholdtsen/noark5-tester/blob/master/docs/epostlagring.md
">følge
1181 fremdriften på web
</a
>.
</p
>
1183 <p
>Oppdatering
2017-
04-
28: I dag ble høringuttalelsen jeg skrev
1184 <a href=
"https://www.nuug.no/news/NUUGs_h_ringuttalelse_til_Riksarkivarens_forskrift.shtml
">sendt
1185 inn av foreningen NUUG
</a
>.
</p
>
1190 <title>Free software archive system Nikita now able to store documents
</title>
1191 <link>http://people.skolelinux.org/pere/blog/Free_software_archive_system_Nikita_now_able_to_store_documents.html
</link>
1192 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Free_software_archive_system_Nikita_now_able_to_store_documents.html
</guid>
1193 <pubDate>Sun,
19 Mar
2017 08:
00:
00 +
0100</pubDate>
1194 <description><p
>The
<a href=
"https://github.com/hiOA-ABI/nikita-noark5-core
">Nikita
1195 Noark
5 core project
</a
> is implementing the Norwegian standard for
1196 keeping an electronic archive of government documents.
1197 <a href=
"http://www.arkivverket.no/arkivverket/Offentlig-forvaltning/Noark/Noark-
5/English-version
">The
1198 Noark
5 standard
</a
> document the requirement for data systems used by
1199 the archives in the Norwegian government, and the Noark
5 web interface
1200 specification document a REST web service for storing, searching and
1201 retrieving documents and metadata in such archive. I
've been involved
1202 in the project since a few weeks before Christmas, when the Norwegian
1204 <a href=
"https://www.nuug.no/news/NOARK5_kjerne_som_fri_programvare_f_r_epostliste_hos_NUUG.shtml
">announced
1205 it supported the project
</a
>. I believe this is an important project,
1206 and hope it can make it possible for the government archives in the
1207 future to use free software to keep the archives we citizens depend
1208 on. But as I do not hold such archive myself, personally my first use
1209 case is to store and analyse public mail journal metadata published
1210 from the government. I find it useful to have a clear use case in
1211 mind when developing, to make sure the system scratches one of my
1214 <p
>If you would like to help make sure there is a free software
1215 alternatives for the archives, please join our IRC channel
1216 (
<a href=
"irc://irc.freenode.net/%
23nikita
">#nikita on
1217 irc.freenode.net
</a
>) and
1218 <a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark
">the
1219 project mailing list
</a
>.
</p
>
1221 <p
>When I got involved, the web service could store metadata about
1222 documents. But a few weeks ago, a new milestone was reached when it
1223 became possible to store full text documents too. Yesterday, I
1224 completed an implementation of a command line tool
1225 <tt
>archive-pdf
</tt
> to upload a PDF file to the archive using this
1226 API. The tool is very simple at the moment, and find existing
1227 <a href=
"https://en.wikipedia.org/wiki/Fonds
">fonds
</a
>, series and
1228 files while asking the user to select which one to use if more than
1229 one exist. Once a file is identified, the PDF is associated with the
1230 file and uploaded, using the title extracted from the PDF itself. The
1231 process is fairly similar to visiting the archive, opening a cabinet,
1232 locating a file and storing a piece of paper in the archive. Here is
1233 a test run directly after populating the database with test data using
1234 our API tester:
</p
>
1236 <p
><blockquote
><pre
>
1237 ~/src//noark5-tester$ ./archive-pdf mangelmelding/mangler.pdf
1238 using arkiv: Title of the test fonds created
2017-
03-
18T23:
49:
32.103446
1239 using arkivdel: Title of the test series created
2017-
03-
18T23:
49:
32.103446
1241 0 - Title of the test case file created
2017-
03-
18T23:
49:
32.103446
1242 1 - Title of the test file created
2017-
03-
18T23:
49:
32.103446
1243 Select which mappe you want (or search term):
0
1244 Uploading mangelmelding/mangler.pdf
1245 PDF title: Mangler i spesifikasjonsdokumentet for NOARK
5 Tjenestegrensesnitt
1246 File
2017/
1: Title of the test case file created
2017-
03-
18T23:
49:
32.103446
1247 ~/src//noark5-tester$
1248 </pre
></blockquote
></p
>
1250 <p
>You can see here how the fonds (arkiv) and serie (arkivdel) only had
1251 one option, while the user need to choose which file (mappe) to use
1252 among the two created by the API tester. The
<tt
>archive-pdf
</tt
>
1253 tool can be found in the git repository for the API tester.
</p
>
1255 <p
>In the project, I have been mostly working on
1256 <a href=
"https://github.com/petterreinholdtsen/noark5-tester
">the API
1257 tester
</a
> so far, while getting to know the code base. The API
1258 tester currently use
1259 <a href=
"https://en.wikipedia.org/wiki/HATEOAS
">the HATEOAS links
</a
>
1260 to traverse the entire exposed service API and verify that the exposed
1261 operations and objects match the specification, as well as trying to
1262 create objects holding metadata and uploading a simple XML file to
1263 store. The tester has proved very useful for finding flaws in our
1264 implementation, as well as flaws in the reference site and the
1265 specification.
</p
>
1267 <p
>The test document I uploaded is a summary of all the specification
1268 defects we have collected so far while implementing the web service.
1269 There are several unclear and conflicting parts of the specification,
1271 <a href=
"https://github.com/petterreinholdtsen/noark5-tester/tree/master/mangelmelding
">started
1272 writing down
</a
> the questions we get from implementing it. We use a
1273 format inspired by how
<a href=
"http://www.opengroup.org/austin/
">The
1274 Austin Group
</a
> collect defect reports for the POSIX standard with
1275 <a href=
"http://www.opengroup.org/austin/mantis.html
">their
1276 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
> :).
1278 <p
>The Nikita project is implemented using Java and Spring, and is
1279 fairly easy to get up and running using Docker containers for those
1280 that want to test the current code base. The API tester is
1281 implemented in Python.
</p
>
1286 <title>Hva «mangler» i OEP - litt statistikk utledet fra saksnummer og dokumentnummer
</title>
1287 <link>http://people.skolelinux.org/pere/blog/Hva__mangler__i_OEP___litt_statistikk_utledet_fra_saksnummer_og_dokumentnummer.html
</link>
1288 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Hva__mangler__i_OEP___litt_statistikk_utledet_fra_saksnummer_og_dokumentnummer.html
</guid>
1289 <pubDate>Thu,
29 Jan
2015 20:
30:
00 +
0100</pubDate>
1290 <description><p
>En ting jeg har lurt på når det gjelder offentlige postjournaler,
1291 er hvor stor andel av det som ligger i de interne databasene kommer
1292 ikke med i postjournalen. Dette er det mulig å finne ut basert på det
1293 som ligger i postjournalen. For å forstå hva jeg mener, trengs det
1294 litt bakgrunnsinformasjon. I henhold til
1295 <a href=
"http://www.arkivverket.no/arkivverket/Offentleg-forvalting/Noark
">NOARK-standarden
</a
>
1296 for norske offentlige arkiv skal enhver sak ha et årstall og et
1297 løpenummer, og ethvert dokument i saken skal gis et
1298 dokument-løpenummer. Det vil si at en ender opp med dokument-ID som
1299 ser ut som ÅÅÅÅ/SAKNR-DOKNR, f.eks.
2014/
2-
1 eller
2014/
12312-
14.
1300 Mange oppgir kun tosifret årstall, men prinsippet er det samme. Så
1301 vidt jeg vet skal saksnummer og dokumentnummer tildeles løpende og i
1302 stigende rekkefølge. Gitt en instans med følgende dokument-ID i
1303 postjournalen, så kan en regne ut hvor mye som ikke finnes i
1307 <li
>2014/
2-
1</li
>
1308 <li
>2014/
5-
1</li
>
1309 <li
>2014/
5-
3</li
>
1312 <p
>Her ser en at saksnummer
2 og
5 finnes i postjournalen, mens
1313 nummerene
1,
3 og
4 mangler. En ser også at i sak
2014/
5 mangler
1314 dokument
2. Ved hjelp av denne informasjonen har jeg regnet ut hvor
1315 stor andel av saksnummer og dokumentløpenummer som ikke har dukket opp
1316 i
<a href=
"https://www.oep.no/
">Offentlig Elektronisk Postjournal
</a
>
1317 (OEP). For saksnummer har jeg tatt utgangspunkt i at en ikke trenger
1318 å starte på
1, og dermed regnet med området fra laveste til høyeste
1319 saksnummer og talt antall unike saksnummer som forekommer i OEP. I
1320 dette tilfellet betyr de at
2 av
4 saksnummer er ubrukte (
50%). For
1321 dokumentløpenummer har jeg tilsvarende tatt utgangspunkt i laveste og
1322 høyeste kjente dokumentløpenummer, for å handtere databaser der jeg
1323 mangler komplett postjournal. For sak
2014/
5 her betyr det at
1 av
3
1324 dokumenter mangler (
33%).
</p
>
1326 <p
>Det er flere årsaker til at det kan bli hull i nummerseriene.
1327 Feilføring der et dokument tildeles et nytt saksnummer ved en feil, og
1328 deretter flyttes inn i riktig sak vil gi et ubrukt saksnummer, da
1329 saksnummer skal tildeles i stigende rekkefølge og en ikke får opprette
1330 nye saker innimellom gamle saker. Tilsvarende kan skje med
1331 dokument-løpenummer. Det er jo heller ikke sikkert at et saksnummer i
1332 OEP er det samme som løpenummeret som brukes som saksnummeret i
1333 instansens interne datasystem. Kanskje snakker vi om ulike ontologier
1334 der en delmengde av interne saksnummer tilsvarer saksnummer i OEP.
1335 Hvis like nummer også tildeles andre ting enn saker som skal til OEP
1336 vil en tilsvarende få «hull» i saksnumrene i postjournalen.
</p
>
1338 <p
>Jeg er litt usikker på hva denne statistikken egentlig viser, og
1339 heller ikke sikker på om det er reelt sett mangler i OEP (som kanskje
1340 kunne anses å være kritikkverdig), bare er resultatet av hendelige
1341 uhell i nummertildelingen eller resultat av ulik ontologi i OEP og
1342 instansens datasystem. Men jeg syntes tallene og variasjonen var så
1343 interessant at jeg hadde lyst til å dele dem med mine lesere. Jeg har
1344 sortert listen på prosent upubliserte saksnummer for
2014.
</p
>
1346 <table border=
"1">
1347 <tr
><th colspan=
"6">Saksnummer
</th
><th colspan=
"3">Dokumentnummer
</th
><th rowspan=
"3">Instans
</th
></tr
>
1348 <tr
><th colspan=
"3">2014</th
><th colspan=
"3">2013</th
><th colspan=
"3">2014</th
></tr
>
1349 <tr
><th
>%
</th
><th
>Upubl. saksnr.
</th
><th
>Totalt
</th
>
1350 <th
>%
</th
><th
>Upubl. saksnr
</th
><th
>Totalt
</th
>
1351 <th
>%
</th
><th
>Upubl. dok.nr.
</th
><th
>Totalt
</th
>
1354 <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
>
1355 <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
>
1356 <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
>
1357 <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
>
1358 <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
>
1359 <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
>
1360 <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
>
1361 <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
>
1362 <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
>
1363 <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
>
1364 <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
>
1365 <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
>
1366 <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
>
1367 <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
>
1368 <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
>
1369 <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
>
1370 <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
>
1371 <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
>
1372 <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
>
1373 <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
>
1374 <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
>
1375 <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
>
1376 <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
>
1377 <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
>
1378 <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
>
1379 <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
>
1380 <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
>
1381 <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
>
1382 <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
>
1383 <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
>
1384 <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
>
1385 <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
>
1386 <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
>
1387 <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
>
1388 <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
>
1389 <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
>
1390 <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
>
1391 <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
>
1392 <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
>
1393 <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
>
1394 <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
>
1395 <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
>
1396 <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
>
1397 <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
>
1398 <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
>
1399 <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
>
1400 <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
>
1401 <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
>
1402 <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
>
1403 <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
>
1404 <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
>
1405 <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
>
1406 <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
>
1407 <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
>
1408 <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
>
1409 <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
>
1410 <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
>
1411 <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
>
1412 <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
>
1413 <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
>
1414 <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
>
1415 <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
>
1416 <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
>
1417 <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
>
1418 <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
>
1419 <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
>
1420 <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
>
1421 <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
>
1422 <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
>
1423 <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
>
1424 <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
>
1425 <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
>
1426 <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
>
1427 <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
>
1428 <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
>
1429 <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
>
1430 <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
>
1431 <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
>
1432 <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
>
1433 <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
>
1434 <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
>
1435 <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
>
1436 <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
>
1437 <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
>
1438 <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
>
1439 <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
>
1440 <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
>
1441 <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
>
1442 <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
>
1443 <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
>
1444 <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
>
1445 <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
>
1446 <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
>
1447 <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
>
1448 <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
>
1449 <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
>
1450 <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
>
1451 <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
>
1452 <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
>
1453 <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
>
1454 <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
>
1455 <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
>
1456 <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
>
1457 <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
>
1458 <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
>
1459 <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
>
1460 <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
>
1461 <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
>
1462 <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
>
1463 <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
>
1464 <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
>
1465 <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
>
1466 <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
>
1467 <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
>
1468 <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
>
1469 <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
>
1470 <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
>
1471 <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
>
1475 <p
>Det kunne vært interessant å se hva som skjedde hvis en ba om
1476 innsyn i en dokument-ID som ikke finnes i OEP... :) Det hadde også
1477 vært interessant å få vite hva årsaken til at noen saksnummer ikke
1478 dukker opp i OEP der det er få og mange. Jeg mistenker jo at årsaken
1479 ikke er den samme hos Skattedirektoratet og hos Landinfo, selv om
1480 andelen upubliserte nummer er ganske lik.
</p
>
1485 <title>Hvordan bør RFC
822-formattert epost lagres i en NOARK5-database?
</title>
1486 <link>http://people.skolelinux.org/pere/blog/Hvordan_b_r_RFC_822_formattert_epost_lagres_i_en_NOARK5_database_.html
</link>
1487 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Hvordan_b_r_RFC_822_formattert_epost_lagres_i_en_NOARK5_database_.html
</guid>
1488 <pubDate>Fri,
7 Mar
2014 15:
20:
00 +
0100</pubDate>
1489 <description><p
>For noen uker siden ble NXCs fri programvarelisenserte
1491 <a href=
"http://www.nuug.no/aktiviteter/
20140211-noark/
">presentert hos
1492 NUUG
</a
> (video
1493 <a href=
"https://www.youtube.com/watch?v=JCb_dNS3MHQ
">på youtube
1494 foreløbig
</a
>), og det fikk meg til å titte litt mer på NOARK5,
1495 standarden for arkivhåndtering i det offentlige Norge. Jeg lurer på
1496 om denne kjernen kan være nyttig i et par av mine prosjekter, og for ett
1497 av dem er det mest aktuelt å lagre epost. Jeg klarte ikke finne noen
1498 anbefaling om hvordan RFC
822-formattert epost (aka Internett-epost)
1499 burde lagres i NOARK5, selv om jeg vet at noen arkiver tar
1500 PDF-utskrift av eposten med sitt epostprogram og så arkiverer PDF-en
1501 (eller enda værre, tar papirutskrift og lagrer bildet av eposten som
1502 PDF i arkivet).
</p
>
1504 <p
>Det er ikke så mange formater som er akseptert av riksarkivet til
1505 langtidsoppbevaring av offentlige arkiver, og PDF og XML er de mest
1506 aktuelle i så måte. Det slo meg at det måtte da finnes en eller annen
1507 egnet XML-representasjon og at det kanskje var enighet om hvilken som
1508 burde brukes, så jeg tok mot til meg og spurte
1509 <a href=
"http://samdok.com/
">SAMDOK
</a
>, en gruppe tilknyttet
1510 arkivverket som ser ut til å jobbe med NOARK-samhandling, om de hadde
1513 <p
><blockquote
>
1514 <p
>Hei.
</p
>
1516 <p
>Usikker på om dette er riktig forum å ta opp mitt spørsmål, men jeg
1517 lurer på om det er definert en anbefaling om hvordan RFC
1518 822-formatterte epost (aka vanlig Internet-epost) bør lages håndteres
1519 i NOARK5, slik at en bevarer all informasjon i eposten
1520 (f.eks. Received-linjer). Finnes det en anbefalt XML-mapping ala den
1522 &lt;URL:
<a href=
"https://www.informit.com/articles/article.aspx?p=
32074">https://www.informit.com/articles/article.aspx?p=
32074</a
> &gt;? Mitt
1523 mål er at det skal være mulig å lagre eposten i en NOARK5-kjerne og
1524 kunne få ut en identisk formattert kopi av opprinnelig epost ved
1526 </blockquote
></p
>
1528 <p
>Postmottaker hos SAMDOK mente spørsmålet heller burde stilles
1529 direkte til riksarkivet, og jeg fikk i dag svar derfra formulert av
1530 seniorrådgiver Geir Ivar Tungesvik:
</p
>
1532 <p
><blockquote
>
1533 <p
>Riksarkivet har ingen anbefalinger når det gjelder konvertering fra
1534 e-post til XML. Det står arkivskaper fritt å eventuelt definere/bruke
1535 eget format. Inklusive da - som det spørres om - et format der det er
1536 mulig å re-etablere e-post format ut fra XML-en. XML (e-post)
1537 dokumenter må være referert i arkivstrukturen, og det må vedlegges et
1538 gyldig XML skjema (.xsd) for XML-filene. Arkivskaper står altså fritt
1539 til å gjøre hva de vil, bare det dokumenteres og det kan dannes et
1540 utrekk ved avlevering til depot.
</p
>
1542 <p
>De obligatoriske kravene i Noark
5 standarden må altså oppfylles -
1543 etter dialog med Riksarkivet i forbindelse med godkjenning. For
1544 offentlige arkiv er det særlig viktig med filene loependeJournal.xml
1545 og offentligJournal.xml. Private arkiv som vil forholde seg til Noark
1546 5 standarden er selvsagt frie til å bruke det som er relevant for dem
1547 av obligatoriske krav.
</p
>
1548 </blockquote
></p
>
1550 <p
>Det ser dermed ut for meg som om det er et lite behov for å
1551 standardisere XML-lagring av RFC-
822-formatterte meldinger. Noen som
1552 vet om god spesifikasjon i så måte? I tillegg til den omtalt over,
1553 har jeg kommet over flere aktuelle beskrivelser (søk på
"rfc
822
1554 xml
", så finner du aktuelle alternativer).
</p
>
1558 <li
><a href=
"http://www.openhealth.org/xmtp/
">XML MIME Transformation
1559 protocol (XMTP)
</a
> fra OpenHealth, sist oppdatert
2001.
</li
>
1561 <li
><a href=
"https://tools.ietf.org/html/draft-klyne-message-rfc822-xml-
03">An
1562 XML format for mail and other messages
</a
> utkast fra IETF datert
1565 <li
><a href=
"http://www.informit.com/articles/article.aspx?p=
32074">xMail:
1566 E-mail as XML
</a
> en artikkel fra
2003 som beskriver python-modulen
1567 rfc822 som gir ut XML-representasjon av en RFC
822-formattert epost.
</li
>
1571 <p
>Finnes det andre og bedre spesifikasjoner for slik lagring? Send
1572 meg en epost hvis du har innspill.
</p
>