1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" dir=
"ltr">
5 <meta http-equiv=
"Content-Type" content=
"text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: Entries Tagged noark5
</title>
7 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/vim.css" />
9 <link rel=
"alternate" title=
"RSS Feed" href=
"noark5.rss" type=
"application/rss+xml" />
14 <a href=
"http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
21 <h3>Entries tagged "noark5".
</h3>
25 <a href=
"http://people.skolelinux.org/pere/blog/Oppdatert_Noark_5_Tjenestegrenesnitt_versjon_1_0_for_Noark_5_5_0.html">Oppdatert Noark
5 Tjenestegrenesnitt versjon
1.0 for Noark
5.5.0</a>
31 <p>Jeg er veldig glad for å kunne fortelle at i går ble ny versjon av
32 <a href=
"https://www.arkivverket.no/forvaltning-og-utvikling/noark-standarden/noark-5/tjenestegrensesnitt-noark5">API-spesifikasjonen
33 for Noark
5 Tjenestegrensesnitt
</a> gitt ut. Det så lenge mørkt ut
34 for sjansene for å få inn nødvendige korreksjoner i
35 spesifikasjonsteksten innen rimelig tid, men takket være intens og god
36 innsats fra Mona og Anne Sofie hos Arkivverket de siste ukene, så ble
37 resultatet som ble gitt ut på USAs uavhengighetsdag mye bedre enn jeg
41 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">tilgjengelig
42 som markdown-filer i Arkivverkets github-prosjekt for dette
</a>, og de
43 aller fleste av forslagene til forbedringer fra oss som holder på med
44 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core">Nikita-prosjektet
</a>
45 kom med i denne nye og oppdaterte spesifikasjonsteksten. Det er
46 fortsatt mye som gjenstår før den er entydig, klar og sikrer samvirke
47 på tvers av leverandører, men utgangspunktet er veldig mye bedre enn
48 forrige versjon fra
2016. Ta gjerne en titt.
</p>
50 <p>Ellers må jeg jo si at det var hyggelig å se at min forrige
51 bloggpost om tjenestegrensesnittet fikk en
52 <a href=
"https://beta.arkivverket.no/post/186020592045/noark-5-versjon-50-tjenestegrensesnitt-10">lenke
53 fra Arkivverket Beta
</a>.
</p>
55 <p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
56 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
58 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
59 Merk, betaling med bitcoin er ikke anonymt. :)
</p>
65 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
70 <div class=
"padding"></div>
74 <a href=
"http://people.skolelinux.org/pere/blog/Nikita_og_Noark_5_tjenestegrensesnittet_tilbyr_ny_m_te___tenke_arkivering.html">Nikita og Noark
5 tjenestegrensesnittet tilbyr ny måte å tenke arkivering
</a>
80 <p><em>av Thomas Sødring (OsloMet) og Petter Reinholdtsen (foreningen
83 <p>Nikita Noark
5-kjerne er et fri programvareprosjekt som tar i bruk
84 Arkivverkets spesifikasjonen for Noark
5 Tjenestegrensesnitt og tilbyr
85 et maskinlesbart grensesnitt (arkiv-API) til datasystemer som trenger å
86 arkivere dokumenter og informasjon. I tillegg tilbyr Nikita et
87 nettleserbasert brukergrensesnitt for brukere av arkivet. Dette
88 brukergrensesnittet benytter det maskinlesbare grensesnittet. Noark
5
89 Tjenestegrensesnitt er en ny måte å tenke arkivering, med fokus på
90 automatisering og maskinell behandling av arkivmateriale, i stedet for
91 å fokusere på brukergrensesnitt. En kan tenke på
92 tjenestegrensesnittet som arkivet uten brukergrensesnitt, der flere
93 aktører kan koble til ulike brukergrensesnitt, tilpasset ulike
96 <p>Historisk sett gjorde Noark standarden en veldig bra jobb med
98 papir til digital saksbehandling, men det har kommet til kort på andre
99 områder. Den teknologiske utviklingen har brakt oss ditt at vi kan og
100 skal forvente langt mer fra en arkivkjerne enn før, men det offentlig
101 er ofte konservativ når det gjelder nytenking. For lengst skulle
102 begreper som samvirke mellom datasystemer, metadata, prosess og
103 tjenestegrensesnitt (API) vært dominerende når systemer kjøpes
104 inn. Dessverre er det slik at ikke alle ønsker samvirke mellom
105 datasystemer velkommen, og det kan være trygt å kjøpe «svarte bokser»
106 der du slipper å ta stilling til hvordan man skal få flere systemer
107 til å virke sammen. Men IT-arkitektur er et begrep arkivfolk også
108 begynner å ta inn over seg.
</p>
110 <p>Slike systemer for å organisere metadata bør ha nettbaserte
111 tjenestegrensesnitt der brukergrensesnitt er tydelig adskilt fra
112 bakenforliggende system. Det finnes mange rapporter som snakker om å
113 bryte ned siloer i forvaltningen og standardiserte tjenestegrensesnitt
114 er det viktigste virkemiddel mot datasiloer og legger til rette for
115 økt samvirke mellom systemer. Et standardisert tjenestegrensesnitt er
116 et viktig middel for å få systemer til å samhandle da det sikrer at
117 ulike produsenters systemer kan snakke sammen på tvers. Samfunnet
118 fungerer ikke uten standardisering. Vi har alle samme strømstyrke og
119 kontakter i veggene og kjører alle på høyre side av veien i Norge. Det er i en slik
120 sammenheng at prosjektet «Noark
5 Tjenestegrensesnitt» er veldig
121 viktig. Hvis alle leverandører av arkivsystemer forholdt seg til et
122 standardisert tjenestegrensesnitt kunne kostnadene for arkivering
123 reduseres. Tenk deg at du er en kommune som ønsker et fagsystem integrert
124 med arkivløsningen din. I dag må fagsystemleverandøren vite og
125 tilpasse seg den spesifikke versjonen og varianten av arkivløsningen
126 du har. Hvis vi antar at alle leverandører av arkivkjerner har solgt
127 inn enten SOAP eller REST-grensesnitt til kunder de siste
10 årene og
128 det kommer endret versjon av grensesnittet innimellom, så gir det
129 veldig mange forskjellige tjenestegrensesnitt en fagsystemleverandør
130 må forholde seg til. Med
12 leverandører og kvartalsvise oppdateringer
131 kan det potensielt bli
96 ulike varianter hvert eneste år. Det sier
132 seg selv at det blir dyrt. Men det blir faktisk verre. Hvis du senere
133 ønsker å bytte ut arkivsystemet med et annet så er du avhengig å få
134 alle integrasjonene dine laget på nytt. Dette kan gjøre at du velger å
135 forbli hos en dårlig leverandør framfor å skaffe nytt system, fordi
136 det blir for vanskelig og dyrt å bytte. Dermed etableres det «små»
137 monopolsituasjoner som er vanskelig å bryte ut av. Dårlige valg i dag
138 kan ha uante kostander på sikt. I Nikita-prosjektet har vi kun jobbet
139 opp mot Noark
5 Tjenestegrensesnittet. Det har tatt en god del
140 ressurser å sette seg inn i spesifikasjonen og ta den i bruk, spesielt
141 på grunn av uklarheter i spesifikasjonen. Hvis vi måtte gjøre det
142 samme for alle versjoner og varianter av de forskjellige
143 tjenestegrensesnittene ville det blitt veldig tidkrevende og
146 <p>For deg som arkivar er digitalisering og systemer som skal virke
147 sammen en del av den nye hverdagen. Du har kanskje blitt skånet for
148 det ved å kjøpe svarte bokser, men du risikerer at du gjør deg selv en
149 bjørnetjeneste. Det kan oppleves som kjedelig å fortelle kolleger at
150 du skal sette deg inn i et tjenestegrensesnitt, men dette er faktisk
151 veldig spennende. Tjenestegrensesnittet er på en måte blitt levende og
152 det er spesielt et begrep du bør merke deg: OData. Å trekke inn deler
153 av OData-standarden som en måte å filtrere entitetsøk i et arkivsystem
154 var et nyttig trekk i prosjektet. Følgende eksempel er en
155 OData-spørring det går an å sende inn til en standardisert
159 .../sakarkiv/journalpost?filter=contains(tittel, 'nabovarsel')
162 <p>Spørringen over vil hente en liste av alle dine journalposter der
163 tittelen til journalposten inneholder ordet 'nabovarsel'. Alle
164 leverandører som implementerer tjenestegrensesnittet vil måtte tilby
165 dette. Det betyr at hvis du lærer dette språket for et system, vil det
166 være gjeldende for alle. Dette er egentlig en ny måte å søke i
167 arkivdatabasen på og vil være svært nyttig, for eksempel kan søk i
168 tjenestegrensesnittet antagelig brukes til å hente ut offentlig
169 postjournal. I arkivverden pleier vi å like teknologier som er
170 menneskelesbart, da vet vi det er enkelt og nyttig! OData er også
171 viktig fordi det kan bli en ny måte å svare innsynsforespørsler på i
172 tråd med offentlighetsloven §
9, der retten til å kreve innsyn i
173 sammenstilling fra databaser er nedfelt. I dag ser vi
174 forvaltningsorganer som avviser slike krav fordi det «ikke kan gjøres
175 med enkle framgangsmåter». Bruken av OData i tjenestegrensesnittet,
176 sammen med maskinlesbar markeringsformater kan være et viktig bidrag
177 til å åpne arkivene i tråd med prinsippene om en åpen og transparent
180 <p>Standardisering er viktig fordi det
<em>kan
</em> sikre samvirke.
181 Men den effekten kommer kun hvis standardiseringen sikrer at alle
182 forstår standarden på samme måte, dvs. at den er entydig og klar. En
183 god måte å sikre en entydig og klar spesifikasjon er ved å kreve at
184 det finnes minst to ulike implementasjoner som følger spesifikasjonen
185 og som kan snakke sammen, det vil si at de snakker samme språk, slik
186 IETF krever for alle sine standarder, før spesifikasjonen anses å være
187 ferdig. Tilbakemelding fra miljøet forteller at både leverandører og
188 kunder har et avslappet forhold til Noark
5 Tjenestegrensesnitt og det
189 er så langt kun Evry som har visst offentlig at de har en
190 implementasjon av tjenestegrensesnittet. Evry, HK Data og Fredrikstad
191 kommune er igang med et pilotprosjekt på Noark
5
192 Tjenestegrensesnitt. For å redusere kostnadene for samvirkende
193 datasystemer betraktelig, er det veldig viktig at vi kommer i en
194 situasjon der alle leverandører har sine egne implementasjoner av
195 tjenestegrensesnittet, og at disse oppfører seg likt og i tråd med det
196 som er beskrevet i spesifikasjonen.
</p>
198 <p>Det er her fri programvare spiller en viktig rolle. Med en uklar
199 standard blir det som en polsk riksdag, der ingenting fungerer. Nikita
200 er en fri programvareimplementasjon av tjenestegrensesnitt og kan
201 fungere som teknisk referanse slik at leverandører enklere kan se og
202 forstå hvordan standarden skal tolkes. Vi har i Nikitaprosjektet
203 erfart å ende opp med vidt forskjellige tolkninger når
204 prosjektmedlemmene leser spesifikasjonsteksten, en effekt av en uklar
205 spesifikasjon. Men Nikitaprosjektet har også utviklet et test-program
206 som sjekker om et tjenestegrensesnitt er i samsvar med standarden, og
207 prosjektet bruker det hele tiden for å sikre at endringer og
208 forbedringer fungerer. Egenerklæringsskjemaenes dager kan være talte!
209 Snart vil du selv kunne teste hver oppdatering av arkivsystemet med en
212 <p>Fri programvare representerer en demokratisering av kunnskap der
213 tolkning- og innlåsingsmakt flyttes fra leverandør til allmenheten.
214 Med fri programvare har du en litt annerledes verdikjede, der selve
215 produktet ikke holdes hemmelig for å tjene penger, slik en gjør med
216 ufri programvare og skytjenester som ikke bruker fri programvare, men
217 du kan tjene penger på andre deler av verdikjeden. Med fri programvare
218 kan samfunnet betale for å videreutvikle nyttig
219 fellesfunksjonalitet.
</p>
221 <p>Nikita er en fri programvareimplementasjon av tjenestegrensesnittet og
222 kan fungere som en referanseimplementasjon dersom det er ønskelig.
223 Alle har lik tilgang til koden og det koster ingenting å ta den i bruk
224 og utforske det. Nikitaprosjektet ønsker tjenestegrensesnittet
225 velkommen og stiller veldig gjerne opp i diskusjoner om tolkning av
226 tjenestegrensesnittet. Nikita er bygget på moderne
227 programmeringsrammeverk og utviklet i full åpenhet. Men Nikita er ikke
228 noe du kan kjøpe. Nikita er først og fremst et verktøy for forsking og
229 utvikling laget for å fremme forskning på arkivfeltet. Systemer som
230 virker sammen har alltid vært hovedfokus og vil være det fremover.
231 Det brukes som undervisningsverktøy der studentene ved OsloMet lærer
232 om administrativt oppsett, saksbehandling, uttrekk og samvirkende
233 datasystemer. Det brukes også som forskningsobjekt der vi ser på
234 import av dokumentsamlinger, bruk av blokkjede og andre nyskapende
235 måter å tenke arkiv på. Det er dog helt greit om andre tar Nikita og
236 pakker det for å selge det som produkt. Forvaltningsorganer med
237 sterke drift- og utviklingsmiljøer kan også se på Nikita og utforske
238 hva som er mulig. Dette kan de gjøre uten å måtte betale for
239 bruksrettigheter eller tilgang til konsulenter. Men arkivering blir
240 ikke gratis på grunn av Nikita. Det trengs fortsatt folk med
241 kompetanse og tid til å ta i bruk Nikita.
</p>
243 <p>Nikita har nylig kommet med en ny utgave, den sjette i rekken.
244 Systemet er ikke ferdig, mest på grunn av at API-spesifikasjonen for
245 Noark
5 Tjenestegrensesnitt ikke er ferdig, men allerede i dag kan en
246 bruke Nikita som arkiv. Vi har laget eksempelsystem for å importere
247 data fra deponi-XML og slik gjøre eksisterende arkivdata tilgjengelig
248 via et API. Vi har også laget en testklient som importerer epost inn
249 i arkivet med vedlegg der epostenes trådinformasjon brukes til å legge
250 eposttråder i samme arkivmappe, og en annen testklient som henter
251 epost ut av en arkivmappe på mbox-format slik at en vanlig epostklient
252 kan brukes til å lese igjennom og svare på epostene i en
253 arkivmappe. De som vil ta en titt på Nikita kan besøke
254 <a href=
"https://nikita.oslomet.no">https://nikita.oslomet.no
</a> og
255 logge inn med brukernavn «admin@example.com» og passord «password».
256 Dette gir tilgang til det forenklede brukergrensesnittet som brukes
257 til undervisning. De som heller vil ta en titt under panseret kan
259 <a href=
"https://nikita.oslomet.no/browse.html">https://nikita.oslomet.no/browse.html
</a>
260 og der se hvordan API-et fungerer mer i detalj. Innloggingsdetaljer
261 her er det samme som for brukergrensesnittet.
</p>
263 <p>Fremover er fokuset på forbedring av spesifikasjonen Noark
5
264 Tjenestegrensesnitt. De som skrev tjenestegrensesnittet gjorde et
265 interessant og framtidsrettet grep, de skilte sak fra arkiv.
266 Tjenestegrensesnittet består av flere "pakker", der noen er
267 grunnleggende mens andre bygger på de grunnleggende pakkene. Pakkene
268 som er beskrevet så langt heter «arkivstruktur», «sakarkiv»,
269 «administrasjon», «loggogsporing» og «moeter» (dessverre
270 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/pull/120">planlagt
271 fjernet
</a> i første utgave). Etter hvert håper vi å utforske
272 prosses- og metadatabeskrivelser til flere fagområder og bidra til at
273 tjenestegrensesnittet kan legge til flere pakker som «byggarkiv»,
274 «barnevern», «personal», «barnehage», der arkivfaglig metadata- og
275 dokumentasjonsbehov er kartlagt og standardisert.
</p>
277 <p>Nikita utvikles av en liten prosjektgruppe, og vi er alltid
278 interessert å bli flere. Hvis en åpen, fri og standardisert tilnærming
279 til arkivering høres interessant ut, bli med oss på veien videre. Vi
280 er tilstede på IRC-kanalen #nikita hos FreeNode (tilgjengelig via
282 <a href=
"https://webchat.freenode.net?channels=#nikita">https://webchat.freenode.net?channels=#nikita
</a>),
283 og har en e-postliste nikita-noark@nuug.no hos NUUG (tilgjengelig for
284 påmelding og arkiv på
285 <a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark">https://lists.nuug.no/mailman/listinfo/nikita-noark
</a>)
286 der en kan følge med eller være med oss på den spennende veien videre.
287 Spesifikasjonen for Noark
5 Tjenestegrensesnitt vedlikeholdes på
289 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
</a>.
</p>
291 <p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
292 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
294 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
300 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
305 <div class=
"padding"></div>
309 <a href=
"http://people.skolelinux.org/pere/blog/Official_MIME_type__text_vnd_sosi__for_SOSI_map_data.html">Official MIME type "text/vnd.sosi" for SOSI map data
</a>
316 <ahref=
"http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html">I
317 mentioned
</a> my submission to IANA to register an official MIME type
318 for the SOSI vector map format. This morning, just an hour ago, I was
320 <a href=
"https://www.iana.org/assignments/media-types/text/vnd.sosi">the
321 MIME type "text/vnd.sosi"
</a> is registered for this format. In
322 addition to this registration, my
323 <a href=
"https://github.com/file/file/blob/master/magic/Magdir/sosi">file(
1)
324 patch for a pattern matching rule for SOSI files
</a> has been accepted
325 into the official source of that program (pending a new release), and
326 I've been told by the team behind
327 <a href=
"https://www.nationalarchives.gov.uk/PRONOM/">PRONOM
</a> that
328 the SOSI format will be included in the next release of PRONOM, which
329 they plan to release this summer around July.
</p>
331 <p>I am very happy to see all of this fall into place, for use by
332 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">the
333 Noark
5 Tjenestegrensesnitt
</a> implementations.
</p>
335 <p>As usual, if you use Bitcoin and want to show your support of my
336 activities, please send Bitcoin donations to my address
337 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
343 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
348 <div class=
"padding"></div>
352 <a href=
"http://people.skolelinux.org/pere/blog/Nikita_version_0_4_released___free_software_archive_API_server.html">Nikita version
0.4 released - free software archive API server
</a>
358 <p>This morning, a new release of
359 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
360 Noark
5 core project
</a> was
361 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/2019-May/000468.html">announced
362 on the project mailing list
</a>. The Nikita free software solution is
363 an implementation of the Norwegian archive standard Noark
5 used by
364 government offices in Norway. These were the changes in version
0.4
365 since version
0.3, see the email link above for links to a demo site:
</p>
369 <li>Roll out OData handling to all endpoints where applicable
</li>
370 <li>Changed the relation key for "ny-journalpost" to the official one.
</li>
371 <li>Better link generation on outgoing links.
</li>
372 <li>Tidy up code and make code and approaches more consistent throughout
374 <li>Update rels to be in compliance with updated version in the
375 interface standard
</li>
376 <li>Avoid printing links on empty objects as they can't have links
</li>
377 <li>Small bug fixes and improvements
</li>
378 <li>Start moving generation of outgoing links to @Service layer so access
379 control can be used when generating links
</li>
380 <li>Log exception that was being swallowed so it's traceable
</li>
381 <li>Fix name mapping problem
</li>
382 <li>Update templated printing so templated should only be printed if it
383 is set true. Requires more work to roll out across entire
385 <li>Remove Record-
>DocumentObject as per domain model of n5v4
</li>
386 <li>Add ability to delete lists filtered with OData
</li>
387 <li>Return NO_CONTENT (
204) on delete as per interface standard
</li>
388 <li>Introduce support for ConstraintViolationException exception
</li>
389 <li>Make Service classes extend NoarkService
</li>
390 <li>Make code base respect X-Forwarded-Host, X-Forwarded-Proto and
391 X-Forwarded-Port
</li>
392 <li>Update CorrespondencePart* code to be more in line with Single
393 Responsibility Principle
</li>
394 <li>Make package name follow directory structure
</li>
395 <li>Make sure Document number starts at
1, not
0</li>
396 <li>Fix isues discovered by FindBugs
</li>
397 <li>Update from Date to ZonedDateTime
</li>
398 <li>Fix wrong tablename
</li>
399 <li>Introduce Service layer tests
</li>
400 <li>Improvements to CorrespondencePart
</li>
401 <li>Continued work on Class / Classificationsystem
</li>
402 <li>Fix feature where authors were stored as storageLocations
</li>
403 <li>Update HQL builder for OData
</li>
404 <li>Update OData search capability from webpage
</li>
408 <p>If free and open standardized archiving API sound interesting to
409 you, please contact us on IRC
410 (
<a href=
"irc://irc.freenode.net/%23nikita">#nikita on
411 irc.freenode.net
</a>) or email
412 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
413 mailing list
</a>).
</p>
415 <p>As usual, if you use Bitcoin and want to show your support of my
416 activities, please send Bitcoin donations to my address
417 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
423 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
428 <div class=
"padding"></div>
432 <a href=
"http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html">MIME type "text/vnd.sosi" for SOSI map data
</a>
438 <p>As part of my involvement in the work to
439 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard">standardise
440 a REST based API for Noark
5</a>, the Norwegian archiving standard, I
441 spent some time the last few months to try to register a
442 <a href=
"https://www.iana.org/assignments/media-types/">MIME type
</a>
443 and
<a href=
"https://www.nationalarchives.gov.uk/PRONOM/">PRONOM
444 code
</a> for the SOSI file format. The background is that there is a
445 set of formats approved for long term storage and archiving in Norway,
446 and among these formats, SOSI is the only format missing a MIME type
449 <p>What is SOSI, you might ask? To quote Wikipedia: SOSI is short for
450 Samordnet Opplegg for Stedfestet Informasjon (literally "Coordinated
451 Approach for Spatial Information", but more commonly expanded in
452 English to Systematic Organization of Spatial Information). It is a
453 text based file format for geo-spatial vector information used in
454 Norway. Information about the SOSI format can be found in English
455 from
<a href=
"https://en.wikipedia.org/wiki/SOSI">Wikipedia
</a>. The
456 specification is available in Norwegian from
457 <a href=
"https://www.kartverket.no/geodataarbeid/Standarder/SOSI/">the
458 Norwegian mapping authority
</a>. The SOSI standard, which originated
459 in the beginning of nineteen eighties, was the inspiration and formed the
460 basis for the XML based
461 <a href=
"https://en.wikipedia.org/wiki/Geography_Markup_Language">Geography
462 Markup Language
</a>.
</p>
464 <p>I have so far written
465 <a href=
"https://github.com/file/file/pull/67">a pattern matching
466 rule
</a> for the file(
1) unix tool to recognize SOSI files, submitted
467 a request to the PRONOM project to have a PRONOM ID assigned to the
468 format (reference TNA1555078202S60), and today send a request to IANA
469 to register the "text/vnd.sosi" MIME type for this format (referanse
470 <a href=
"https://tools.iana.org/public-view/viewticket/1143144">IANA
471 #
1143144</a>). If all goes well, in a few months, anyone implementing
472 the Noark
5 Tjenestegrensesnitt API spesification should be able to
473 use an official MIME type and PRONOM code for SOSI files. In
474 addition, anyone using SOSI files on Linux should be able to
475 automatically recognise the format and web sites handing out SOSI
476 files can begin providing a more specific MIME type. So far, SOSI
477 files has been handed out from web sites using the
478 "application/octet-stream" MIME type, which is just a nice way of
479 stating "I do not know". Soon, we will know. :)
</p>
481 <p>As usual, if you use Bitcoin and want to show your support of my
482 activities, please send Bitcoin donations to my address
483 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
489 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
494 <div class=
"padding"></div>
498 <a href=
"http://people.skolelinux.org/pere/blog/PlantUML_for_text_based_UML_diagram_modelling___nice_free_software.html">PlantUML for text based UML diagram modelling - nice free software
</a>
504 <p>As part of my involvement with the
505 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
506 Noark
5 core project
</a>, I have been proposing improvements to the
507 API specification created by
<a href=
"https://www.arkivverket.no/">The
508 National Archives of Norway
</a> and helped migrating the text from a
509 version control system unfriendly binary format (docx) to Markdown in
510 git. Combined with the migration to a public git repository (on
511 github), this has made it possible for anyone to suggest improvement
514 <p>The specification is filled with UML diagrams. I believe the
515 original diagrams were modelled using Sparx Systems Enterprise
516 Architect, and exported as EMF files for import into docx. This
517 approach make it very hard to track changes using a version control
518 system. To improve the situation I have been looking for a good text
519 based UML format with associated command line free software tools on
520 Linux and Windows, to allow anyone to send in corrections to the UML
521 diagrams in the specification. The tool must be text based to work
522 with git, and command line to be able to run it automatically to
523 generate the diagram images. Finally, it must be free software to
524 allow anyone, even those that can not accept a non-free software
525 license, to contribute.
</p>
527 <p>I did not know much about free software UML modelling tools when I
528 started. I have used dia and inkscape for simple modelling in the
529 past, but neither are available on Windows, as far as I could tell. I
531 <a href=
"https://modeling-languages.com/text-uml-tools-complete-list/">list
532 of text mode uml tools
</a>, and tested out a few of the tools listed
533 there.
<a href=
"http://plantuml.com/">The PlantUML tool
</a> seemed
534 most promising. After verifying that the packages
535 <a href=
"https://tracker.debian.org/pkg/plantuml">is available in
536 Debian
</a> and found
<a href=
"https://github.com/plantuml/plantuml">its
537 Java source
</a> under a GPL license on github, I set out to test if it
538 could represent the diagrams we needed, ie the ones currently in
539 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">the
540 Noark
5 Tjenestegrensesnitt specification
</a>. I am happy to report
541 that it could represent them, even thought it have a few warts here
544 <p>After a few days of modelling I completed the task this weekend. A
545 temporary link to the complete set of diagrams (original and from
546 PlantUML) is available in
547 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/76">the
548 github issue discussing the need for a text based UML format
</a>, but
549 please note I lack a sensible tool to convert EMF files to PNGs, so
550 the "original" rendering is not as good as the original was in the
553 <p>Here is an example UML diagram, showing the core classes for
554 keeping metadata about archived documents:
</p>
558 skinparam classAttributeIconSize
0
560 !include media/uml-class-arkivskaper.iuml
561 !include media/uml-class-arkiv.iuml
562 !include media/uml-class-klassifikasjonssystem.iuml
563 !include media/uml-class-klasse.iuml
564 !include media/uml-class-arkivdel.iuml
565 !include media/uml-class-mappe.iuml
566 !include media/uml-class-merknad.iuml
567 !include media/uml-class-registrering.iuml
568 !include media/uml-class-basisregistrering.iuml
569 !include media/uml-class-dokumentbeskrivelse.iuml
570 !include media/uml-class-dokumentobjekt.iuml
571 !include media/uml-class-konvertering.iuml
572 !include media/uml-datatype-elektronisksignatur.iuml
574 Arkivstruktur.Arkivskaper "+arkivskaper
1..*"
<-o "+arkiv 0..*" Arkivstruktur.Arkiv
575 Arkivstruktur.Arkiv o-->
"+underarkiv 0..*" Arkivstruktur.Arkiv
576 Arkivstruktur.Arkiv
"+arkiv 1" o-->
"+arkivdel 0..*" Arkivstruktur.Arkivdel
577 Arkivstruktur.Klassifikasjonssystem
"+klassifikasjonssystem [0..1]" <--o
"+arkivdel 1..*" Arkivstruktur.Arkivdel
578 Arkivstruktur.Klassifikasjonssystem
"+klassifikasjonssystem [0..1]" o-->
"+klasse 0..*" Arkivstruktur.Klasse
579 Arkivstruktur.Arkivdel
"+arkivdel 0..1" o-->
"+mappe 0..*" Arkivstruktur.Mappe
580 Arkivstruktur.Arkivdel
"+arkivdel 0..1" o-->
"+registrering 0..*" Arkivstruktur.Registrering
581 Arkivstruktur.Klasse
"+klasse 0..1" o-->
"+mappe 0..*" Arkivstruktur.Mappe
582 Arkivstruktur.Klasse
"+klasse 0..1" o-->
"+registrering 0..*" Arkivstruktur.Registrering
583 Arkivstruktur.Mappe -->
"+undermappe 0..*" Arkivstruktur.Mappe
584 Arkivstruktur.Mappe
"+mappe 0..1" o-->
"+registrering 0..*" Arkivstruktur.Registrering
585 Arkivstruktur.Merknad
"+merknad 0..*" <--* Arkivstruktur.Mappe
586 Arkivstruktur.Merknad
"+merknad 0..*" <--* Arkivstruktur.Dokumentbeskrivelse
587 Arkivstruktur.Basisregistrering -|
> Arkivstruktur.Registrering
588 Arkivstruktur.Merknad "+merknad
0..*" <--* Arkivstruktur.Basisregistrering
589 Arkivstruktur.Registrering "+registrering
1..*" o--> "+dokumentbeskrivelse
0..*" Arkivstruktur.Dokumentbeskrivelse
590 Arkivstruktur.Dokumentbeskrivelse "+dokumentbeskrivelse
1" o-
> "+dokumentobjekt 0..*" Arkivstruktur.Dokumentobjekt
591 Arkivstruktur.Dokumentobjekt *-
> "+konvertering 0..*" Arkivstruktur.Konvertering
592 Arkivstruktur.ElektroniskSignatur -[hidden]-
> Arkivstruktur.Dokumentobjekt
596 <p><a href=
"http://plantuml.com/class-diagram">The format
</a> is quite
597 compact, with little redundant information. The text expresses
598 entities and relations, and there is little layout related fluff. One
599 can reuse content by using include files, allowing for consistent
600 naming across several diagrams. The include files can be standalone
601 PlantUML too. Here is the content of
602 <tt>media/uml-class-arkivskaper.iuml
<tt>:
</p>
606 class Arkivstruktur.Arkivskaper
<Arkivenhet> {
607 +arkivskaperID : string
608 +arkivskaperNavn : string
609 +beskrivelse : string [
0.
.1]
614 <p>This is what the complete diagram for the PlantUML notation above
617 <p><img width=
"80%" src=
"http://people.skolelinux.org/pere/blog/images/2019-03-25-noark5-plantuml-diagrameksempel.png"></p>
619 <p>A cool feature of PlantUML is that the generated PNG files include
620 the entire original source diagram as text. The source (with include
621 statements expanded) can be extracted using for example
622 <tt>exiftool
</tt>. Another cool feature is that parts of the entities
623 can be hidden after inclusion. This allow to use include files with
624 all attributes listed, even for UML diagrams that should not list any
627 <p>The diagram also show some of the warts. Some times the layout
628 engine place text labels on top of each other, and some times it place
629 the class boxes too close to each other, not leaving room for the
630 labels on the relationship arrows. The former can be worked around by
631 placing extra newlines in the labes (ie "\n"). I did not do it here
632 to be able to demonstrate the issue. I have not found a good way
633 around the latter, so I normally try to reduce the problem by changing
634 from vertical to horizontal links to improve the layout.
</p>
636 <p>All in all, I am quite happy with PlantUML, and very impressed with
637 how quickly its lead developer responds to questions. So far I got an
638 answer to my questions in a few hours when I send an email. I
639 definitely recommend looking at PlantUML if you need to make UML
640 diagrams. Note, PlantUML can draw a lot more than class relations.
641 Check out the documention for a complete list. :)
</p>
643 <p>As usual, if you use Bitcoin and want to show your support of my
644 activities, please send Bitcoin donations to my address
645 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
651 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
656 <div class=
"padding"></div>
660 <a href=
"http://people.skolelinux.org/pere/blog/Release_0_3_of_free_software_archive_API_system_Nikita_announced.html">Release
0.3 of free software archive API system Nikita announced
</a>
666 <p>Yesterday, a new release of
667 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
668 Noark
5 core project
</a> was
669 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/2019-March/000451.html">announced
670 on the project mailing list
</a>. The free software solution is an
671 implementation of the Norwegian archive standard Noark
5 used by
672 government offices in Norway. These were the changes in version
0.3
673 since version
0.2.1 (from NEWS.md):
</p>
676 <li>Improved ClassificationSystem and Class behaviour.
</li>
677 <li>Tidied up known inconsistencies between domain model and hateaos links.
</li>
678 <li>Added experimental code for blockchain integration.
</li>
679 <li>Make token expiry time configurable at upstart from properties file.
</li>
680 <li>Continued work on OData search syntax.
</li>
681 <li>Started work on pagination for entities, partly implemented for Saksmappe.
</li>
682 <li>Finalise ClassifiedCode Metadata entity.
</li>
683 <li>Implement mechanism to check if authentication token is still
684 valid. This allow the GUI to return a more sensible message to the
685 user if the token is expired.
</li>
686 <li>Reintroduce browse.html page to allow user to browse JSON API using
688 <li>Fix bug in handling file/mappe sequence number. Year change was
689 not properly handled.
</li>
690 <li>Update application yml files to be in sync with current development.
</li>
691 <li>Stop 'converting' everything to PDF using libreoffice. Only
692 convert the file formats doc, ppt, xls, docx, pptx, xlsx, odt, odp
694 <li>Continued code style fixing, making code more readable.
</li>
695 <li>Minor bug fixes.
</li>
699 <p>If free and open standardized archiving API sound interesting to
700 you, please contact us on IRC
701 (
<a href=
"irc://irc.freenode.net/%23nikita">#nikita on
702 irc.freenode.net
</a>) or email
703 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
704 mailing list
</a>).
</p>
706 <p>As usual, if you use Bitcoin and want to show your support of my
707 activities, please send Bitcoin donations to my address
708 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
714 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
719 <div class=
"padding"></div>
723 <a href=
"http://people.skolelinux.org/pere/blog/_pen_og_gjennomsiktig_vedlikehold_av_spesifikasjonen_for_Noark_5_Tjenestegrensesnitt.html">Åpen og gjennomsiktig vedlikehold av spesifikasjonen for Noark
5 Tjenestegrensesnitt
</a>
729 <p>Et virksomhetsarkiv for meg, er et arbeidsverktøy der en enkelt kan
730 finne informasjonen en trenger når en trenger det, og der
731 virksomhetens samlede kunnskap er tilgjengelig. Det må være greit å
732 finne frem i, litt som en bibliotek. Men der et bibliotek gjerne tar
733 vare på offentliggjort informasjon som er tilgjengelig flere steder,
734 tar et arkiv vare på virksomhetsintern og til tider personlig
735 informasjon som ofte kun er tilgjengelig fra et sted.
</p>
737 <p>Jeg mistenker den eneste måten å sikre at arkivet inneholder den
738 samlede kunnskapen i en virksomhet, er å bruke det som virksomhetens
739 kunnskapslager. Det innebærer å automatisk kopiere (brev, epost,
740 SMS-er etc) inn i arkivet når de sendes og mottas, og der filtrere
741 vekk det en ikke vil ta vare på, og legge på metadata om det som er
742 samlet inn for enkel gjenfinning. En slik bruk av arkivet innebærer at
743 arkivet er en del av daglig virke, ikke at det er siste hvilested for
744 informasjon ingen lenger har daglig bruk for. For å kunne være en del
745 av det daglige virket må arkivet enkelt kunne integreres med andre
746 systemer. I disse dager betyr det å tilby arkivet som en
747 nett-tjeneste til hele virksomheten, tilgjengelig for både mennesker
748 og datamaskiner. Det betyr i tur å både tilby nettsider og et
749 maskinlesbart grensesnitt.
</p>
751 <p>For noen år siden erkjente visjonære arkivarer fordelene med et
752 standardisert maskinlesbart grensesnitt til organisasjonens arkiv. De
753 gikk igang med å lage noe de kalte
754 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">Noark
755 5 Tjenestegrensesnitt
</a>. Gjort riktig, så åpner slike maskinlesbare
756 grensesnitt for samvirke på tvers av uavhengige programvaresystemer.
757 Gjort feil, vil det blokkere for samvirke og bidra til
758 leverandørinnlåsing. For å gjøre det riktig så må grensesnittet være
759 klart og entydig beskrevet i en spesifikasjon som gjør at
760 spesifikasjonen tolkes på samme måte uavhengig av hvem som leser den,
761 og uavhengig av hvem som tar den i bruk.
</p>
763 <p>For å oppnå klare og entydige beskrivelser i en spesifikasjon, som
764 trengs for å kunne få en fri og åpen standard (se
765 <a href=
"http://people.skolelinux.org/pere/blog/Fri_og__pen_standard__slik_Digistan_ser_det.html">Digistan-definisjon
</a>),
766 så trengs det en åpen og gjennomsiktig inngangsport med lav terskel,
767 der de som forsøker å ta den i bruk enkelt kan få inn korreksjoner,
768 etterlyse klargjøringer og rapportere uklarheter i spesifikasjonen.
769 En trenger også automatiserte datasystemer som måler og sjekker at et
770 gitt grensesnitt fungerer i tråd med spesifikasjonen.
</p>
772 <p>For Noark
5 Tjenestegrensesnittet er det nå etablert en slik åpen
773 og gjennomsiktig inngangsport på prosjekttjenesten github. Denne
774 inngangsporten består først og fremst av en åpen portal som lar enhver
775 se hva som er gjort av endringer i spesifikasjonsteksten over tid, men
776 det hører også med et åpent
"diskusjonsforum
" der en kan
777 komme med endringsforslag og forespørsler om klargjøringer. Alle
778 registrerte brukere på github kan bidra med innspill til disse
781 <p>I samarbeide med Arkivverket har jeg fått opprettet et git-depot
782 med spesifikasjonsteksten for tjenestegrensesnittet, der det er lagt
783 inn historikk for endringer i teksten de siste årene, samt lagt inn
784 endringsforslag og forespørsler om klargjøring av teksten. Bakgrunnen
785 for at jeg bidro med dette er at jeg er involvert i
786 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core">Nikita-prosjektet
</a>,
787 som lager en fri programvare-utgave av Noark
5 Tjenestegrensesnitt.
788 Det er først når en forsøker å lage noe i tråd med en spesifikasjon at
789 en oppdager hvor mange detaljer som må beskrives i spesifikasjonen for
790 å sikre samhandling.
</p>
792 <p>Spesifikasjonen vedlikeholdes i et rent tekstformat, for å ha et
793 format egnet for versjonskontroll via versjontrollsystemet git. Dette
794 gjør det både enkelt å se konkret hvilke endringer som er gjort når,
795 samt gjør det praktisk mulig for enhver med github-konto å sende inn
796 endringsforslag med formuleringer til spesifikasjonsteksten. Dette
797 tekstformatet vises frem som nettsider på github, slik at en ikke
798 trenger spesielle verktøy for å se på siste utgave av
801 <p>Fra dette rene tekstformatet kan det så avledes ulike formater, som
802 HTML for websider, PDF for utskrift på papir og ePub for lesing med
803 ebokleser. Avlednings-systemet (byggesystemet) bruker i dag
804 verktøyene pandoc, latex, docbook-xsl og GNU make til
805 transformasjonen. Tekstformatet som brukes dag er
806 <a href=
"https://www.markdownguide.org/">Markdown
</a>, men det vurderes
808 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/9">endre
809 til formatet RST
</a> i fremtiden for bedre styring av utseende på
812 <p>Versjonskontrollsystemet git ble valgt da det er både fleksibelt,
813 avansert og enkelt å ta i bruk. Github ble valgt (foran f.eks. Gitlab
814 som vi bruker i Nikita), da Arkivverket allerede hadde tatt i bruk
815 Github i andre sammenhenger.
</p>
817 <p>Enkle endringer i teksten kan gjøres av priviligerte brukere
818 direkte i nettsidene til Github, ved å finne aktuell fil som skal
819 endres (f.eks. kapitler/
03-konformitet.md), klikke på den lille
820 bokstaven i høyre hjørne over teksten. Det kommer opp en nettside der
821 en kan endre teksten slik en ønsker. Når en er fornøyd med endringen
822 så må endringen
"sjekkes inn
" i historikken. Det gjøres ved
823 å gi en kort beskrivelse av endringen (beskriv helst hvorfor endringen
824 trengs, ikke hva som er endret), under overskriften
"Commit
825 changes
". En kan og bør legge inn en lengre forklaring i det
826 større skrivefeltet, før en velger om endringen skal sendes direkte
827 til 'master'-grenen (dvs. autorativ utgave av spesifikasjonen) eller
828 om en skal lage en ny gren for denne endringen og opprette en
829 endringsforespørsel (aka
"Pull Request
"/PR). Når alt dette
830 er gjort kan en velge
"Commit changes
" for å sende inn
831 endringen. Hvis den er lagt inn i
"master
"-grenen så er den
832 en offisiell del av spesifikasjonen med en gang. Hvis den derimot er
833 en endringsforespørsel, så legges den inn i
834 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/pulls">listen
835 over forslag til endringer
</a> som venter på korrekturlesing og
838 <p>Større endringer (for eksempel samtidig endringer i flere filer)
839 gjøres enklest ved å hente ned en kopi av git-depoet lokalt og gjøre
840 endringene der før endringsforslaget sendes inn. Denne prosessen er
841 godt beskrivet i dokumentasjon fra github. Git-prosjektet som skal
842 "klones
" er
843 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
</a>.
</p>
845 <p>For å registrere nye utfordringer (issues) eller kommentere på
846 eksisterende utfordringer benyttes nettsiden
847 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues
</a>.
848 I skrivende stund er det
48 åpne og
11 avsluttede utfordringer. Et
849 forslag til hva som bør være med når en beskriver en utfordring er
850 tilgjengelig som utfordring
851 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/14">#
14</a>.
</p>
853 <p>For å bygge en PDF-utgave av spesifikasjonen så bruker jeg i dag en
854 Debian GNU/Linux-maskin med en rekke programpakker installert. Når
855 dette er på plass, så holder det å kjøre kommandoen 'make pdf html' på
856 kommandolinjen, vente ca.
20 sekunder, før spesifikasjon.pdf og
857 spesifikasjon.html ligger klar på disken. Verktøyene for bygging av
858 PDF, HTML og ePub-utgave er også tilgjengelig på Windows og
861 <p>Github bidrar med rammeverket. Men for at åpent vedlikehold av
862 spesifikasjonen skal fungere, så trengs det folk som bidrar med sin
863 tid og kunnskap. Arkivverket har sagt de skal bidra med innspill og
864 godkjenne forslag til endringer, men det blir størst suksess hvis alle
865 som bruker og lager systemer basert på Noark
5 Tjenestegrensesnitt
866 bidrar med sin kunnskap og kommer med forslag til forebedringer. Jeg
867 stiller. Blir du med?
</p>
869 <p>Det er viktig å legge til rette for åpen diskusjon blant alle
870 interesserte, som ikke krever at en må godta lange kontrakter med
871 vilkår for deltagelse. Inntil Arkivverket dukker opp på IRC har vi
872 laget en IRC-kanal der interesserte enkelt kan orientere seg og
873 diskutere tjenestegrensesnittet. Alle er velkommen til å ta turen
875 <a href=
"https://webchat.freenode.net/?channels=nikita">#nikita
</a>
876 (f.eks. via irc.freenode.net) for å møte likesinnede.
</p>
878 <p>Det holder dog ikke å ha en god spesifikasjon, hvis ikke de som tar
879 den i bruk gjør en like god jobb. For å automatisk teste om et konkret
880 tjenestegrensesnitt følger (min) forståelse av
881 spesifikasjonsdokumentet, har jeg skrevet et program som kobler seg
882 opp til et Noark
5v4 REST-tjeneste og tester alt den finner for å se
883 om det er i henhold til min tolkning av spesifikasjonen. Dette
884 verktøyet er tilgjengelig fra
885 <a href=
"https://github.com/petterreinholdtsen/noark5-tester">https://github.com/petterreinholdtsen/noark5-tester
</a>,
886 og brukes daglig mens vi utvikler Nikita for å sikre at vi ikke
887 introduserer nye feil. Hvis en skal sikre samvirke på tvers av ulike
888 systemer er det helt essensielt å kunne raskt og automatisk sjekke at
889 tjenestegrensesnittet oppfører seg som forventet. Jeg håper andre som
890 lager sin utgave av tjenestegrensesnittet vi bruke dette verktøyet,
891 slik at vi tidlig og raskt kan oppdage hvor vi har tolket
892 spesifikasjonen ulikt, og dermed få et godt grunnlag for å gjøre
893 spesifikasjonsteksten enda klarere og bedre.
</p>
895 <p>Dagens beskrivelse av Noark
5 Tjenestegrensesnitt er et svært godt
896 utgangspunkt for å gjøre virksomhetens arkiv til et dynamisk og
897 sentralt arbeidsverktøy i organisasjonen. Blir du med å gjøre den
904 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
909 <div class=
"padding"></div>
913 <a href=
"http://people.skolelinux.org/pere/blog/Time_for_an_official_MIME_type_for_patches_.html">Time for an official MIME type for patches?
</a>
919 <p>As part of my involvement in
920 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core">the Nikita
921 archive API project
</a>, I've been importing a fairly large lump of
922 emails into a test instance of the archive to see how well this would
923 go. I picked a subset of
<a href=
"https://notmuchmail.org/">my
924 notmuch email database
</a>, all public emails sent to me via
925 @lists.debian.org, giving me a set of around
216 000 emails to import.
926 In the process, I had a look at the various attachments included in
927 these emails, to figure out what to do with attachments, and noticed
928 that one of the most common attachment formats do not have
929 <a href=
"https://www.iana.org/assignments/media-types/media-types.xhtml">an
930 official MIME type
</a> registered with IANA/IETF. The output from
931 diff, ie the input for patch, is on the top
10 list of formats
932 included in these emails. At the moment people seem to use either
933 text/x-patch or text/x-diff, but neither is officially registered. It
934 would be better if one official MIME type were registered and used
937 <p>To try to get one official MIME type for these files, I've brought
939 <a href=
"https://www.ietf.org/mailman/listinfo/media-types">the
940 media-types mailing list
</a>. If you are interested in discussion
941 which MIME type to use as the official for patch files, or involved in
942 making software using a MIME type for patches, perhaps you would like
943 to join the discussion?
</p>
945 <p>As usual, if you use Bitcoin and want to show your support of my
946 activities, please send Bitcoin donations to my address
947 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
953 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
958 <div class=
"padding"></div>
962 <a href=
"http://people.skolelinux.org/pere/blog/Release_0_2_of_free_software_archive_system_Nikita_announced.html">Release
0.2 of free software archive system Nikita announced
</a>
968 <p>This morning, the new release of the
969 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
970 Noark
5 core project
</a> was
971 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/2018-October/000406.html">announced
972 on the project mailing list
</a>. The free software solution is an
973 implementation of the Norwegian archive standard Noark
5 used by
974 government offices in Norway. These were the changes in version
0.2
975 since version
0.1.1 (from NEWS.md):
978 <li>Fix typos in REL names
</li>
979 <li>Tidy up error message reporting
</li>
980 <li>Fix issue where we used Integer.valueOf(), not Integer.getInteger()
</li>
981 <li>Change some String handling to StringBuffer
</li>
982 <li>Fix error reporting
</li>
983 <li>Code tidy-up
</li>
984 <li>Fix issue using static non-synchronized SimpleDateFormat to avoid
986 <li>Fix problem where deserialisers were treating integers as strings
</li>
987 <li>Update methods to make them null-safe
</li>
988 <li>Fix many issues reported by coverity
</li>
989 <li>Improve equals(), compareTo() and hash() in domain model
</li>
990 <li>Improvements to the domain model for metadata classes
</li>
991 <li>Fix CORS issues when downloading document
</li>
992 <li>Implementation of case-handling with registryEntry and document upload
</li>
993 <li>Better support in Javascript for OPTIONS
</li>
994 <li>Adding concept description of mail integration
</li>
995 <li>Improve setting of default values for GET on ny-journalpost
</li>
996 <li>Better handling of required values during deserialisation
</li>
997 <li>Changed tilknyttetDato (M620) from date to dateTime
</li>
998 <li>Corrected some opprettetDato (M600) (de)serialisation errors.
</li>
999 <li>Improve parse error reporting.
</li>
1000 <li>Started on OData search and filtering.
</li>
1001 <li>Added Contributor Covenant Code of Conduct to project.
</li>
1002 <li>Moved repository and project from Github to Gitlab.
</li>
1003 <li>Restructured repository, moved code into src/ and web/.
</li>
1004 <li>Updated code to use Spring Boot version
2.
</li>
1005 <li>Added support for OAuth2 authentication.
</li>
1006 <li>Fixed several bugs discovered by Coverity.
</li>
1007 <li>Corrected handling of date/datetime fields.
</li>
1008 <li>Improved error reporting when rejecting during deserializatoin.
</li>
1009 <li>Adjusted default values provided for ny-arkivdel, ny-mappe,
1010 ny-saksmappe, ny-journalpost and ny-dokumentbeskrivelse.
</li>
1011 <li>Several fixes for korrespondansepart*.
</li>
1012 <li>Updated web GUI:
1014 <li>Now handle both file upload and download.
</li>
1015 <li>Uses new OAuth2 authentication for login.
</li>
1016 <li>Forms now fetches default values from API using GET.
</li>
1017 <li>Added RFC
822 (email), TIFF and JPEG to list of possible file formats.
</li>
1021 <p>The changes and improvements are extensive. Running diffstat on
1022 the changes between git tab
0.1.1 and
0.2 show
1098 files changed,
1023 108666 insertions(+),
54066 deletions(-).
</p>
1025 <p>If free and open standardized archiving API sound interesting to
1026 you, please contact us on IRC
1027 (
<a href=
"irc://irc.freenode.net/%23nikita">#nikita on
1028 irc.freenode.net
</a>) or email
1029 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
1030 mailing list
</a>).
</p>
1032 <p>As usual, if you use Bitcoin and want to show your support of my
1033 activities, please send Bitcoin donations to my address
1034 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
1040 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
1045 <div class=
"padding"></div>
1049 <a href=
"http://people.skolelinux.org/pere/blog/Fetching_trusted_timestamps_using_the_rfc3161ng_python_module.html">Fetching trusted timestamps using the rfc3161ng python module
</a>
1055 <p>I have earlier covered the basics of trusted timestamping using the
1056 'openssl ts' client. See blog post for
1057 <a href=
"http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html">2014</a>,
1058 <a href=
"http://people.skolelinux.org/pere/blog/syslog_trusted_timestamp___chain_of_trusted_timestamps_for_your_syslog.html">2016</a>
1060 <a href=
"http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html">2017</a>
1061 for those stories. But some times I want to integrate the timestamping
1062 in other code, and recently I needed to integrate it into Python.
1063 After searching a bit, I found
1064 <a href=
"https://dev.entrouvert.org/projects/python-rfc3161">the
1065 rfc3161 library
</a> which seemed like a good fit, but I soon
1066 discovered it only worked for python version
2, and I needed something
1067 that work with python version
3. Luckily I next came across
1068 <a href=
"https://github.com/trbs/rfc3161ng/">the rfc3161ng library
</a>,
1069 a fork of the original rfc3161 library. Not only is it working with
1070 python
3, it have fixed a few of the bugs in the original library, and
1071 it has an active maintainer. I decided to wrap it up and make it
1072 <a href=
"https://tracker.debian.org/pkg/python-rfc3161ng">available in
1073 Debian
</a>, and a few days ago it entered Debian unstable and testing.
</p>
1075 <p>Using the library is fairly straight forward. The only slightly
1076 problematic step is to fetch the required certificates to verify the
1077 timestamp. For some services it is straight forward, while for others
1078 I have not yet figured out how to do it. Here is a small standalone
1079 code example based on of the integration tests in the library code:
</p>
1086 Python
3 script demonstrating how to use the rfc3161ng module to
1087 get trusted timestamps.
1089 The license of this code is the same as the license of the rfc3161ng
1090 library, ie MIT/BSD.
1095 import pyasn1.codec.der
1099 import urllib.request
1106 def fetch(url, f=None):
1107 response = urllib.request.urlopen(url)
1108 data = response.read()
1114 with tempfile.NamedTemporaryFile() as cert_f,\
1115 tempfile.NamedTemporaryFile() as ca_f,\
1116 tempfile.NamedTemporaryFile() as msg_f,\
1117 tempfile.NamedTemporaryFile() as tsr_f:
1119 # First fetch certificates used by service
1120 certificate_data = fetch('https://freetsa.org/files/tsa.crt', cert_f)
1121 ca_data_data = fetch('https://freetsa.org/files/cacert.pem', ca_f)
1123 # Then timestamp the message
1125 rfc3161ng.RemoteTimestamper('http://freetsa.org/tsr',
1126 certificate=certificate_data)
1127 data = b"Python forever!\n"
1128 tsr = timestamper(data=data, return_tsr=True)
1130 # Finally, convert message and response to something 'openssl ts' can verify
1132 store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
1133 args = ["openssl", "ts", "-verify",
1134 "-data", msg_f.name,
1136 "-CAfile", ca_f.name,
1137 "-untrusted", cert_f.name]
1138 subprocess.check_call(args)
1140 if '__main__' == __name__:
1144 <p>The code fetches the required certificates, store them as temporary
1145 files, timestamp a simple message, store the message and timestamp to
1146 disk and ask 'openssl ts' to verify the timestamp. A timestamp is
1147 around
1.5 kiB in size, and should be fairly easy to store for future
1150 <p>As usual, if you use Bitcoin and want to show your support of my
1151 activities, please send Bitcoin donations to my address
1152 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
1158 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet
</a>.
1163 <div class=
"padding"></div>
1167 <a href=
"http://people.skolelinux.org/pere/blog/Release_0_1_1_of_free_software_archive_system_Nikita_announced.html">Release
0.1.1 of free software archive system Nikita announced
</a>
1173 <p>I am very happy to report that the
1174 <a href=
"https://github.com/hiOA-ABI/nikita-noark5-core">Nikita Noark
5
1175 core project
</a> tagged its second release today. The free software
1176 solution is an implementation of the Norwegian archive standard Noark
1177 5 used by government offices in Norway. These were the changes in
1178 version
0.1.1 since version
0.1.0 (from NEWS.md):
1182 <li>Continued work on the angularjs GUI, including document upload.
</li>
1183 <li>Implemented correspondencepartPerson, correspondencepartUnit and
1184 correspondencepartInternal
</li>
1185 <li>Applied for coverity coverage and started submitting code on
1187 <li>Started fixing bugs reported by coverity
</li>
1188 <li>Corrected and completed HATEOAS links to make sure entire API is
1189 available via URLs in _links.
</li>
1190 <li>Corrected all relation URLs to use trailing slash.
</li>
1191 <li>Add initial support for storing data in ElasticSearch.
</li>
1192 <li>Now able to receive and store uploaded files in the archive.
</li>
1193 <li>Changed JSON output for object lists to have relations in _links.
</li>
1194 <li>Improve JSON output for empty object lists.
</li>
1195 <li>Now uses correct MIME type application/vnd.noark5-v4+json.
</li>
1196 <li>Added support for docker container images.
</li>
1197 <li>Added simple API browser implemented in JavaScript/Angular.
</li>
1198 <li>Started on archive client implemented in JavaScript/Angular.
</li>
1199 <li>Started on prototype to show the public mail journal.
</li>
1200 <li>Improved performance by disabling Sprint FileWatcher.
</li>
1201 <li>Added support for 'arkivskaper', 'saksmappe' and 'journalpost'.
</li>
1202 <li>Added support for some metadata codelists.
</li>
1203 <li>Added support for Cross-origin resource sharing (CORS).
</li>
1204 <li>Changed login method from Basic Auth to JSON Web Token (RFC
7519)
1206 <li>Added support for GET-ing ny-* URLs.
</li>
1207 <li>Added support for modifying entities using PUT and eTag.
</li>
1208 <li>Added support for returning XML output on request.
</li>
1209 <li>Removed support for English field and class names, limiting ourself
1210 to the official names.
</li>
1215 <p>If this sound interesting to you, please contact us on IRC (#nikita
1216 on irc.freenode.net) or email
1217 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
1224 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
1229 <div class=
"padding"></div>
1233 <a href=
"http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html">Idea for storing trusted timestamps in a Noark
5 archive
</a>
1239 <p><em>This is a copy of
1240 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/2017-June/000297.html">an
1241 email I posted to the nikita-noark mailing list
</a>. Please follow up
1242 there if you would like to discuss this topic. The background is that
1243 we are making a free software archive system based on the Norwegian
1244 <a href=
"https://www.arkivverket.no/forvaltning-og-utvikling/regelverk-og-standarder/noark-standarden">Noark
1245 5 standard
</a> for government archives.
</em></p>
1247 <p>I've been wondering a bit lately how trusted timestamps could be
1249 <a href=
"https://en.wikipedia.org/wiki/Trusted_timestamping">Trusted
1250 timestamps
</a> can be used to verify that some information
1251 (document/file/checksum/metadata) have not been changed since a
1252 specific time in the past. This is useful to verify the integrity of
1253 the documents in the archive.
</p>
1255 <p>Then it occured to me, perhaps the trusted timestamps could be
1256 stored as dokument variants (ie dokumentobjekt referered to from
1257 dokumentbeskrivelse) with the filename set to the hash it is
1260 <p>Given a "dokumentbeskrivelse" with an associated "dokumentobjekt",
1261 a new dokumentobjekt is associated with "dokumentbeskrivelse" with the
1262 same attributes as the stamped dokumentobjekt except these
1267 <li>format -
> "RFC3161"
1268 <li>mimeType -
> "application/timestamp-reply"
1269 <li>formatDetaljer -
> "<source URL for timestamp service>"
1270 <li>filenavn -
> "<sjekksum>.tsr"
1274 <p>This assume a service following
1275 <a href=
"https://tools.ietf.org/html/rfc3161">IETF RFC
3161</a> is
1276 used, which specifiy the given MIME type for replies and the .tsr file
1277 ending for the content of such trusted timestamp. As far as I can
1278 tell from the Noark
5 specifications, it is OK to have several
1279 variants/renderings of a dokument attached to a given
1280 dokumentbeskrivelse objekt. It might be stretching it a bit to make
1281 some of these variants represent crypto-signatures useful for
1282 verifying the document integrity instead of representing the dokument
1285 <p>Using the source of the service in formatDetaljer allow several
1286 timestamping services to be used. This is useful to spread the risk
1287 of key compromise over several organisations. It would only be a
1288 problem to trust the timestamps if all of the organisations are
1291 <p>The following oneliner on Linux can be used to generate the tsr
1292 file. $input is the path to the file to checksum, and $sha256 is the
1293 SHA-
256 checksum of the file (ie the "
<sjekksum>.tsr" value mentioned
1296 <p><blockquote><pre>
1297 openssl ts -query -data "$inputfile" -cert -sha256 -no_nonce \
1298 | curl -s -H "Content-Type: application/timestamp-query" \
1299 --data-binary "@-" http://zeitstempel.dfn.de
> $sha256.tsr
1300 </pre></blockquote></p>
1302 <p>To verify the timestamp, you first need to download the public key
1303 of the trusted timestamp service, for example using this command:
</p>
1305 <p><blockquote><pre>
1306 wget -O ca-cert.txt \
1307 https://pki.pca.dfn.de/global-services-ca/pub/cacert/chain.txt
1308 </pre></blockquote></p>
1310 <p>Note, the public key should be stored alongside the timestamps in
1311 the archive to make sure it is also available
100 years from now. It
1312 is probably a good idea to standardise how and were to store such
1313 public keys, to make it easier to find for those trying to verify
1314 documents
100 or
1000 years from now. :)
</p>
1316 <p>The verification itself is a simple openssl command:
</p>
1318 <p><blockquote><pre>
1319 openssl ts -verify -data $inputfile -in $sha256.tsr \
1320 -CAfile ca-cert.txt -text
1321 </pre></blockquote></p>
1323 <p>Is there any reason this approach would not work? Is it somehow against
1324 the Noark
5 specification?
</p>
1330 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
1335 <div class=
"padding"></div>
1339 <a href=
"http://people.skolelinux.org/pere/blog/Epost_inn_som_arkivformat_i_Riksarkivarens_forskrift_.html">Epost inn som arkivformat i Riksarkivarens forskrift?
</a>
1345 <p>I disse dager, med frist
1. mai, har Riksarkivaren ute en høring på
1346 sin forskrift. Som en kan se er det ikke mye tid igjen før fristen
1347 som går ut på søndag. Denne forskriften er det som lister opp hvilke
1348 formater det er greit å arkivere i
1349 <a href=
"http://www.arkivverket.no/arkivverket/Offentleg-forvalting/Noark/Noark-5">Noark
1350 5-løsninger
</a> i Norge.
</p>
1352 <p>Jeg fant høringsdokumentene hos
1353 <a href=
"https://www.arkivrad.no/aktuelt/riksarkivarens-forskrift-pa-horing">Norsk
1354 Arkivråd
</a> etter å ha blitt tipset på epostlisten til
1355 <a href=
"https://github.com/hiOA-ABI/nikita-noark5-core">fri
1356 programvareprosjektet Nikita Noark5-Core
</a>, som lager et Noark
5
1357 Tjenestegresesnitt. Jeg er involvert i Nikita-prosjektet og takket
1358 være min interesse for tjenestegrensesnittsprosjektet har jeg lest en
1359 god del Noark
5-relaterte dokumenter, og til min overraskelse oppdaget
1360 at standard epost ikke er på listen over godkjente formater som kan
1361 arkiveres. Høringen med frist søndag er en glimrende mulighet til å
1362 forsøke å gjøre noe med det. Jeg holder på med
1363 <a href=
"https://github.com/petterreinholdtsen/noark5-tester/blob/master/docs/hoering-arkivforskrift.tex">egen
1364 høringsuttalelse
</a>, og lurer på om andre er interessert i å støtte
1365 forslaget om å tillate arkivering av epost som epost i arkivet.
</p>
1367 <p>Er du igang med å skrive egen høringsuttalelse allerede? I så fall
1368 kan du jo vurdere å ta med en formulering om epost-lagring. Jeg tror
1369 ikke det trengs så mye. Her et kort forslag til tekst:
</p>
1373 <p>Viser til høring sendt ut
2017-
02-
17 (Riksarkivarens referanse
1374 2016/
9840 HELHJO), og tillater oss å sende inn noen innspill om
1375 revisjon av Forskrift om utfyllende tekniske og arkivfaglige
1376 bestemmelser om behandling av offentlige arkiver (Riksarkivarens
1379 <p>Svært mye av vår kommuikasjon foregår i dag på e-post. Vi
1380 foreslår derfor at Internett-e-post, slik det er beskrevet i IETF
1382 <a href=
"https://tools.ietf.org/html/rfc5322">https://tools.ietf.org/html/rfc5322
</a>. bør
1383 inn som godkjent dokumentformat. Vi foreslår at forskriftens
1384 oversikt over godkjente dokumentformater ved innlevering i §
5-
16
1385 endres til å ta med Internett-e-post.
</p>
1389 <p>Som del av arbeidet med tjenestegrensesnitt har vi testet hvordan
1390 epost kan lagres i en Noark
5-struktur, og holder på å skrive et
1391 forslag om hvordan dette kan gjøres som vil bli sendt over til
1392 arkivverket så snart det er ferdig. De som er interesserte kan
1393 <a href=
"https://github.com/petterreinholdtsen/noark5-tester/blob/master/docs/epostlagring.md">følge
1394 fremdriften på web
</a>.
</p>
1396 <p>Oppdatering
2017-
04-
28: I dag ble høringuttalelsen jeg skrev
1397 <a href=
"https://www.nuug.no/news/NUUGs_h_ringuttalelse_til_Riksarkivarens_forskrift.shtml">sendt
1398 inn av foreningen NUUG
</a>.
</p>
1404 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
1409 <div class=
"padding"></div>
1413 <a href=
"http://people.skolelinux.org/pere/blog/Free_software_archive_system_Nikita_now_able_to_store_documents.html">Free software archive system Nikita now able to store documents
</a>
1419 <p>The
<a href=
"https://github.com/hiOA-ABI/nikita-noark5-core">Nikita
1420 Noark
5 core project
</a> is implementing the Norwegian standard for
1421 keeping an electronic archive of government documents.
1422 <a href=
"http://www.arkivverket.no/arkivverket/Offentlig-forvaltning/Noark/Noark-5/English-version">The
1423 Noark
5 standard
</a> document the requirement for data systems used by
1424 the archives in the Norwegian government, and the Noark
5 web interface
1425 specification document a REST web service for storing, searching and
1426 retrieving documents and metadata in such archive. I've been involved
1427 in the project since a few weeks before Christmas, when the Norwegian
1429 <a href=
"https://www.nuug.no/news/NOARK5_kjerne_som_fri_programvare_f_r_epostliste_hos_NUUG.shtml">announced
1430 it supported the project
</a>. I believe this is an important project,
1431 and hope it can make it possible for the government archives in the
1432 future to use free software to keep the archives we citizens depend
1433 on. But as I do not hold such archive myself, personally my first use
1434 case is to store and analyse public mail journal metadata published
1435 from the government. I find it useful to have a clear use case in
1436 mind when developing, to make sure the system scratches one of my
1439 <p>If you would like to help make sure there is a free software
1440 alternatives for the archives, please join our IRC channel
1441 (
<a href=
"irc://irc.freenode.net/%23nikita">#nikita on
1442 irc.freenode.net
</a>) and
1443 <a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark">the
1444 project mailing list
</a>.
</p>
1446 <p>When I got involved, the web service could store metadata about
1447 documents. But a few weeks ago, a new milestone was reached when it
1448 became possible to store full text documents too. Yesterday, I
1449 completed an implementation of a command line tool
1450 <tt>archive-pdf
</tt> to upload a PDF file to the archive using this
1451 API. The tool is very simple at the moment, and find existing
1452 <a href=
"https://en.wikipedia.org/wiki/Fonds">fonds
</a>, series and
1453 files while asking the user to select which one to use if more than
1454 one exist. Once a file is identified, the PDF is associated with the
1455 file and uploaded, using the title extracted from the PDF itself. The
1456 process is fairly similar to visiting the archive, opening a cabinet,
1457 locating a file and storing a piece of paper in the archive. Here is
1458 a test run directly after populating the database with test data using
1461 <p><blockquote><pre>
1462 ~/src//noark5-tester$ ./archive-pdf mangelmelding/mangler.pdf
1463 using arkiv: Title of the test fonds created
2017-
03-
18T23:
49:
32.103446
1464 using arkivdel: Title of the test series created
2017-
03-
18T23:
49:
32.103446
1466 0 - Title of the test case file created
2017-
03-
18T23:
49:
32.103446
1467 1 - Title of the test file created
2017-
03-
18T23:
49:
32.103446
1468 Select which mappe you want (or search term):
0
1469 Uploading mangelmelding/mangler.pdf
1470 PDF title: Mangler i spesifikasjonsdokumentet for NOARK
5 Tjenestegrensesnitt
1471 File
2017/
1: Title of the test case file created
2017-
03-
18T23:
49:
32.103446
1472 ~/src//noark5-tester$
1473 </pre></blockquote></p>
1475 <p>You can see here how the fonds (arkiv) and serie (arkivdel) only had
1476 one option, while the user need to choose which file (mappe) to use
1477 among the two created by the API tester. The
<tt>archive-pdf
</tt>
1478 tool can be found in the git repository for the API tester.
</p>
1480 <p>In the project, I have been mostly working on
1481 <a href=
"https://github.com/petterreinholdtsen/noark5-tester">the API
1482 tester
</a> so far, while getting to know the code base. The API
1483 tester currently use
1484 <a href=
"https://en.wikipedia.org/wiki/HATEOAS">the HATEOAS links
</a>
1485 to traverse the entire exposed service API and verify that the exposed
1486 operations and objects match the specification, as well as trying to
1487 create objects holding metadata and uploading a simple XML file to
1488 store. The tester has proved very useful for finding flaws in our
1489 implementation, as well as flaws in the reference site and the
1492 <p>The test document I uploaded is a summary of all the specification
1493 defects we have collected so far while implementing the web service.
1494 There are several unclear and conflicting parts of the specification,
1496 <a href=
"https://github.com/petterreinholdtsen/noark5-tester/tree/master/mangelmelding">started
1497 writing down
</a> the questions we get from implementing it. We use a
1498 format inspired by how
<a href=
"http://www.opengroup.org/austin/">The
1499 Austin Group
</a> collect defect reports for the POSIX standard with
1500 <a href=
"http://www.opengroup.org/austin/mantis.html">their
1501 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> :).
1503 <p>The Nikita project is implemented using Java and Spring, and is
1504 fairly easy to get up and running using Docker containers for those
1505 that want to test the current code base. The API tester is
1506 implemented in Python.
</p>
1512 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
1517 <div class=
"padding"></div>
1521 <a href=
"http://people.skolelinux.org/pere/blog/Hva__mangler__i_OEP___litt_statistikk_utledet_fra_saksnummer_og_dokumentnummer.html">Hva «mangler» i OEP - litt statistikk utledet fra saksnummer og dokumentnummer
</a>
1527 <p>En ting jeg har lurt på når det gjelder offentlige postjournaler,
1528 er hvor stor andel av det som ligger i de interne databasene kommer
1529 ikke med i postjournalen. Dette er det mulig å finne ut basert på det
1530 som ligger i postjournalen. For å forstå hva jeg mener, trengs det
1531 litt bakgrunnsinformasjon. I henhold til
1532 <a href=
"http://www.arkivverket.no/arkivverket/Offentleg-forvalting/Noark">NOARK-standarden
</a>
1533 for norske offentlige arkiv skal enhver sak ha et årstall og et
1534 løpenummer, og ethvert dokument i saken skal gis et
1535 dokument-løpenummer. Det vil si at en ender opp med dokument-ID som
1536 ser ut som ÅÅÅÅ/SAKNR-DOKNR, f.eks.
2014/
2-
1 eller
2014/
12312-
14.
1537 Mange oppgir kun tosifret årstall, men prinsippet er det samme. Så
1538 vidt jeg vet skal saksnummer og dokumentnummer tildeles løpende og i
1539 stigende rekkefølge. Gitt en instans med følgende dokument-ID i
1540 postjournalen, så kan en regne ut hvor mye som ikke finnes i
1549 <p>Her ser en at saksnummer
2 og
5 finnes i postjournalen, mens
1550 nummerene
1,
3 og
4 mangler. En ser også at i sak
2014/
5 mangler
1551 dokument
2. Ved hjelp av denne informasjonen har jeg regnet ut hvor
1552 stor andel av saksnummer og dokumentløpenummer som ikke har dukket opp
1553 i
<a href=
"https://www.oep.no/">Offentlig Elektronisk Postjournal
</a>
1554 (OEP). For saksnummer har jeg tatt utgangspunkt i at en ikke trenger
1555 å starte på
1, og dermed regnet med området fra laveste til høyeste
1556 saksnummer og talt antall unike saksnummer som forekommer i OEP. I
1557 dette tilfellet betyr de at
2 av
4 saksnummer er ubrukte (
50%). For
1558 dokumentløpenummer har jeg tilsvarende tatt utgangspunkt i laveste og
1559 høyeste kjente dokumentløpenummer, for å handtere databaser der jeg
1560 mangler komplett postjournal. For sak
2014/
5 her betyr det at
1 av
3
1561 dokumenter mangler (
33%).
</p>
1563 <p>Det er flere årsaker til at det kan bli hull i nummerseriene.
1564 Feilføring der et dokument tildeles et nytt saksnummer ved en feil, og
1565 deretter flyttes inn i riktig sak vil gi et ubrukt saksnummer, da
1566 saksnummer skal tildeles i stigende rekkefølge og en ikke får opprette
1567 nye saker innimellom gamle saker. Tilsvarende kan skje med
1568 dokument-løpenummer. Det er jo heller ikke sikkert at et saksnummer i
1569 OEP er det samme som løpenummeret som brukes som saksnummeret i
1570 instansens interne datasystem. Kanskje snakker vi om ulike ontologier
1571 der en delmengde av interne saksnummer tilsvarer saksnummer i OEP.
1572 Hvis like nummer også tildeles andre ting enn saker som skal til OEP
1573 vil en tilsvarende få «hull» i saksnumrene i postjournalen.
</p>
1575 <p>Jeg er litt usikker på hva denne statistikken egentlig viser, og
1576 heller ikke sikker på om det er reelt sett mangler i OEP (som kanskje
1577 kunne anses å være kritikkverdig), bare er resultatet av hendelige
1578 uhell i nummertildelingen eller resultat av ulik ontologi i OEP og
1579 instansens datasystem. Men jeg syntes tallene og variasjonen var så
1580 interessant at jeg hadde lyst til å dele dem med mine lesere. Jeg har
1581 sortert listen på prosent upubliserte saksnummer for
2014.
</p>
1584 <tr><th colspan=
"6">Saksnummer
</th><th colspan=
"3">Dokumentnummer
</th><th rowspan=
"3">Instans
</th></tr>
1585 <tr><th colspan=
"3">2014</th><th colspan=
"3">2013</th><th colspan=
"3">2014</th></tr>
1586 <tr><th>%
</th><th>Upubl. saksnr.
</th><th>Totalt
</th>
1587 <th>%
</th><th>Upubl. saksnr
</th><th>Totalt
</th>
1588 <th>%
</th><th>Upubl. dok.nr.
</th><th>Totalt
</th>
1591 <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>
1592 <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>
1593 <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>
1594 <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>
1595 <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>
1596 <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>
1597 <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>
1598 <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>
1599 <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>
1600 <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>
1601 <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>
1602 <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>
1603 <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>
1604 <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>
1605 <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>
1606 <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>
1607 <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>
1608 <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>
1609 <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>
1610 <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>
1611 <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>
1612 <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>
1613 <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>
1614 <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>
1615 <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>
1616 <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>
1617 <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>
1618 <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>
1619 <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>
1620 <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>
1621 <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>
1622 <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>
1623 <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>
1624 <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>
1625 <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>
1626 <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>
1627 <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>
1628 <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>
1629 <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>
1630 <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>
1631 <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>
1632 <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>
1633 <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>
1634 <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>
1635 <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>
1636 <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>
1637 <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>
1638 <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>
1639 <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>
1640 <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>
1641 <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>
1642 <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>
1643 <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>
1644 <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>
1645 <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>
1646 <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>
1647 <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>
1648 <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>
1649 <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>
1650 <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>
1651 <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>
1652 <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>
1653 <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>
1654 <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>
1655 <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>
1656 <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>
1657 <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>
1658 <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>
1659 <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>
1660 <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>
1661 <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>
1662 <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>
1663 <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>
1664 <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>
1665 <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>
1666 <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>
1667 <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>
1668 <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>
1669 <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>
1670 <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>
1671 <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>
1672 <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>
1673 <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>
1674 <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>
1675 <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>
1676 <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>
1677 <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>
1678 <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>
1679 <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>
1680 <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>
1681 <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>
1682 <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>
1683 <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>
1684 <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>
1685 <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>
1686 <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>
1687 <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>
1688 <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>
1689 <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>
1690 <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>
1691 <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>
1692 <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>
1693 <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>
1694 <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>
1695 <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>
1696 <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>
1697 <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>
1698 <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>
1699 <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>
1700 <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>
1701 <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>
1702 <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>
1703 <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>
1704 <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>
1705 <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>
1706 <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>
1707 <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>
1708 <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>
1712 <p>Det kunne vært interessant å se hva som skjedde hvis en ba om
1713 innsyn i en dokument-ID som ikke finnes i OEP... :) Det hadde også
1714 vært interessant å få vite hva årsaken til at noen saksnummer ikke
1715 dukker opp i OEP der det er få og mange. Jeg mistenker jo at årsaken
1716 ikke er den samme hos Skattedirektoratet og hos Landinfo, selv om
1717 andelen upubliserte nummer er ganske lik.
</p>
1723 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>.
1728 <div class=
"padding"></div>
1732 <a href=
"http://people.skolelinux.org/pere/blog/Hvordan_b_r_RFC_822_formattert_epost_lagres_i_en_NOARK5_database_.html">Hvordan bør RFC
822-formattert epost lagres i en NOARK5-database?
</a>
1738 <p>For noen uker siden ble NXCs fri programvarelisenserte
1740 <a href=
"http://www.nuug.no/aktiviteter/20140211-noark/">presentert hos
1742 <a href=
"https://www.youtube.com/watch?v=JCb_dNS3MHQ">på youtube
1743 foreløbig
</a>), og det fikk meg til å titte litt mer på NOARK5,
1744 standarden for arkivhåndtering i det offentlige Norge. Jeg lurer på
1745 om denne kjernen kan være nyttig i et par av mine prosjekter, og for ett
1746 av dem er det mest aktuelt å lagre epost. Jeg klarte ikke finne noen
1747 anbefaling om hvordan RFC
822-formattert epost (aka Internett-epost)
1748 burde lagres i NOARK5, selv om jeg vet at noen arkiver tar
1749 PDF-utskrift av eposten med sitt epostprogram og så arkiverer PDF-en
1750 (eller enda værre, tar papirutskrift og lagrer bildet av eposten som
1753 <p>Det er ikke så mange formater som er akseptert av riksarkivet til
1754 langtidsoppbevaring av offentlige arkiver, og PDF og XML er de mest
1755 aktuelle i så måte. Det slo meg at det måtte da finnes en eller annen
1756 egnet XML-representasjon og at det kanskje var enighet om hvilken som
1757 burde brukes, så jeg tok mot til meg og spurte
1758 <a href=
"http://samdok.com/">SAMDOK
</a>, en gruppe tilknyttet
1759 arkivverket som ser ut til å jobbe med NOARK-samhandling, om de hadde
1765 <p>Usikker på om dette er riktig forum å ta opp mitt spørsmål, men jeg
1766 lurer på om det er definert en anbefaling om hvordan RFC
1767 822-formatterte epost (aka vanlig Internet-epost) bør lages håndteres
1768 i NOARK5, slik at en bevarer all informasjon i eposten
1769 (f.eks. Received-linjer). Finnes det en anbefalt XML-mapping ala den
1771 <URL:
<a href=
"https://www.informit.com/articles/article.aspx?p=32074">https://www.informit.com/articles/article.aspx?p=
32074</a> >? Mitt
1772 mål er at det skal være mulig å lagre eposten i en NOARK5-kjerne og
1773 kunne få ut en identisk formattert kopi av opprinnelig epost ved
1777 <p>Postmottaker hos SAMDOK mente spørsmålet heller burde stilles
1778 direkte til riksarkivet, og jeg fikk i dag svar derfra formulert av
1779 seniorrådgiver Geir Ivar Tungesvik:
</p>
1782 <p>Riksarkivet har ingen anbefalinger når det gjelder konvertering fra
1783 e-post til XML. Det står arkivskaper fritt å eventuelt definere/bruke
1784 eget format. Inklusive da - som det spørres om - et format der det er
1785 mulig å re-etablere e-post format ut fra XML-en. XML (e-post)
1786 dokumenter må være referert i arkivstrukturen, og det må vedlegges et
1787 gyldig XML skjema (.xsd) for XML-filene. Arkivskaper står altså fritt
1788 til å gjøre hva de vil, bare det dokumenteres og det kan dannes et
1789 utrekk ved avlevering til depot.
</p>
1791 <p>De obligatoriske kravene i Noark
5 standarden må altså oppfylles -
1792 etter dialog med Riksarkivet i forbindelse med godkjenning. For
1793 offentlige arkiv er det særlig viktig med filene loependeJournal.xml
1794 og offentligJournal.xml. Private arkiv som vil forholde seg til Noark
1795 5 standarden er selvsagt frie til å bruke det som er relevant for dem
1796 av obligatoriske krav.
</p>
1799 <p>Det ser dermed ut for meg som om det er et lite behov for å
1800 standardisere XML-lagring av RFC-
822-formatterte meldinger. Noen som
1801 vet om god spesifikasjon i så måte? I tillegg til den omtalt over,
1802 har jeg kommet over flere aktuelle beskrivelser (søk på "rfc
822
1803 xml", så finner du aktuelle alternativer).
</p>
1807 <li><a href=
"http://www.openhealth.org/xmtp/">XML MIME Transformation
1808 protocol (XMTP)
</a> fra OpenHealth, sist oppdatert
2001.
</li>
1810 <li><a href=
"https://tools.ietf.org/html/draft-klyne-message-rfc822-xml-03">An
1811 XML format for mail and other messages
</a> utkast fra IETF datert
1814 <li><a href=
"http://www.informit.com/articles/article.aspx?p=32074">xMail:
1815 E-mail as XML
</a> en artikkel fra
2003 som beskriver python-modulen
1816 rfc822 som gir ut XML-representasjon av en RFC
822-formattert epost.
</li>
1820 <p>Finnes det andre og bedre spesifikasjoner for slik lagring? Send
1821 meg en epost hvis du har innspill.
</p>
1827 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>.
1832 <div class=
"padding"></div>
1834 <p style=
"text-align: right;"><a href=
"noark5.rss"><img src=
"http://people.skolelinux.org/pere/blog/xml.gif" alt=
"RSS Feed" width=
"36" height=
"14" /></a></p>
1845 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/01/">January (
4)
</a></li>
1847 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/02/">February (
3)
</a></li>
1849 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/03/">March (
3)
</a></li>
1851 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/05/">May (
2)
</a></li>
1853 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/06/">June (
5)
</a></li>
1855 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/07/">July (
2)
</a></li>
1857 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/08/">August (
1)
</a></li>
1859 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/09/">September (
1)
</a></li>
1861 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/11/">November (
1)
</a></li>
1868 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/01/">January (
1)
</a></li>
1870 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/02/">February (
5)
</a></li>
1872 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/03/">March (
5)
</a></li>
1874 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/04/">April (
3)
</a></li>
1876 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/06/">June (
2)
</a></li>
1878 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/07/">July (
5)
</a></li>
1880 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/08/">August (
3)
</a></li>
1882 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/09/">September (
3)
</a></li>
1884 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/10/">October (
5)
</a></li>
1886 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/11/">November (
2)
</a></li>
1888 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/12/">December (
4)
</a></li>
1895 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/01/">January (
4)
</a></li>
1897 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/02/">February (
3)
</a></li>
1899 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/03/">March (
5)
</a></li>
1901 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/04/">April (
2)
</a></li>
1903 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/06/">June (
5)
</a></li>
1905 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/07/">July (
1)
</a></li>
1907 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/08/">August (
1)
</a></li>
1909 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/09/">September (
3)
</a></li>
1911 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/10/">October (
5)
</a></li>
1913 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/11/">November (
3)
</a></li>
1915 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/12/">December (
4)
</a></li>
1922 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/01/">January (
3)
</a></li>
1924 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/02/">February (
2)
</a></li>
1926 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/03/">March (
3)
</a></li>
1928 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/04/">April (
8)
</a></li>
1930 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/05/">May (
8)
</a></li>
1932 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/06/">June (
2)
</a></li>
1934 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/07/">July (
2)
</a></li>
1936 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/08/">August (
5)
</a></li>
1938 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/09/">September (
2)
</a></li>
1940 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/10/">October (
3)
</a></li>
1942 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/11/">November (
8)
</a></li>
1944 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/12/">December (
5)
</a></li>
1951 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/01/">January (
7)
</a></li>
1953 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/02/">February (
6)
</a></li>
1955 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/03/">March (
1)
</a></li>
1957 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/04/">April (
4)
</a></li>
1959 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/05/">May (
3)
</a></li>
1961 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/06/">June (
4)
</a></li>
1963 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/07/">July (
6)
</a></li>
1965 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/08/">August (
2)
</a></li>
1967 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/09/">September (
2)
</a></li>
1969 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/10/">October (
9)
</a></li>
1971 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/11/">November (
6)
</a></li>
1973 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/12/">December (
3)
</a></li>
1980 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/01/">January (
2)
</a></li>
1982 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/02/">February (
3)
</a></li>
1984 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/03/">March (
8)
</a></li>
1986 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/04/">April (
7)
</a></li>
1988 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/05/">May (
1)
</a></li>
1990 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/06/">June (
2)
</a></li>
1992 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/07/">July (
2)
</a></li>
1994 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/08/">August (
2)
</a></li>
1996 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/09/">September (
5)
</a></li>
1998 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/10/">October (
6)
</a></li>
2000 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/11/">November (
3)
</a></li>
2002 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/12/">December (
5)
</a></li>
2009 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li>
2011 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/02/">February (
9)
</a></li>
2013 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/03/">March (
9)
</a></li>
2015 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/04/">April (
6)
</a></li>
2017 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/05/">May (
9)
</a></li>
2019 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/06/">June (
10)
</a></li>
2021 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/07/">July (
7)
</a></li>
2023 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/08/">August (
3)
</a></li>
2025 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/09/">September (
5)
</a></li>
2027 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/10/">October (
7)
</a></li>
2029 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/11/">November (
9)
</a></li>
2031 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/12/">December (
3)
</a></li>
2038 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
2040 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
2042 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
2044 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
2046 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
2048 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li>
2050 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li>
2052 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li>
2054 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li>
2056 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li>
2058 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li>
2060 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li>
2067 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
2069 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
2071 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
2073 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
2075 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
2077 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
2079 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
2081 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
2083 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
2085 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
2087 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
2089 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
2096 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
2098 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
2100 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
2102 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
2104 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
2106 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
2108 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
2110 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
2112 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
2114 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
2116 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
2118 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
2125 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
2127 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
2129 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
2131 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
2133 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
2135 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
2137 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
2139 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
2141 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
2143 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
2145 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
2147 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
2154 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
2156 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
2167 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
16)
</a></li>
2169 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
2171 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
2173 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li>
2175 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (
8)
</a></li>
2177 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
11)
</a></li>
2179 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
17)
</a></li>
2181 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
2183 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (
2)
</a></li>
2185 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian (
168)
</a></li>
2187 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
158)
</a></li>
2189 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (
4)
</a></li>
2191 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan (
11)
</a></li>
2193 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/dld">dld (
17)
</a></li>
2195 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/docbook">docbook (
26)
</a></li>
2197 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
2199 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/english">english (
410)
</a></li>
2201 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
23)
</a></li>
2203 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
14)
</a></li>
2205 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
34)
</a></li>
2207 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (
9)
</a></li>
2209 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
20)
</a></li>
2211 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/h264">h264 (
20)
</a></li>
2213 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/intervju">intervju (
42)
</a></li>
2215 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
16)
</a></li>
2217 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart (
22)
</a></li>
2219 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kodi">kodi (
4)
</a></li>
2221 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ldap">ldap (
9)
</a></li>
2223 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lego">lego (
4)
</a></li>
2225 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lenker">lenker (
8)
</a></li>
2227 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (
2)
</a></li>
2229 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
2231 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (
8)
</a></li>
2233 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
42)
</a></li>
2235 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (
12)
</a></li>
2237 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5 (
17)
</a></li>
2239 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk (
307)
</a></li>
2241 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug (
196)
</a></li>
2243 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
37)
</a></li>
2245 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
2247 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
75)
</a></li>
2249 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern (
110)
</a></li>
2251 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/raid">raid (
2)
</a></li>
2253 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reactos">reactos (
1)
</a></li>
2255 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
2257 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rfid">rfid (
3)
</a></li>
2259 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot (
12)
</a></li>
2261 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
2263 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ruter">ruter (
7)
</a></li>
2265 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
2267 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
56)
</a></li>
2269 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
2271 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
5)
</a></li>
2273 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard (
66)
</a></li>
2275 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
6)
</a></li>
2277 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
12)
</a></li>
2279 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
57)
</a></li>
2281 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
4)
</a></li>
2283 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/usenix">usenix (
2)
</a></li>
2285 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/valg">valg (
9)
</a></li>
2287 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (
17)
</a></li>
2289 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/video">video (
73)
</a></li>
2291 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
2293 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/web">web (
42)
</a></li>
2299 <p style=
"text-align: right">
2300 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>