]> pere.pagekite.me Git - homepage.git/blob - blog/tags/noark5/index.html
d0d77fe3a62b546c822fef25d3956ddc920349c4
[homepage.git] / blog / tags / noark5 / index.html
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">
4 <head>
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" />
10 </head>
11 <body>
12 <div class="title">
13 <h1>
14 <a href="http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
15
16 </h1>
17
18 </div>
19
20
21 <h3>Entries tagged "noark5".</h3>
22
23 <div class="entry">
24 <div class="title">
25 <a href="http://people.skolelinux.org/pere/blog/Nikita_version_0_5_released___updated_free_software_archive_API_server.html">Nikita version 0.5 released - updated free software archive API server</a>
26 </div>
27 <div class="date">
28 2nd March 2020
29 </div>
30 <div class="body">
31 <p>Today, after many months of development, a new release of
32 <ahref="https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
33 Noark 5 core project</a> was finally
34 <ahref="https://lists.nuug.no/pipermail/nikita-noark/2020-March/000519.html">announced
35 on the project mailing list</a>. The Nikita free software solution is
36 an implementation of the Norwegian archive standard Noark 5 used by
37 government offices in Norway. These were the changes in version 0.5
38 since version 0.4, see the email link above for links to a demo
39 site:</p>
40
41 <ul>
42
43 <li>Updated to Noark 5 versjon 5.0 API specification.
44 <ul>
45 <li>Changed formatting of _links from [] to {} to match IETF draft
46 on JSON HAL.</li>
47 <li>Merged Registrering og Basisregistrering in version 4 to
48 combined Registrering.</li>
49 <li>DokumentObjekt is now subtype of ArkivEnhet.</li>
50 <li>Introducing new entity Arkivnotat.</li>
51 <li>Changed all relation keys to use /v5/ instead of /v4/.</li>
52 <li>Corrected to use new official relation keys when possible.</li>
53 <li>Renamed Sakspart to Part and connect it to Mappe, Registrering
54 and Dokumentbeskrivelse instead of only Saksmappe.</li>
55 <li>Moved Korrespondansepart connection from Journalpost to
56 Registrering.</li>
57 <li>Moved Part and Korrespondansepart from package sakarkiv to
58 arkivstruktur.</li>
59 <li>Renamed presedensstatus to presedensStatus.</li>
60 <li>Use new JSON content-type "application/vnd.noark5+json".</li>
61 <li>Updated prepopulated format list to use PRONOM codes.</li>
62 <li>Implemented endpoint for system information.</li>
63 <li>Implemented national identifiers for both file and record.</li>
64 <li>Implemented comments.</li>
65 <li>implemented sign off.</li>
66 <li>implemented conversion.</li>
67 </ul></li>
68 <li>Improved/implemented OData search and paging support for more entities.</li>
69 <li>No longer exposes attribute Dokumentobjekt.referanseDokumentfil,
70 one should use the relation in _links instead.</li>
71 <li>Corrected relation keys under
72 https://rel.arkivverket.no/noark5/v5/api/administrasjon/, replacing
73 'administrasjon' with 'admin'.</li>
74 <li>Fixed several security and stability issues discovered by Coverity.</li>
75 <li>Corrected handling ETag errors, now return code 409.</li>
76 <li>Improved handling of Kryssreferanse.</li>
77 <li>Changed internal database model to use UUID/SystemID as primary keys
78 in tables.</li>
79 <li>Changed internal database table names to use package prefix.</li>
80 <li>Changed time zone handling for date and datetime attributes, to be
81 more according to the new definition in the API specification.</li>
82 <li>Change revoke-token to only drop token on POST requests, not GET.</li>
83 <li>Updated to newer Spring version.</li>
84 <li>Changed primary key and URL component for metadata code lists to
85 use the 'kode' value instead of a SystemID.</li>
86 <li>Corrected implementation of Part and Sakspart.</li>
87 <li>Changed instance lists with subtypes (like .../registrering/ and
88 .../mappe/) to include the attributes and _links entries for the
89 subtype in the supertype lists.</li>
90 <li>Adjusted _links relations to make it possible to figure out the
91 entity of an instance using the self->href->relation key lookup
92 method.</li>
93 <li>Fixed several end points to make sure GET, PUT, POST and DELETE
94 match each other.</li>
95 <li>Updated DELETE endpoints to work with UUID based entity
96 identifiers.</li>
97 <li>Restructured code to use more common URL related constants in entry
98 point values and replace @RequestMapping with method specific
99 annotations.</li>
100 <li>Added first unit test code.</li>
101 <li>Updated web GUI to work with the updated API.</li>
102 <li>Changed integer fields, enforce them as numeric.</li>
103 <li>Rewrote and simplify metadata handling to use common service and
104 controller code instead of duplicating for each type.</li>
105 <li>Implemented the remaining metadata types.</li>
106 <li>Changed Country list source from Wikipedia to Debian iso-codes and
107 updated the list of Countries.</li>
108 <li>Many many corrections and improvements.</li>
109
110 </ul>
111
112 <p>If free and open standardized archiving API sound interesting to
113 you, please contact us on IRC
114 (<a href="irc://irc.freenode.net/%23nikita">#nikita on
115 irc.freenode.net</a>) or email
116 (<a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
117 mailing list</a>).</p>
118
119 <p>As usual, if you use Bitcoin and want to show your support of my
120 activities, please send Bitcoin donations to my address
121 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
122
123 </div>
124 <div class="tags">
125
126
127 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>.
128
129
130 </div>
131 </div>
132 <div class="padding"></div>
133
134 <div class="entry">
135 <div class="title">
136 <a href="http://people.skolelinux.org/pere/blog/Blockchain_and_IoT_articles_accepted_into_Records_Management_Journal.html">Blockchain and IoT articles accepted into Records Management Journal</a>
137 </div>
138 <div class="date">
139 27th February 2020
140 </div>
141 <div class="body">
142 <p>On Tuesday, two scietific articles we have been working on for a
143 while, was finally accepted for publication into
144 <a href="https://www.emerald.com/insight/publication/issn/0956-5698">Records
145 Management Journal</a>. Still waiting for the assigned DOI urls to
146 start working, but you can have a look at the LaTeX originals here.</p>
147
148 <p>The first article is
149 "<a href="http://people.skolelinux.org/pere/blog/images/2020-02-25-rmj-iot-record-keeping.pdf">A
150 record-keeping approach to managing IoT-data for government
151 agencies</a>" (<a href="https://doi.org/10.1108/RMJ-09-2019-0050">DOI
152 10.1108/RMJ-09-2019-0050<a/>) by Thomas Sødring, Petter Reinholdtsen
153 and David Massey, and sketches some approaches for storing measurement
154 data (aka Internet of Things sensor data) in a archive, thus providing
155 a well defined mechanism for screening and deletion of the information </p>
156
157 <p>The second article is
158 "<a href="http://people.skolelinux.org/pere/blog/images/2020-02-25-rmj-block-chain-record-keeping.pdf">Publishing
159 and using record-keeping structural information in a blockchain</a>"
160 (<a href="https://doi.org/10.1108/RMJ-09-2019-0056">DOI
161 10.1108/RMJ-09-2019-0056</a>) by Thomas Sødring, Petter Reinholdtsen
162 and Svein Ølnes, where we describe a way for third parties to validate
163 authenticity and thus improve trust in the records kept in a
164 archive.</p>
165
166 <p>As usual, if you use Bitcoin and want to show your support of my
167 activities, please send Bitcoin donations to my address
168 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
169
170 <p><strong>Update 2020-04-26</strong>: Initially managed to swap the
171 DOI numbers. Fixed it.</p>
172
173 </div>
174 <div class="tags">
175
176
177 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>.
178
179
180 </div>
181 </div>
182 <div class="padding"></div>
183
184 <div class="entry">
185 <div class="title">
186 <a href="http://people.skolelinux.org/pere/blog/Redaksjon_p__plass_for_Noark_5_tjenestegrensesnitt.html">Redaksjon på plass for Noark 5 tjenestegrensesnitt</a>
187 </div>
188 <div class="date">
189 5th February 2020
190 </div>
191 <div class="body">
192 <p>Arbeidet med å lage et godt, fritt og åpent standardisert maskinelt
193 grensesnitt for arkivering, med tilhørende fri
194 programvareimplementasjon fortsetter. Jeg snakker om
195 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard">Noark
196 5 Tjenestegrensesnitt</a> og
197 <a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita</a>.
198 Siste nytt etter
199 <a href="https://www.nuug.no/aktiviteter/20200127-noark-seminar/">seminaret
200 for noen dager siden</a>, er vi i Nikita-prosjektet har fått beskjed
201 fra Arkivverket at det blir satt ned en redaksjon for å videreutvikle
202 spesifikasjonen. Redaksjonen består av Mona Danielsen og Anne Sofie
203 Knutsen ved arkivverket, Thomas Sødring ved OsloMet, og meg selv fra
204 NUUG. De to sistenevnte tar seg av de åpenbare forbedringene, mens
205 hele redaksjonen diskuterer tvilstilfeller. Jeg håper dette vil bidra
206 til at vi lykkes i å gjøre denne protokollspesifikasjonen så entydig
207 og klar at den vil bidra til et velfungerende marked for
208 arkivsystemer, og sikre at programmer som trenger å snakke med
209 arkivsystemet kan snakke med enhver implementasjon av
210 API-spesifikasjonen. Nikita er den første implementasjonen, men det
211 bør blir flere.</p>
212
213 <p>Det gjenstår riktig nok endel før vi er i mål, selv om svært mye
214 allerede er på plass. Med innspill og forslag til forbedringer fra
215 alle som vil ha et leverandøruavhengig og fullstendig
216 datamaskinlesbart grensesnitt til arkivet, så tror jeg vi vil
217 lykkes.</p>
218
219 <p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
220 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
221 til min adresse
222 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.
223 Merk, betaling med bitcoin er ikke anonymt. :)</p>
224
225 </div>
226 <div class="tags">
227
228
229 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>.
230
231
232 </div>
233 </div>
234 <div class="padding"></div>
235
236 <div class="entry">
237 <div class="title">
238 <a href="http://people.skolelinux.org/pere/blog/Artikkel_om_Noark_5_Tjenestegrensesnitt_og_Nikita_i_Arkivr_d_nummer_3_for_2019.html">Artikkel om Noark 5 Tjenestegrensesnitt og Nikita i Arkivråd nummer 3 for 2019</a>
239 </div>
240 <div class="date">
241 26th December 2019
242 </div>
243 <div class="body">
244 <p>Like før julaften ble en artikkel jeg har skrevet om vedlikehold av
245 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard">Noark
246 5 Tjenestegrensesnitt</a> og Nikita publisert i <a
247 href="https://www.arkivrad.no/arkivrad">tidsskriftet Arkivråd</a>.
248 Det er basert på
249 <a href="http://people.skolelinux.org/pere/blog/_pen_og_gjennomsiktig_vedlikehold_av_spesifikasjonen_for_Noark_5_Tjenestegrensesnitt.html">min bloggpost
250 om samme tema</a> som ble publisert 2019-03-11. Jeg oppdaget nettopp
251 at nettsiden til tidsskriftet Arkivråd er oppdatert med siste utgave,
252 og artikkelen dermed er tilgjengelig for alle. Du finner den i
253 <a href="https://www.arkivrad.no/sites/arkivrad/files/arkivrad_03_2019_nett.pdf">PDF-en
254 til nummer 2019/3 på side 30-33</a>. Jeg håper leserne av
255 tidsskriftet får lyst til å sjekke ut tjenestegrensesnittet og at
256 artikkelen vil gjøre det enklere for flere å bidra til en enda bedre,
257 klarere og mer entydig API-spesifikasjon. Det kan gjøre at
258 <a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">arkivsystemet
259 Nikita</a> kan bli enda bedre når spesifikasjonen forbedres.</p>
260
261 <p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
262 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
263 til min adresse
264 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.
265 Merk, betaling med bitcoin er ikke anonymt. :)</p>
266
267 </div>
268 <div class="tags">
269
270
271 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>.
272
273
274 </div>
275 </div>
276 <div class="padding"></div>
277
278 <div class="entry">
279 <div class="title">
280 <a href="http://people.skolelinux.org/pere/blog/Artikkel_om_Nikita_i_Arkheion_nummer_2019_2.html">Artikkel om Nikita i Arkheion nummer 2019/2</a>
281 </div>
282 <div class="date">
283 9th December 2019
284 </div>
285 <div class="body">
286 <p>Jeg hadde i dag gleden av å oppdage at en artikkel om
287 <a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">arkivsystemet
288 Nikita</a> som vi skrev i sommer, nå er publisert i
289 <a href="http://www.arkheion.no/">Arkheion, fagtidsskrift for kommunial
290 arkivsektor</a>. Du finner artikkelen på side 30-33 i nummer 2019/2,
291 PDF kan lastes ned fra nettstedet til tidsskriftet. Kanskje
292 publiseringen kan føre til at noen flere får øynene opp for verdien av
293 et åpent standardisert API for arkivering og søk i arkivet.</p>
294
295 <p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
296 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
297 til min adresse
298 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.
299 Merk, betaling med bitcoin er ikke anonymt. :)</p>
300
301 </div>
302 <div class="tags">
303
304
305 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>.
306
307
308 </div>
309 </div>
310 <div class="padding"></div>
311
312 <div class="entry">
313 <div class="title">
314 <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>
315 </div>
316 <div class="date">
317 5th July 2019
318 </div>
319 <div class="body">
320 <p>Jeg er veldig glad for å kunne fortelle at i går ble ny versjon av
321 <a href="https://www.arkivverket.no/forvaltning-og-utvikling/noark-standarden/noark-5/tjenestegrensesnitt-noark5">API-spesifikasjonen
322 for Noark 5 Tjenestegrensesnitt</a> gitt ut. Det så lenge mørkt ut
323 for sjansene for å få inn nødvendige korreksjoner i
324 spesifikasjonsteksten innen rimelig tid, men takket være intens og god
325 innsats fra Mona og Anne Sofie hos Arkivverket de siste ukene, så ble
326 resultatet som ble gitt ut på USAs uavhengighetsdag mye bedre enn jeg
327 fryktet.</p>
328
329 <p>Spesifikasjonen er
330 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">tilgjengelig
331 som markdown-filer i Arkivverkets github-prosjekt for dette</a>, og de
332 aller fleste av forslagene til forbedringer fra oss som holder på med
333 <a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core">Nikita-prosjektet</a>
334 kom med i denne nye og oppdaterte spesifikasjonsteksten. Det er
335 fortsatt mye som gjenstår før den er entydig, klar og sikrer samvirke
336 på tvers av leverandører, men utgangspunktet er veldig mye bedre enn
337 forrige versjon fra 2016. Ta gjerne en titt.</p>
338
339 <p>Ellers må jeg jo si at det var hyggelig å se at min forrige
340 bloggpost om tjenestegrensesnittet fikk en
341 <a href="https://beta.arkivverket.no/post/186020592045/noark-5-versjon-50-tjenestegrensesnitt-10">lenke
342 fra Arkivverket Beta</a>.</p>
343
344 <p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
345 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
346 til min adresse
347 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.
348 Merk, betaling med bitcoin er ikke anonymt. :)</p>
349
350 </div>
351 <div class="tags">
352
353
354 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>.
355
356
357 </div>
358 </div>
359 <div class="padding"></div>
360
361 <div class="entry">
362 <div class="title">
363 <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>
364 </div>
365 <div class="date">
366 21st June 2019
367 </div>
368 <div class="body">
369 <p><em>av Thomas Sødring (OsloMet) og Petter Reinholdtsen (foreningen
370 NUUG)</em></p>
371
372 <p>Nikita Noark 5-kjerne er et fri programvareprosjekt som tar i bruk
373 Arkivverkets spesifikasjonen for Noark 5 Tjenestegrensesnitt og tilbyr
374 et maskinlesbart grensesnitt (arkiv-API) til datasystemer som trenger å
375 arkivere dokumenter og informasjon. I tillegg tilbyr Nikita et
376 nettleserbasert brukergrensesnitt for brukere av arkivet. Dette
377 brukergrensesnittet benytter det maskinlesbare grensesnittet. Noark 5
378 Tjenestegrensesnitt er en ny måte å tenke arkivering, med fokus på
379 automatisering og maskinell behandling av arkivmateriale, i stedet for
380 å fokusere på brukergrensesnitt. En kan tenke på
381 tjenestegrensesnittet som arkivet uten brukergrensesnitt, der flere
382 aktører kan koble til ulike brukergrensesnitt, tilpasset ulike
383 behov.</p>
384
385 <p>Historisk sett gjorde Noark standarden en veldig bra jobb med
386 overgangen fra
387 papir til digital saksbehandling, men det har kommet til kort på andre
388 områder. Den teknologiske utviklingen har brakt oss ditt at vi kan og
389 skal forvente langt mer fra en arkivkjerne enn før, men det offentlig
390 er ofte konservativ når det gjelder nytenking. For lengst skulle
391 begreper som samvirke mellom datasystemer, metadata, prosess og
392 tjenestegrensesnitt (API) vært dominerende når systemer kjøpes
393 inn. Dessverre er det slik at ikke alle ønsker samvirke mellom
394 datasystemer velkommen, og det kan være trygt å kjøpe «svarte bokser»
395 der du slipper å ta stilling til hvordan man skal få flere systemer
396 til å virke sammen. Men IT-arkitektur er et begrep arkivfolk også
397 begynner å ta inn over seg.</p>
398
399 <p>Slike systemer for å organisere metadata bør ha nettbaserte
400 tjenestegrensesnitt der brukergrensesnitt er tydelig adskilt fra
401 bakenforliggende system. Det finnes mange rapporter som snakker om å
402 bryte ned siloer i forvaltningen og standardiserte tjenestegrensesnitt
403 er det viktigste virkemiddel mot datasiloer og legger til rette for
404 økt samvirke mellom systemer. Et standardisert tjenestegrensesnitt er
405 et viktig middel for å få systemer til å samhandle da det sikrer at
406 ulike produsenters systemer kan snakke sammen på tvers. Samfunnet
407 fungerer ikke uten standardisering. Vi har alle samme strømstyrke og
408 kontakter i veggene og kjører alle på høyre side av veien i Norge. Det er i en slik
409 sammenheng at prosjektet «Noark 5 Tjenestegrensesnitt» er veldig
410 viktig. Hvis alle leverandører av arkivsystemer forholdt seg til et
411 standardisert tjenestegrensesnitt kunne kostnadene for arkivering
412 reduseres. Tenk deg at du er en kommune som ønsker et fagsystem integrert
413 med arkivløsningen din. I dag må fagsystemleverandøren vite og
414 tilpasse seg den spesifikke versjonen og varianten av arkivløsningen
415 du har. Hvis vi antar at alle leverandører av arkivkjerner har solgt
416 inn enten SOAP eller REST-grensesnitt til kunder de siste 10 årene og
417 det kommer endret versjon av grensesnittet innimellom, så gir det
418 veldig mange forskjellige tjenestegrensesnitt en fagsystemleverandør
419 må forholde seg til. Med 12 leverandører og kvartalsvise oppdateringer
420 kan det potensielt bli 96 ulike varianter hvert eneste år. Det sier
421 seg selv at det blir dyrt. Men det blir faktisk verre. Hvis du senere
422 ønsker å bytte ut arkivsystemet med et annet så er du avhengig å få
423 alle integrasjonene dine laget på nytt. Dette kan gjøre at du velger å
424 forbli hos en dårlig leverandør framfor å skaffe nytt system, fordi
425 det blir for vanskelig og dyrt å bytte. Dermed etableres det «små»
426 monopolsituasjoner som er vanskelig å bryte ut av. Dårlige valg i dag
427 kan ha uante kostander på sikt. I Nikita-prosjektet har vi kun jobbet
428 opp mot Noark 5 Tjenestegrensesnittet. Det har tatt en god del
429 ressurser å sette seg inn i spesifikasjonen og ta den i bruk, spesielt
430 på grunn av uklarheter i spesifikasjonen. Hvis vi måtte gjøre det
431 samme for alle versjoner og varianter av de forskjellige
432 tjenestegrensesnittene ville det blitt veldig tidkrevende og
433 kostbart.</p>
434
435 <p>For deg som arkivar er digitalisering og systemer som skal virke
436 sammen en del av den nye hverdagen. Du har kanskje blitt skånet for
437 det ved å kjøpe svarte bokser, men du risikerer at du gjør deg selv en
438 bjørnetjeneste. Det kan oppleves som kjedelig å fortelle kolleger at
439 du skal sette deg inn i et tjenestegrensesnitt, men dette er faktisk
440 veldig spennende. Tjenestegrensesnittet er på en måte blitt levende og
441 det er spesielt et begrep du bør merke deg: OData. Å trekke inn deler
442 av OData-standarden som en måte å filtrere entitetsøk i et arkivsystem
443 var et nyttig trekk i prosjektet. Følgende eksempel er en
444 OData-spørring det går an å sende inn til en standardisert
445 arkivkjerne:</p>
446
447 <p><blockquote>
448 .../sakarkiv/journalpost?filter=contains(tittel, 'nabovarsel')
449 </blockquote></p>
450
451 <p>Spørringen over vil hente en liste av alle dine journalposter der
452 tittelen til journalposten inneholder ordet 'nabovarsel'. Alle
453 leverandører som implementerer tjenestegrensesnittet vil måtte tilby
454 dette. Det betyr at hvis du lærer dette språket for et system, vil det
455 være gjeldende for alle. Dette er egentlig en ny måte å søke i
456 arkivdatabasen på og vil være svært nyttig, for eksempel kan søk i
457 tjenestegrensesnittet antagelig brukes til å hente ut offentlig
458 postjournal. I arkivverden pleier vi å like teknologier som er
459 menneskelesbart, da vet vi det er enkelt og nyttig! OData er også
460 viktig fordi det kan bli en ny måte å svare innsynsforespørsler på i
461 tråd med offentlighetsloven § 9, der retten til å kreve innsyn i
462 sammenstilling fra databaser er nedfelt. I dag ser vi
463 forvaltningsorganer som avviser slike krav fordi det «ikke kan gjøres
464 med enkle framgangsmåter». Bruken av OData i tjenestegrensesnittet,
465 sammen med maskinlesbar markeringsformater kan være et viktig bidrag
466 til å åpne arkivene i tråd med prinsippene om en åpen og transparent
467 forvaltning.</p>
468
469 <p>Standardisering er viktig fordi det <em>kan</em> sikre samvirke.
470 Men den effekten kommer kun hvis standardiseringen sikrer at alle
471 forstår standarden på samme måte, dvs. at den er entydig og klar. En
472 god måte å sikre en entydig og klar spesifikasjon er ved å kreve at
473 det finnes minst to ulike implementasjoner som følger spesifikasjonen
474 og som kan snakke sammen, det vil si at de snakker samme språk, slik
475 IETF krever for alle sine standarder, før spesifikasjonen anses å være
476 ferdig. Tilbakemelding fra miljøet forteller at både leverandører og
477 kunder har et avslappet forhold til Noark 5 Tjenestegrensesnitt og det
478 er så langt kun Evry som har visst offentlig at de har en
479 implementasjon av tjenestegrensesnittet. Evry, HK Data og Fredrikstad
480 kommune er igang med et pilotprosjekt på Noark 5
481 Tjenestegrensesnitt. For å redusere kostnadene for samvirkende
482 datasystemer betraktelig, er det veldig viktig at vi kommer i en
483 situasjon der alle leverandører har sine egne implementasjoner av
484 tjenestegrensesnittet, og at disse oppfører seg likt og i tråd med det
485 som er beskrevet i spesifikasjonen.</p>
486
487 <p>Det er her fri programvare spiller en viktig rolle. Med en uklar
488 standard blir det som en polsk riksdag, der ingenting fungerer. Nikita
489 er en fri programvareimplementasjon av tjenestegrensesnitt og kan
490 fungere som teknisk referanse slik at leverandører enklere kan se og
491 forstå hvordan standarden skal tolkes. Vi har i Nikitaprosjektet
492 erfart å ende opp med vidt forskjellige tolkninger når
493 prosjektmedlemmene leser spesifikasjonsteksten, en effekt av en uklar
494 spesifikasjon. Men Nikitaprosjektet har også utviklet et test-program
495 som sjekker om et tjenestegrensesnitt er i samsvar med standarden, og
496 prosjektet bruker det hele tiden for å sikre at endringer og
497 forbedringer fungerer. Egenerklæringsskjemaenes dager kan være talte!
498 Snart vil du selv kunne teste hver oppdatering av arkivsystemet med en
499 uavhengig sjekk.</p>
500
501 <p>Fri programvare representerer en demokratisering av kunnskap der
502 tolkning- og innlåsingsmakt flyttes fra leverandør til allmenheten.
503 Med fri programvare har du en litt annerledes verdikjede, der selve
504 produktet ikke holdes hemmelig for å tjene penger, slik en gjør med
505 ufri programvare og skytjenester som ikke bruker fri programvare, men
506 du kan tjene penger på andre deler av verdikjeden. Med fri programvare
507 kan samfunnet betale for å videreutvikle nyttig
508 fellesfunksjonalitet.</p>
509
510 <p>Nikita er en fri programvareimplementasjon av tjenestegrensesnittet og
511 kan fungere som en referanseimplementasjon dersom det er ønskelig.
512 Alle har lik tilgang til koden og det koster ingenting å ta den i bruk
513 og utforske det. Nikitaprosjektet ønsker tjenestegrensesnittet
514 velkommen og stiller veldig gjerne opp i diskusjoner om tolkning av
515 tjenestegrensesnittet. Nikita er bygget på moderne
516 programmeringsrammeverk og utviklet i full åpenhet. Men Nikita er ikke
517 noe du kan kjøpe. Nikita er først og fremst et verktøy for forsking og
518 utvikling laget for å fremme forskning på arkivfeltet. Systemer som
519 virker sammen har alltid vært hovedfokus og vil være det fremover.
520 Det brukes som undervisningsverktøy der studentene ved OsloMet lærer
521 om administrativt oppsett, saksbehandling, uttrekk og samvirkende
522 datasystemer. Det brukes også som forskningsobjekt der vi ser på
523 import av dokumentsamlinger, bruk av blokkjede og andre nyskapende
524 måter å tenke arkiv på. Det er dog helt greit om andre tar Nikita og
525 pakker det for å selge det som produkt. Forvaltningsorganer med
526 sterke drift- og utviklingsmiljøer kan også se på Nikita og utforske
527 hva som er mulig. Dette kan de gjøre uten å måtte betale for
528 bruksrettigheter eller tilgang til konsulenter. Men arkivering blir
529 ikke gratis på grunn av Nikita. Det trengs fortsatt folk med
530 kompetanse og tid til å ta i bruk Nikita.</p>
531
532 <p>Nikita har nylig kommet med en ny utgave, den sjette i rekken.
533 Systemet er ikke ferdig, mest på grunn av at API-spesifikasjonen for
534 Noark 5 Tjenestegrensesnitt ikke er ferdig, men allerede i dag kan en
535 bruke Nikita som arkiv. Vi har laget eksempelsystem for å importere
536 data fra deponi-XML og slik gjøre eksisterende arkivdata tilgjengelig
537 via et API. Vi har også laget en testklient som importerer epost inn
538 i arkivet med vedlegg der epostenes trådinformasjon brukes til å legge
539 eposttråder i samme arkivmappe, og en annen testklient som henter
540 epost ut av en arkivmappe på mbox-format slik at en vanlig epostklient
541 kan brukes til å lese igjennom og svare på epostene i en
542 arkivmappe. De som vil ta en titt på Nikita kan besøke
543 <a href="https://nikita.oslomet.no">https://nikita.oslomet.no</a> og
544 logge inn med brukernavn «admin@example.com» og passord «password».
545 Dette gir tilgang til det forenklede brukergrensesnittet som brukes
546 til undervisning. De som heller vil ta en titt under panseret kan
547 besøke
548 <a href="https://nikita.oslomet.no/browse.html">https://nikita.oslomet.no/browse.html</a>
549 og der se hvordan API-et fungerer mer i detalj. Innloggingsdetaljer
550 her er det samme som for brukergrensesnittet.</p>
551
552 <p>Fremover er fokuset på forbedring av spesifikasjonen Noark 5
553 Tjenestegrensesnitt. De som skrev tjenestegrensesnittet gjorde et
554 interessant og framtidsrettet grep, de skilte sak fra arkiv.
555 Tjenestegrensesnittet består av flere "pakker", der noen er
556 grunnleggende mens andre bygger på de grunnleggende pakkene. Pakkene
557 som er beskrevet så langt heter «arkivstruktur», «sakarkiv»,
558 «administrasjon», «loggogsporing» og «moeter» (dessverre
559 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/pull/120">planlagt
560 fjernet</a> i første utgave). Etter hvert håper vi å utforske
561 prosses- og metadatabeskrivelser til flere fagområder og bidra til at
562 tjenestegrensesnittet kan legge til flere pakker som «byggarkiv»,
563 «barnevern», «personal», «barnehage», der arkivfaglig metadata- og
564 dokumentasjonsbehov er kartlagt og standardisert.</p>
565
566 <p>Nikita utvikles av en liten prosjektgruppe, og vi er alltid
567 interessert å bli flere. Hvis en åpen, fri og standardisert tilnærming
568 til arkivering høres interessant ut, bli med oss på veien videre. Vi
569 er tilstede på IRC-kanalen #nikita hos FreeNode (tilgjengelig via
570 nettleser på
571 <a href="https://webchat.freenode.net?channels=#nikita">https://webchat.freenode.net?channels=#nikita</a>),
572 og har en e-postliste nikita-noark@nuug.no hos NUUG (tilgjengelig for
573 påmelding og arkiv på
574 <a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">https://lists.nuug.no/mailman/listinfo/nikita-noark</a>)
575 der en kan følge med eller være med oss på den spennende veien videre.
576 Spesifikasjonen for Noark 5 Tjenestegrensesnitt vedlikeholdes på
577 github,
578 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/</a>.</p>
579
580 <p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
581 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
582 til min adresse
583 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
584
585 </div>
586 <div class="tags">
587
588
589 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>.
590
591
592 </div>
593 </div>
594 <div class="padding"></div>
595
596 <div class="entry">
597 <div class="title">
598 <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>
599 </div>
600 <div class="date">
601 4th June 2019
602 </div>
603 <div class="body">
604 <p>Just 15 days ago,
605 <ahref="http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html">I
606 mentioned</a> my submission to IANA to register an official MIME type
607 for the SOSI vector map format. This morning, just an hour ago, I was
608 notified that
609 <a href="https://www.iana.org/assignments/media-types/text/vnd.sosi">the
610 MIME type "text/vnd.sosi"</a> is registered for this format. In
611 addition to this registration, my
612 <a href="https://github.com/file/file/blob/master/magic/Magdir/sosi">file(1)
613 patch for a pattern matching rule for SOSI files</a> has been accepted
614 into the official source of that program (pending a new release), and
615 I've been told by the team behind
616 <a href="https://www.nationalarchives.gov.uk/PRONOM/">PRONOM</a> that
617 the SOSI format will be included in the next release of PRONOM, which
618 they plan to release this summer around July.</p>
619
620 <p>I am very happy to see all of this fall into place, for use by
621 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">the
622 Noark 5 Tjenestegrensesnitt</a> implementations.</p>
623
624 <p>As usual, if you use Bitcoin and want to show your support of my
625 activities, please send Bitcoin donations to my address
626 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
627
628 </div>
629 <div class="tags">
630
631
632 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>.
633
634
635 </div>
636 </div>
637 <div class="padding"></div>
638
639 <div class="entry">
640 <div class="title">
641 <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>
642 </div>
643 <div class="date">
644 22nd May 2019
645 </div>
646 <div class="body">
647 <p>This morning, a new release of
648 <a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
649 Noark 5 core project</a> was
650 <a href="https://lists.nuug.no/pipermail/nikita-noark/2019-May/000468.html">announced
651 on the project mailing list</a>. The Nikita free software solution is
652 an implementation of the Norwegian archive standard Noark 5 used by
653 government offices in Norway. These were the changes in version 0.4
654 since version 0.3, see the email link above for links to a demo site:</p>
655
656 <ul>
657
658 <li>Roll out OData handling to all endpoints where applicable</li>
659 <li>Changed the relation key for "ny-journalpost" to the official one.</li>
660 <li>Better link generation on outgoing links.</li>
661 <li>Tidy up code and make code and approaches more consistent throughout
662 the codebase</li>
663 <li>Update rels to be in compliance with updated version in the
664 interface standard</li>
665 <li>Avoid printing links on empty objects as they can't have links</li>
666 <li>Small bug fixes and improvements</li>
667 <li>Start moving generation of outgoing links to @Service layer so access
668 control can be used when generating links</li>
669 <li>Log exception that was being swallowed so it's traceable</li>
670 <li>Fix name mapping problem</li>
671 <li>Update templated printing so templated should only be printed if it
672 is set true. Requires more work to roll out across entire
673 application.</li>
674 <li>Remove Record->DocumentObject as per domain model of n5v4</li>
675 <li>Add ability to delete lists filtered with OData</li>
676 <li>Return NO_CONTENT (204) on delete as per interface standard</li>
677 <li>Introduce support for ConstraintViolationException exception</li>
678 <li>Make Service classes extend NoarkService</li>
679 <li>Make code base respect X-Forwarded-Host, X-Forwarded-Proto and
680 X-Forwarded-Port</li>
681 <li>Update CorrespondencePart* code to be more in line with Single
682 Responsibility Principle</li>
683 <li>Make package name follow directory structure</li>
684 <li>Make sure Document number starts at 1, not 0</li>
685 <li>Fix isues discovered by FindBugs</li>
686 <li>Update from Date to ZonedDateTime</li>
687 <li>Fix wrong tablename</li>
688 <li>Introduce Service layer tests</li>
689 <li>Improvements to CorrespondencePart</li>
690 <li>Continued work on Class / Classificationsystem</li>
691 <li>Fix feature where authors were stored as storageLocations</li>
692 <li>Update HQL builder for OData</li>
693 <li>Update OData search capability from webpage</li>
694
695 </ul>
696
697 <p>If free and open standardized archiving API sound interesting to
698 you, please contact us on IRC
699 (<a href="irc://irc.freenode.net/%23nikita">#nikita on
700 irc.freenode.net</a>) or email
701 (<a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
702 mailing list</a>).</p>
703
704 <p>As usual, if you use Bitcoin and want to show your support of my
705 activities, please send Bitcoin donations to my address
706 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
707
708 </div>
709 <div class="tags">
710
711
712 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>.
713
714
715 </div>
716 </div>
717 <div class="padding"></div>
718
719 <div class="entry">
720 <div class="title">
721 <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>
722 </div>
723 <div class="date">
724 20th May 2019
725 </div>
726 <div class="body">
727 <p>As part of my involvement in the work to
728 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard">standardise
729 a REST based API for Noark 5</a>, the Norwegian archiving standard, I
730 spent some time the last few months to try to register a
731 <a href="https://www.iana.org/assignments/media-types/">MIME type</a>
732 and <a href="https://www.nationalarchives.gov.uk/PRONOM/">PRONOM
733 code</a> for the SOSI file format. The background is that there is a
734 set of formats approved for long term storage and archiving in Norway,
735 and among these formats, SOSI is the only format missing a MIME type
736 and PRONOM code.</p>
737
738 <p>What is SOSI, you might ask? To quote Wikipedia: SOSI is short for
739 Samordnet Opplegg for Stedfestet Informasjon (literally "Coordinated
740 Approach for Spatial Information", but more commonly expanded in
741 English to Systematic Organization of Spatial Information). It is a
742 text based file format for geo-spatial vector information used in
743 Norway. Information about the SOSI format can be found in English
744 from <a href="https://en.wikipedia.org/wiki/SOSI">Wikipedia</a>. The
745 specification is available in Norwegian from
746 <a href="https://www.kartverket.no/geodataarbeid/Standarder/SOSI/">the
747 Norwegian mapping authority</a>. The SOSI standard, which originated
748 in the beginning of nineteen eighties, was the inspiration and formed the
749 basis for the XML based
750 <a href="https://en.wikipedia.org/wiki/Geography_Markup_Language">Geography
751 Markup Language</a>.</p>
752
753 <p>I have so far written
754 <a href="https://github.com/file/file/pull/67">a pattern matching
755 rule</a> for the file(1) unix tool to recognize SOSI files, submitted
756 a request to the PRONOM project to have a PRONOM ID assigned to the
757 format (reference TNA1555078202S60), and today send a request to IANA
758 to register the "text/vnd.sosi" MIME type for this format (referanse
759 <a href="https://tools.iana.org/public-view/viewticket/1143144">IANA
760 #1143144</a>). If all goes well, in a few months, anyone implementing
761 the Noark 5 Tjenestegrensesnitt API spesification should be able to
762 use an official MIME type and PRONOM code for SOSI files. In
763 addition, anyone using SOSI files on Linux should be able to
764 automatically recognise the format and web sites handing out SOSI
765 files can begin providing a more specific MIME type. So far, SOSI
766 files has been handed out from web sites using the
767 "application/octet-stream" MIME type, which is just a nice way of
768 stating "I do not know". Soon, we will know. :)</p>
769
770 <p>As usual, if you use Bitcoin and want to show your support of my
771 activities, please send Bitcoin donations to my address
772 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
773
774 </div>
775 <div class="tags">
776
777
778 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>.
779
780
781 </div>
782 </div>
783 <div class="padding"></div>
784
785 <div class="entry">
786 <div class="title">
787 <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>
788 </div>
789 <div class="date">
790 25th March 2019
791 </div>
792 <div class="body">
793 <p>As part of my involvement with the
794 <a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
795 Noark 5 core project</a>, I have been proposing improvements to the
796 API specification created by <a href="https://www.arkivverket.no/">The
797 National Archives of Norway</a> and helped migrating the text from a
798 version control system unfriendly binary format (docx) to Markdown in
799 git. Combined with the migration to a public git repository (on
800 github), this has made it possible for anyone to suggest improvement
801 to the text.</p>
802
803 <p>The specification is filled with UML diagrams. I believe the
804 original diagrams were modelled using Sparx Systems Enterprise
805 Architect, and exported as EMF files for import into docx. This
806 approach make it very hard to track changes using a version control
807 system. To improve the situation I have been looking for a good text
808 based UML format with associated command line free software tools on
809 Linux and Windows, to allow anyone to send in corrections to the UML
810 diagrams in the specification. The tool must be text based to work
811 with git, and command line to be able to run it automatically to
812 generate the diagram images. Finally, it must be free software to
813 allow anyone, even those that can not accept a non-free software
814 license, to contribute.</p>
815
816 <p>I did not know much about free software UML modelling tools when I
817 started. I have used dia and inkscape for simple modelling in the
818 past, but neither are available on Windows, as far as I could tell. I
819 came across a nice
820 <a href="https://modeling-languages.com/text-uml-tools-complete-list/">list
821 of text mode uml tools</a>, and tested out a few of the tools listed
822 there. <a href="http://plantuml.com/">The PlantUML tool</a> seemed
823 most promising. After verifying that the packages
824 <a href="https://tracker.debian.org/pkg/plantuml">is available in
825 Debian</a> and found <a href="https://github.com/plantuml/plantuml">its
826 Java source</a> under a GPL license on github, I set out to test if it
827 could represent the diagrams we needed, ie the ones currently in
828 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">the
829 Noark 5 Tjenestegrensesnitt specification</a>. I am happy to report
830 that it could represent them, even thought it have a few warts here
831 and there.</p>
832
833 <p>After a few days of modelling I completed the task this weekend. A
834 temporary link to the complete set of diagrams (original and from
835 PlantUML) is available in
836 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/76">the
837 github issue discussing the need for a text based UML format</a>, but
838 please note I lack a sensible tool to convert EMF files to PNGs, so
839 the "original" rendering is not as good as the original was in the
840 publised PDF.</p>
841
842 <p>Here is an example UML diagram, showing the core classes for
843 keeping metadata about archived documents:</p>
844
845 <pre>
846 @startuml
847 skinparam classAttributeIconSize 0
848
849 !include media/uml-class-arkivskaper.iuml
850 !include media/uml-class-arkiv.iuml
851 !include media/uml-class-klassifikasjonssystem.iuml
852 !include media/uml-class-klasse.iuml
853 !include media/uml-class-arkivdel.iuml
854 !include media/uml-class-mappe.iuml
855 !include media/uml-class-merknad.iuml
856 !include media/uml-class-registrering.iuml
857 !include media/uml-class-basisregistrering.iuml
858 !include media/uml-class-dokumentbeskrivelse.iuml
859 !include media/uml-class-dokumentobjekt.iuml
860 !include media/uml-class-konvertering.iuml
861 !include media/uml-datatype-elektronisksignatur.iuml
862
863 Arkivstruktur.Arkivskaper "+arkivskaper 1..*" <-o "+arkiv 0..*" Arkivstruktur.Arkiv
864 Arkivstruktur.Arkiv o--> "+underarkiv 0..*" Arkivstruktur.Arkiv
865 Arkivstruktur.Arkiv "+arkiv 1" o--> "+arkivdel 0..*" Arkivstruktur.Arkivdel
866 Arkivstruktur.Klassifikasjonssystem "+klassifikasjonssystem [0..1]" <--o "+arkivdel 1..*" Arkivstruktur.Arkivdel
867 Arkivstruktur.Klassifikasjonssystem "+klassifikasjonssystem [0..1]" o--> "+klasse 0..*" Arkivstruktur.Klasse
868 Arkivstruktur.Arkivdel "+arkivdel 0..1" o--> "+mappe 0..*" Arkivstruktur.Mappe
869 Arkivstruktur.Arkivdel "+arkivdel 0..1" o--> "+registrering 0..*" Arkivstruktur.Registrering
870 Arkivstruktur.Klasse "+klasse 0..1" o--> "+mappe 0..*" Arkivstruktur.Mappe
871 Arkivstruktur.Klasse "+klasse 0..1" o--> "+registrering 0..*" Arkivstruktur.Registrering
872 Arkivstruktur.Mappe --> "+undermappe 0..*" Arkivstruktur.Mappe
873 Arkivstruktur.Mappe "+mappe 0..1" o--> "+registrering 0..*" Arkivstruktur.Registrering
874 Arkivstruktur.Merknad "+merknad 0..*" <--* Arkivstruktur.Mappe
875 Arkivstruktur.Merknad "+merknad 0..*" <--* Arkivstruktur.Dokumentbeskrivelse
876 Arkivstruktur.Basisregistrering -|> Arkivstruktur.Registrering
877 Arkivstruktur.Merknad "+merknad 0..*" <--* Arkivstruktur.Basisregistrering
878 Arkivstruktur.Registrering "+registrering 1..*" o--> "+dokumentbeskrivelse 0..*" Arkivstruktur.Dokumentbeskrivelse
879 Arkivstruktur.Dokumentbeskrivelse "+dokumentbeskrivelse 1" o-> "+dokumentobjekt 0..*" Arkivstruktur.Dokumentobjekt
880 Arkivstruktur.Dokumentobjekt *-> "+konvertering 0..*" Arkivstruktur.Konvertering
881 Arkivstruktur.ElektroniskSignatur -[hidden]-> Arkivstruktur.Dokumentobjekt
882 @enduml
883 </pre>
884
885 <p><a href="http://plantuml.com/class-diagram">The format</a> is quite
886 compact, with little redundant information. The text expresses
887 entities and relations, and there is little layout related fluff. One
888 can reuse content by using include files, allowing for consistent
889 naming across several diagrams. The include files can be standalone
890 PlantUML too. Here is the content of
891 <tt>media/uml-class-arkivskaper.iuml</tt>:</p>
892
893 <pre>
894 @startuml
895 class Arkivstruktur.Arkivskaper <Arkivenhet> {
896 +arkivskaperID : string
897 +arkivskaperNavn : string
898 +beskrivelse : string [0..1]
899 }
900 @enduml
901 </pre>
902
903 <p>This is what the complete diagram for the PlantUML notation above
904 look like:</p>
905
906 <p><img width="80%" src="http://people.skolelinux.org/pere/blog/images/2019-03-25-noark5-plantuml-diagrameksempel.png"></p>
907
908 <p>A cool feature of PlantUML is that the generated PNG files include
909 the entire original source diagram as text. The source (with include
910 statements expanded) can be extracted using for example
911 <tt>exiftool</tt>. Another cool feature is that parts of the entities
912 can be hidden after inclusion. This allow to use include files with
913 all attributes listed, even for UML diagrams that should not list any
914 attributes.</p>
915
916 <p>The diagram also show some of the warts. Some times the layout
917 engine place text labels on top of each other, and some times it place
918 the class boxes too close to each other, not leaving room for the
919 labels on the relationship arrows. The former can be worked around by
920 placing extra newlines in the labes (ie "\n"). I did not do it here
921 to be able to demonstrate the issue. I have not found a good way
922 around the latter, so I normally try to reduce the problem by changing
923 from vertical to horizontal links to improve the layout.</p>
924
925 <p>All in all, I am quite happy with PlantUML, and very impressed with
926 how quickly its lead developer responds to questions. So far I got an
927 answer to my questions in a few hours when I send an email. I
928 definitely recommend looking at PlantUML if you need to make UML
929 diagrams. Note, PlantUML can draw a lot more than class relations.
930 Check out the documention for a complete list. :)</p>
931
932 <p>As usual, if you use Bitcoin and want to show your support of my
933 activities, please send Bitcoin donations to my address
934 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
935
936 </div>
937 <div class="tags">
938
939
940 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>.
941
942
943 </div>
944 </div>
945 <div class="padding"></div>
946
947 <div class="entry">
948 <div class="title">
949 <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>
950 </div>
951 <div class="date">
952 24th March 2019
953 </div>
954 <div class="body">
955 <p>Yesterday, a new release of
956 <a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
957 Noark 5 core project</a> was
958 <a href="https://lists.nuug.no/pipermail/nikita-noark/2019-March/000451.html">announced
959 on the project mailing list</a>. The free software solution is an
960 implementation of the Norwegian archive standard Noark 5 used by
961 government offices in Norway. These were the changes in version 0.3
962 since version 0.2.1 (from NEWS.md):</p>
963
964 <ul>
965 <li>Improved ClassificationSystem and Class behaviour.</li>
966 <li>Tidied up known inconsistencies between domain model and hateaos links.</li>
967 <li>Added experimental code for blockchain integration. </li>
968 <li>Make token expiry time configurable at upstart from properties file.</li>
969 <li>Continued work on OData search syntax.</li>
970 <li>Started work on pagination for entities, partly implemented for Saksmappe.</li>
971 <li>Finalise ClassifiedCode Metadata entity.</li>
972 <li>Implement mechanism to check if authentication token is still
973 valid. This allow the GUI to return a more sensible message to the
974 user if the token is expired.</li>
975 <li>Reintroduce browse.html page to allow user to browse JSON API using
976 hateoas links.</li>
977 <li>Fix bug in handling file/mappe sequence number. Year change was
978 not properly handled.</li>
979 <li>Update application yml files to be in sync with current development.</li>
980 <li>Stop 'converting' everything to PDF using libreoffice. Only
981 convert the file formats doc, ppt, xls, docx, pptx, xlsx, odt, odp
982 and ods.</li>
983 <li>Continued code style fixing, making code more readable.</li>
984 <li>Minor bug fixes.</li>
985
986 </ul>
987
988 <p>If free and open standardized archiving API sound interesting to
989 you, please contact us on IRC
990 (<a href="irc://irc.freenode.net/%23nikita">#nikita on
991 irc.freenode.net</a>) or email
992 (<a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
993 mailing list</a>).</p>
994
995 <p>As usual, if you use Bitcoin and want to show your support of my
996 activities, please send Bitcoin donations to my address
997 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
998
999 </div>
1000 <div class="tags">
1001
1002
1003 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/noark5">noark5</a>, <a href="http://people.skolelinux.org/pere/blog/tags/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>.
1004
1005
1006 </div>
1007 </div>
1008 <div class="padding"></div>
1009
1010 <div class="entry">
1011 <div class="title">
1012 <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>
1013 </div>
1014 <div class="date">
1015 11th March 2019
1016 </div>
1017 <div class="body">
1018 <p>Et virksomhetsarkiv for meg, er et arbeidsverktøy der en enkelt kan
1019 finne informasjonen en trenger når en trenger det, og der
1020 virksomhetens samlede kunnskap er tilgjengelig. Det må være greit å
1021 finne frem i, litt som en bibliotek. Men der et bibliotek gjerne tar
1022 vare på offentliggjort informasjon som er tilgjengelig flere steder,
1023 tar et arkiv vare på virksomhetsintern og til tider personlig
1024 informasjon som ofte kun er tilgjengelig fra et sted.</p>
1025
1026 <p>Jeg mistenker den eneste måten å sikre at arkivet inneholder den
1027 samlede kunnskapen i en virksomhet, er å bruke det som virksomhetens
1028 kunnskapslager. Det innebærer å automatisk kopiere (brev, epost,
1029 SMS-er etc) inn i arkivet når de sendes og mottas, og der filtrere
1030 vekk det en ikke vil ta vare på, og legge på metadata om det som er
1031 samlet inn for enkel gjenfinning. En slik bruk av arkivet innebærer at
1032 arkivet er en del av daglig virke, ikke at det er siste hvilested for
1033 informasjon ingen lenger har daglig bruk for. For å kunne være en del
1034 av det daglige virket må arkivet enkelt kunne integreres med andre
1035 systemer. I disse dager betyr det å tilby arkivet som en
1036 nett-tjeneste til hele virksomheten, tilgjengelig for både mennesker
1037 og datamaskiner. Det betyr i tur å både tilby nettsider og et
1038 maskinlesbart grensesnitt.</p>
1039
1040 <p>For noen år siden erkjente visjonære arkivarer fordelene med et
1041 standardisert maskinlesbart grensesnitt til organisasjonens arkiv. De
1042 gikk igang med å lage noe de kalte
1043 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">Noark
1044 5 Tjenestegrensesnitt</a>. Gjort riktig, så åpner slike maskinlesbare
1045 grensesnitt for samvirke på tvers av uavhengige programvaresystemer.
1046 Gjort feil, vil det blokkere for samvirke og bidra til
1047 leverandørinnlåsing. For å gjøre det riktig så må grensesnittet være
1048 klart og entydig beskrevet i en spesifikasjon som gjør at
1049 spesifikasjonen tolkes på samme måte uavhengig av hvem som leser den,
1050 og uavhengig av hvem som tar den i bruk.</p>
1051
1052 <p>For å oppnå klare og entydige beskrivelser i en spesifikasjon, som
1053 trengs for å kunne få en fri og åpen standard (se
1054 <a href="http://people.skolelinux.org/pere/blog/Fri_og__pen_standard__slik_Digistan_ser_det.html">Digistan-definisjon</a>),
1055 så trengs det en åpen og gjennomsiktig inngangsport med lav terskel,
1056 der de som forsøker å ta den i bruk enkelt kan få inn korreksjoner,
1057 etterlyse klargjøringer og rapportere uklarheter i spesifikasjonen.
1058 En trenger også automatiserte datasystemer som måler og sjekker at et
1059 gitt grensesnitt fungerer i tråd med spesifikasjonen.</p>
1060
1061 <p>For Noark 5 Tjenestegrensesnittet er det nå etablert en slik åpen
1062 og gjennomsiktig inngangsport på prosjekttjenesten github. Denne
1063 inngangsporten består først og fremst av en åpen portal som lar enhver
1064 se hva som er gjort av endringer i spesifikasjonsteksten over tid, men
1065 det hører også med et åpent &quot;diskusjonsforum&quot; der en kan
1066 komme med endringsforslag og forespørsler om klargjøringer. Alle
1067 registrerte brukere på github kan bidra med innspill til disse
1068 henvendelsene.</p>
1069
1070 <p>I samarbeide med Arkivverket har jeg fått opprettet et git-depot
1071 med spesifikasjonsteksten for tjenestegrensesnittet, der det er lagt
1072 inn historikk for endringer i teksten de siste årene, samt lagt inn
1073 endringsforslag og forespørsler om klargjøring av teksten. Bakgrunnen
1074 for at jeg bidro med dette er at jeg er involvert i
1075 <a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core">Nikita-prosjektet</a>,
1076 som lager en fri programvare-utgave av Noark 5 Tjenestegrensesnitt.
1077 Det er først når en forsøker å lage noe i tråd med en spesifikasjon at
1078 en oppdager hvor mange detaljer som må beskrives i spesifikasjonen for
1079 å sikre samhandling.</p>
1080
1081 <p>Spesifikasjonen vedlikeholdes i et rent tekstformat, for å ha et
1082 format egnet for versjonskontroll via versjontrollsystemet git. Dette
1083 gjør det både enkelt å se konkret hvilke endringer som er gjort når,
1084 samt gjør det praktisk mulig for enhver med github-konto å sende inn
1085 endringsforslag med formuleringer til spesifikasjonsteksten. Dette
1086 tekstformatet vises frem som nettsider på github, slik at en ikke
1087 trenger spesielle verktøy for å se på siste utgave av
1088 spesifikasjonen.</p>
1089
1090 <p>Fra dette rene tekstformatet kan det så avledes ulike formater, som
1091 HTML for websider, PDF for utskrift på papir og ePub for lesing med
1092 ebokleser. Avlednings-systemet (byggesystemet) bruker i dag
1093 verktøyene pandoc, latex, docbook-xsl og GNU make til
1094 transformasjonen. Tekstformatet som brukes dag er
1095 <a href="https://www.markdownguide.org/">Markdown</a>, men det vurderes
1096 å
1097 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/9">endre
1098 til formatet RST</a> i fremtiden for bedre styring av utseende på
1099 PDF-utgaven.</p>
1100
1101 <p>Versjonskontrollsystemet git ble valgt da det er både fleksibelt,
1102 avansert og enkelt å ta i bruk. Github ble valgt (foran f.eks. Gitlab
1103 som vi bruker i Nikita), da Arkivverket allerede hadde tatt i bruk
1104 Github i andre sammenhenger.</p>
1105
1106 <p>Enkle endringer i teksten kan gjøres av priviligerte brukere
1107 direkte i nettsidene til Github, ved å finne aktuell fil som skal
1108 endres (f.eks. kapitler/03-konformitet.md), klikke på den lille
1109 bokstaven i høyre hjørne over teksten. Det kommer opp en nettside der
1110 en kan endre teksten slik en ønsker. Når en er fornøyd med endringen
1111 så må endringen &quot;sjekkes inn&quot; i historikken. Det gjøres ved
1112 å gi en kort beskrivelse av endringen (beskriv helst hvorfor endringen
1113 trengs, ikke hva som er endret), under overskriften &quot;Commit
1114 changes&quot;. En kan og bør legge inn en lengre forklaring i det
1115 større skrivefeltet, før en velger om endringen skal sendes direkte
1116 til 'master'-grenen (dvs. autorativ utgave av spesifikasjonen) eller
1117 om en skal lage en ny gren for denne endringen og opprette en
1118 endringsforespørsel (aka &quot;Pull Request&quot;/PR). Når alt dette
1119 er gjort kan en velge &quot;Commit changes&quot; for å sende inn
1120 endringen. Hvis den er lagt inn i &quot;master&quot;-grenen så er den
1121 en offisiell del av spesifikasjonen med en gang. Hvis den derimot er
1122 en endringsforespørsel, så legges den inn i
1123 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/pulls">listen
1124 over forslag til endringer</a> som venter på korrekturlesing og
1125 godkjenning.</p>
1126
1127 <p>Større endringer (for eksempel samtidig endringer i flere filer)
1128 gjøres enklest ved å hente ned en kopi av git-depoet lokalt og gjøre
1129 endringene der før endringsforslaget sendes inn. Denne prosessen er
1130 godt beskrivet i dokumentasjon fra github. Git-prosjektet som skal
1131 &quot;klones&quot; er
1132 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/</a>.</p>
1133
1134 <p>For å registrere nye utfordringer (issues) eller kommentere på
1135 eksisterende utfordringer benyttes nettsiden
1136 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues</a>.
1137 I skrivende stund er det 48 åpne og 11 avsluttede utfordringer. Et
1138 forslag til hva som bør være med når en beskriver en utfordring er
1139 tilgjengelig som utfordring
1140 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/14">#14</a>.</p>
1141
1142 <p>For å bygge en PDF-utgave av spesifikasjonen så bruker jeg i dag en
1143 Debian GNU/Linux-maskin med en rekke programpakker installert. Når
1144 dette er på plass, så holder det å kjøre kommandoen 'make pdf html' på
1145 kommandolinjen, vente ca. 20 sekunder, før spesifikasjon.pdf og
1146 spesifikasjon.html ligger klar på disken. Verktøyene for bygging av
1147 PDF, HTML og ePub-utgave er også tilgjengelig på Windows og
1148 MacOSX.</p>
1149
1150 <p>Github bidrar med rammeverket. Men for at åpent vedlikehold av
1151 spesifikasjonen skal fungere, så trengs det folk som bidrar med sin
1152 tid og kunnskap. Arkivverket har sagt de skal bidra med innspill og
1153 godkjenne forslag til endringer, men det blir størst suksess hvis alle
1154 som bruker og lager systemer basert på Noark 5 Tjenestegrensesnitt
1155 bidrar med sin kunnskap og kommer med forslag til forebedringer. Jeg
1156 stiller. Blir du med?</p>
1157
1158 <p>Det er viktig å legge til rette for åpen diskusjon blant alle
1159 interesserte, som ikke krever at en må godta lange kontrakter med
1160 vilkår for deltagelse. Inntil Arkivverket dukker opp på IRC har vi
1161 laget en IRC-kanal der interesserte enkelt kan orientere seg og
1162 diskutere tjenestegrensesnittet. Alle er velkommen til å ta turen
1163 innom
1164 <a href="https://webchat.freenode.net/?channels=nikita">#nikita</a>
1165 (f.eks. via irc.freenode.net) for å møte likesinnede.</p>
1166
1167 <p>Det holder dog ikke å ha en god spesifikasjon, hvis ikke de som tar
1168 den i bruk gjør en like god jobb. For å automatisk teste om et konkret
1169 tjenestegrensesnitt følger (min) forståelse av
1170 spesifikasjonsdokumentet, har jeg skrevet et program som kobler seg
1171 opp til et Noark 5v4 REST-tjeneste og tester alt den finner for å se
1172 om det er i henhold til min tolkning av spesifikasjonen. Dette
1173 verktøyet er tilgjengelig fra
1174 <a href="https://github.com/petterreinholdtsen/noark5-tester">https://github.com/petterreinholdtsen/noark5-tester</a>,
1175 og brukes daglig mens vi utvikler Nikita for å sikre at vi ikke
1176 introduserer nye feil. Hvis en skal sikre samvirke på tvers av ulike
1177 systemer er det helt essensielt å kunne raskt og automatisk sjekke at
1178 tjenestegrensesnittet oppfører seg som forventet. Jeg håper andre som
1179 lager sin utgave av tjenestegrensesnittet vi bruke dette verktøyet,
1180 slik at vi tidlig og raskt kan oppdage hvor vi har tolket
1181 spesifikasjonen ulikt, og dermed få et godt grunnlag for å gjøre
1182 spesifikasjonsteksten enda klarere og bedre.</p>
1183
1184 <p>Dagens beskrivelse av Noark 5 Tjenestegrensesnitt er et svært godt
1185 utgangspunkt for å gjøre virksomhetens arkiv til et dynamisk og
1186 sentralt arbeidsverktøy i organisasjonen. Blir du med å gjøre den
1187 enda bedre?</p>
1188
1189 </div>
1190 <div class="tags">
1191
1192
1193 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>.
1194
1195
1196 </div>
1197 </div>
1198 <div class="padding"></div>
1199
1200 <div class="entry">
1201 <div class="title">
1202 <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>
1203 </div>
1204 <div class="date">
1205 1st November 2018
1206 </div>
1207 <div class="body">
1208 <p>As part of my involvement in
1209 <a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core">the Nikita
1210 archive API project</a>, I've been importing a fairly large lump of
1211 emails into a test instance of the archive to see how well this would
1212 go. I picked a subset of <a href="https://notmuchmail.org/">my
1213 notmuch email database</a>, all public emails sent to me via
1214 @lists.debian.org, giving me a set of around 216 000 emails to import.
1215 In the process, I had a look at the various attachments included in
1216 these emails, to figure out what to do with attachments, and noticed
1217 that one of the most common attachment formats do not have
1218 <a href="https://www.iana.org/assignments/media-types/media-types.xhtml">an
1219 official MIME type</a> registered with IANA/IETF. The output from
1220 diff, ie the input for patch, is on the top 10 list of formats
1221 included in these emails. At the moment people seem to use either
1222 text/x-patch or text/x-diff, but neither is officially registered. It
1223 would be better if one official MIME type were registered and used
1224 everywhere.</p>
1225
1226 <p>To try to get one official MIME type for these files, I've brought
1227 up the topic on
1228 <a href="https://www.ietf.org/mailman/listinfo/media-types">the
1229 media-types mailing list</a>. If you are interested in discussion
1230 which MIME type to use as the official for patch files, or involved in
1231 making software using a MIME type for patches, perhaps you would like
1232 to join the discussion?</p>
1233
1234 <p>As usual, if you use Bitcoin and want to show your support of my
1235 activities, please send Bitcoin donations to my address
1236 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
1237
1238 </div>
1239 <div class="tags">
1240
1241
1242 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>.
1243
1244
1245 </div>
1246 </div>
1247 <div class="padding"></div>
1248
1249 <div class="entry">
1250 <div class="title">
1251 <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>
1252 </div>
1253 <div class="date">
1254 18th October 2018
1255 </div>
1256 <div class="body">
1257 <p>This morning, the new release of the
1258 <a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
1259 Noark 5 core project</a> was
1260 <a href="https://lists.nuug.no/pipermail/nikita-noark/2018-October/000406.html">announced
1261 on the project mailing list</a>. The free software solution is an
1262 implementation of the Norwegian archive standard Noark 5 used by
1263 government offices in Norway. These were the changes in version 0.2
1264 since version 0.1.1 (from NEWS.md):
1265
1266 <ul>
1267 <li>Fix typos in REL names</li>
1268 <li>Tidy up error message reporting</li>
1269 <li>Fix issue where we used Integer.valueOf(), not Integer.getInteger()</li>
1270 <li>Change some String handling to StringBuffer</li>
1271 <li>Fix error reporting</li>
1272 <li>Code tidy-up</li>
1273 <li>Fix issue using static non-synchronized SimpleDateFormat to avoid
1274 race conditions</li>
1275 <li>Fix problem where deserialisers were treating integers as strings</li>
1276 <li>Update methods to make them null-safe</li>
1277 <li>Fix many issues reported by coverity</li>
1278 <li>Improve equals(), compareTo() and hash() in domain model</li>
1279 <li>Improvements to the domain model for metadata classes</li>
1280 <li>Fix CORS issues when downloading document</li>
1281 <li>Implementation of case-handling with registryEntry and document upload</li>
1282 <li>Better support in Javascript for OPTIONS</li>
1283 <li>Adding concept description of mail integration</li>
1284 <li>Improve setting of default values for GET on ny-journalpost</li>
1285 <li>Better handling of required values during deserialisation </li>
1286 <li>Changed tilknyttetDato (M620) from date to dateTime</li>
1287 <li>Corrected some opprettetDato (M600) (de)serialisation errors.</li>
1288 <li>Improve parse error reporting.</li>
1289 <li>Started on OData search and filtering.</li>
1290 <li>Added Contributor Covenant Code of Conduct to project.</li>
1291 <li>Moved repository and project from Github to Gitlab.</li>
1292 <li>Restructured repository, moved code into src/ and web/.</li>
1293 <li>Updated code to use Spring Boot version 2.</li>
1294 <li>Added support for OAuth2 authentication.</li>
1295 <li>Fixed several bugs discovered by Coverity.</li>
1296 <li>Corrected handling of date/datetime fields.</li>
1297 <li>Improved error reporting when rejecting during deserializatoin.</li>
1298 <li>Adjusted default values provided for ny-arkivdel, ny-mappe,
1299 ny-saksmappe, ny-journalpost and ny-dokumentbeskrivelse.</li>
1300 <li>Several fixes for korrespondansepart*.</li>
1301 <li>Updated web GUI:
1302 <ul>
1303 <li>Now handle both file upload and download.</li>
1304 <li>Uses new OAuth2 authentication for login.</li>
1305 <li>Forms now fetches default values from API using GET.</li>
1306 <li>Added RFC 822 (email), TIFF and JPEG to list of possible file formats.</li>
1307 </ul></li>
1308 </ul>
1309
1310 <p>The changes and improvements are extensive. Running diffstat on
1311 the changes between git tab 0.1.1 and 0.2 show 1098 files changed,
1312 108666 insertions(+), 54066 deletions(-).</p>
1313
1314 <p>If free and open standardized archiving API sound interesting to
1315 you, please contact us on IRC
1316 (<a href="irc://irc.freenode.net/%23nikita">#nikita on
1317 irc.freenode.net</a>) or email
1318 (<a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
1319 mailing list</a>).</p>
1320
1321 <p>As usual, if you use Bitcoin and want to show your support of my
1322 activities, please send Bitcoin donations to my address
1323 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
1324
1325 </div>
1326 <div class="tags">
1327
1328
1329 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>.
1330
1331
1332 </div>
1333 </div>
1334 <div class="padding"></div>
1335
1336 <div class="entry">
1337 <div class="title">
1338 <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>
1339 </div>
1340 <div class="date">
1341 8th October 2018
1342 </div>
1343 <div class="body">
1344 <p>I have earlier covered the basics of trusted timestamping using the
1345 'openssl ts' client. See blog post for
1346 <a href="http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html">2014</a>,
1347 <a href="http://people.skolelinux.org/pere/blog/syslog_trusted_timestamp___chain_of_trusted_timestamps_for_your_syslog.html">2016</a>
1348 and
1349 <a href="http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html">2017</a>
1350 for those stories. But some times I want to integrate the timestamping
1351 in other code, and recently I needed to integrate it into Python.
1352 After searching a bit, I found
1353 <a href="https://dev.entrouvert.org/projects/python-rfc3161">the
1354 rfc3161 library</a> which seemed like a good fit, but I soon
1355 discovered it only worked for python version 2, and I needed something
1356 that work with python version 3. Luckily I next came across
1357 <a href="https://github.com/trbs/rfc3161ng/">the rfc3161ng library</a>,
1358 a fork of the original rfc3161 library. Not only is it working with
1359 python 3, it have fixed a few of the bugs in the original library, and
1360 it has an active maintainer. I decided to wrap it up and make it
1361 <a href="https://tracker.debian.org/pkg/python-rfc3161ng">available in
1362 Debian</a>, and a few days ago it entered Debian unstable and testing.</p>
1363
1364 <p>Using the library is fairly straight forward. The only slightly
1365 problematic step is to fetch the required certificates to verify the
1366 timestamp. For some services it is straight forward, while for others
1367 I have not yet figured out how to do it. Here is a small standalone
1368 code example based on of the integration tests in the library code:</p>
1369
1370 <pre>
1371 #!/usr/bin/python3
1372
1373 """
1374
1375 Python 3 script demonstrating how to use the rfc3161ng module to
1376 get trusted timestamps.
1377
1378 The license of this code is the same as the license of the rfc3161ng
1379 library, ie MIT/BSD.
1380
1381 """
1382
1383 import os
1384 import pyasn1.codec.der
1385 import rfc3161ng
1386 import subprocess
1387 import tempfile
1388 import urllib.request
1389
1390 def store(f, data):
1391 f.write(data)
1392 f.flush()
1393 f.seek(0)
1394
1395 def fetch(url, f=None):
1396 response = urllib.request.urlopen(url)
1397 data = response.read()
1398 if f:
1399 store(f, data)
1400 return data
1401
1402 def main():
1403 with tempfile.NamedTemporaryFile() as cert_f,\
1404 tempfile.NamedTemporaryFile() as ca_f,\
1405 tempfile.NamedTemporaryFile() as msg_f,\
1406 tempfile.NamedTemporaryFile() as tsr_f:
1407
1408 # First fetch certificates used by service
1409 certificate_data = fetch('https://freetsa.org/files/tsa.crt', cert_f)
1410 ca_data_data = fetch('https://freetsa.org/files/cacert.pem', ca_f)
1411
1412 # Then timestamp the message
1413 timestamper = \
1414 rfc3161ng.RemoteTimestamper('http://freetsa.org/tsr',
1415 certificate=certificate_data)
1416 data = b"Python forever!\n"
1417 tsr = timestamper(data=data, return_tsr=True)
1418
1419 # Finally, convert message and response to something 'openssl ts' can verify
1420 store(msg_f, data)
1421 store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
1422 args = ["openssl", "ts", "-verify",
1423 "-data", msg_f.name,
1424 "-in", tsr_f.name,
1425 "-CAfile", ca_f.name,
1426 "-untrusted", cert_f.name]
1427 subprocess.check_call(args)
1428
1429 if '__main__' == __name__:
1430 main()
1431 </pre>
1432
1433 <p>The code fetches the required certificates, store them as temporary
1434 files, timestamp a simple message, store the message and timestamp to
1435 disk and ask 'openssl ts' to verify the timestamp. A timestamp is
1436 around 1.5 kiB in size, and should be fairly easy to store for future
1437 use.</p>
1438
1439 <p>As usual, if you use Bitcoin and want to show your support of my
1440 activities, please send Bitcoin donations to my address
1441 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
1442
1443 </div>
1444 <div class="tags">
1445
1446
1447 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>.
1448
1449
1450 </div>
1451 </div>
1452 <div class="padding"></div>
1453
1454 <div class="entry">
1455 <div class="title">
1456 <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>
1457 </div>
1458 <div class="date">
1459 10th June 2017
1460 </div>
1461 <div class="body">
1462 <p>I am very happy to report that the
1463 <a href="https://github.com/hiOA-ABI/nikita-noark5-core">Nikita Noark 5
1464 core project</a> tagged its second release today. The free software
1465 solution is an implementation of the Norwegian archive standard Noark
1466 5 used by government offices in Norway. These were the changes in
1467 version 0.1.1 since version 0.1.0 (from NEWS.md):
1468
1469 <ul>
1470
1471 <li>Continued work on the angularjs GUI, including document upload.</li>
1472 <li>Implemented correspondencepartPerson, correspondencepartUnit and
1473 correspondencepartInternal</li>
1474 <li>Applied for coverity coverage and started submitting code on
1475 regualr basis.</li>
1476 <li>Started fixing bugs reported by coverity</li>
1477 <li>Corrected and completed HATEOAS links to make sure entire API is
1478 available via URLs in _links.</li>
1479 <li>Corrected all relation URLs to use trailing slash.</li>
1480 <li>Add initial support for storing data in ElasticSearch.</li>
1481 <li>Now able to receive and store uploaded files in the archive.</li>
1482 <li>Changed JSON output for object lists to have relations in _links.</li>
1483 <li>Improve JSON output for empty object lists.</li>
1484 <li>Now uses correct MIME type application/vnd.noark5-v4+json.</li>
1485 <li>Added support for docker container images.</li>
1486 <li>Added simple API browser implemented in JavaScript/Angular.</li>
1487 <li>Started on archive client implemented in JavaScript/Angular.</li>
1488 <li>Started on prototype to show the public mail journal.</li>
1489 <li>Improved performance by disabling Sprint FileWatcher.</li>
1490 <li>Added support for 'arkivskaper', 'saksmappe' and 'journalpost'.</li>
1491 <li>Added support for some metadata codelists.</li>
1492 <li>Added support for Cross-origin resource sharing (CORS).</li>
1493 <li>Changed login method from Basic Auth to JSON Web Token (RFC 7519)
1494 style.</li>
1495 <li>Added support for GET-ing ny-* URLs.</li>
1496 <li>Added support for modifying entities using PUT and eTag.</li>
1497 <li>Added support for returning XML output on request.</li>
1498 <li>Removed support for English field and class names, limiting ourself
1499 to the official names.</li>
1500 <li>...</li>
1501
1502 </ul>
1503
1504 <p>If this sound interesting to you, please contact us on IRC (#nikita
1505 on irc.freenode.net) or email
1506 (<a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
1507 mailing list).</p>
1508
1509 </div>
1510 <div class="tags">
1511
1512
1513 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>.
1514
1515
1516 </div>
1517 </div>
1518 <div class="padding"></div>
1519
1520 <div class="entry">
1521 <div class="title">
1522 <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>
1523 </div>
1524 <div class="date">
1525 7th June 2017
1526 </div>
1527 <div class="body">
1528 <p><em>This is a copy of
1529 <a href="https://lists.nuug.no/pipermail/nikita-noark/2017-June/000297.html">an
1530 email I posted to the nikita-noark mailing list</a>. Please follow up
1531 there if you would like to discuss this topic. The background is that
1532 we are making a free software archive system based on the Norwegian
1533 <a href="https://www.arkivverket.no/forvaltning-og-utvikling/regelverk-og-standarder/noark-standarden">Noark
1534 5 standard</a> for government archives.</em></p>
1535
1536 <p>I've been wondering a bit lately how trusted timestamps could be
1537 stored in Noark 5.
1538 <a href="https://en.wikipedia.org/wiki/Trusted_timestamping">Trusted
1539 timestamps</a> can be used to verify that some information
1540 (document/file/checksum/metadata) have not been changed since a
1541 specific time in the past. This is useful to verify the integrity of
1542 the documents in the archive.</p>
1543
1544 <p>Then it occured to me, perhaps the trusted timestamps could be
1545 stored as dokument variants (ie dokumentobjekt referered to from
1546 dokumentbeskrivelse) with the filename set to the hash it is
1547 stamping?</p>
1548
1549 <p>Given a "dokumentbeskrivelse" with an associated "dokumentobjekt",
1550 a new dokumentobjekt is associated with "dokumentbeskrivelse" with the
1551 same attributes as the stamped dokumentobjekt except these
1552 attributes:</p>
1553
1554 <ul>
1555
1556 <li>format -> "RFC3161"
1557 <li>mimeType -> "application/timestamp-reply"
1558 <li>formatDetaljer -> "&lt;source URL for timestamp service&gt;"
1559 <li>filenavn -> "&lt;sjekksum&gt;.tsr"
1560
1561 </ul>
1562
1563 <p>This assume a service following
1564 <a href="https://tools.ietf.org/html/rfc3161">IETF RFC 3161</a> is
1565 used, which specifiy the given MIME type for replies and the .tsr file
1566 ending for the content of such trusted timestamp. As far as I can
1567 tell from the Noark 5 specifications, it is OK to have several
1568 variants/renderings of a dokument attached to a given
1569 dokumentbeskrivelse objekt. It might be stretching it a bit to make
1570 some of these variants represent crypto-signatures useful for
1571 verifying the document integrity instead of representing the dokument
1572 itself.</p>
1573
1574 <p>Using the source of the service in formatDetaljer allow several
1575 timestamping services to be used. This is useful to spread the risk
1576 of key compromise over several organisations. It would only be a
1577 problem to trust the timestamps if all of the organisations are
1578 compromised.</p>
1579
1580 <p>The following oneliner on Linux can be used to generate the tsr
1581 file. $input is the path to the file to checksum, and $sha256 is the
1582 SHA-256 checksum of the file (ie the "<sjekksum>.tsr" value mentioned
1583 above).</p>
1584
1585 <p><blockquote><pre>
1586 openssl ts -query -data "$inputfile" -cert -sha256 -no_nonce \
1587 | curl -s -H "Content-Type: application/timestamp-query" \
1588 --data-binary "@-" http://zeitstempel.dfn.de > $sha256.tsr
1589 </pre></blockquote></p>
1590
1591 <p>To verify the timestamp, you first need to download the public key
1592 of the trusted timestamp service, for example using this command:</p>
1593
1594 <p><blockquote><pre>
1595 wget -O ca-cert.txt \
1596 https://pki.pca.dfn.de/global-services-ca/pub/cacert/chain.txt
1597 </pre></blockquote></p>
1598
1599 <p>Note, the public key should be stored alongside the timestamps in
1600 the archive to make sure it is also available 100 years from now. It
1601 is probably a good idea to standardise how and were to store such
1602 public keys, to make it easier to find for those trying to verify
1603 documents 100 or 1000 years from now. :)</p>
1604
1605 <p>The verification itself is a simple openssl command:</p>
1606
1607 <p><blockquote><pre>
1608 openssl ts -verify -data $inputfile -in $sha256.tsr \
1609 -CAfile ca-cert.txt -text
1610 </pre></blockquote></p>
1611
1612 <p>Is there any reason this approach would not work? Is it somehow against
1613 the Noark 5 specification?</p>
1614
1615 </div>
1616 <div class="tags">
1617
1618
1619 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>.
1620
1621
1622 </div>
1623 </div>
1624 <div class="padding"></div>
1625
1626 <div class="entry">
1627 <div class="title">
1628 <a href="http://people.skolelinux.org/pere/blog/Epost_inn_som_arkivformat_i_Riksarkivarens_forskrift_.html">Epost inn som arkivformat i Riksarkivarens forskrift?</a>
1629 </div>
1630 <div class="date">
1631 27th April 2017
1632 </div>
1633 <div class="body">
1634 <p>I disse dager, med frist 1. mai, har Riksarkivaren ute en høring på
1635 sin forskrift. Som en kan se er det ikke mye tid igjen før fristen
1636 som går ut på søndag. Denne forskriften er det som lister opp hvilke
1637 formater det er greit å arkivere i
1638 <a href="http://www.arkivverket.no/arkivverket/Offentleg-forvalting/Noark/Noark-5">Noark
1639 5-løsninger</a> i Norge.</p>
1640
1641 <p>Jeg fant høringsdokumentene hos
1642 <a href="https://www.arkivrad.no/aktuelt/riksarkivarens-forskrift-pa-horing">Norsk
1643 Arkivråd</a> etter å ha blitt tipset på epostlisten til
1644 <a href="https://github.com/hiOA-ABI/nikita-noark5-core">fri
1645 programvareprosjektet Nikita Noark5-Core</a>, som lager et Noark 5
1646 Tjenestegresesnitt. Jeg er involvert i Nikita-prosjektet og takket
1647 være min interesse for tjenestegrensesnittsprosjektet har jeg lest en
1648 god del Noark 5-relaterte dokumenter, og til min overraskelse oppdaget
1649 at standard epost ikke er på listen over godkjente formater som kan
1650 arkiveres. Høringen med frist søndag er en glimrende mulighet til å
1651 forsøke å gjøre noe med det. Jeg holder på med
1652 <a href="https://github.com/petterreinholdtsen/noark5-tester/blob/master/docs/hoering-arkivforskrift.tex">egen
1653 høringsuttalelse</a>, og lurer på om andre er interessert i å støtte
1654 forslaget om å tillate arkivering av epost som epost i arkivet.</p>
1655
1656 <p>Er du igang med å skrive egen høringsuttalelse allerede? I så fall
1657 kan du jo vurdere å ta med en formulering om epost-lagring. Jeg tror
1658 ikke det trengs så mye. Her et kort forslag til tekst:</p>
1659
1660 <p><blockquote>
1661
1662 <p>Viser til høring sendt ut 2017-02-17 (Riksarkivarens referanse
1663 2016/9840 HELHJO), og tillater oss å sende inn noen innspill om
1664 revisjon av Forskrift om utfyllende tekniske og arkivfaglige
1665 bestemmelser om behandling av offentlige arkiver (Riksarkivarens
1666 forskrift).</p>
1667
1668 <p>Svært mye av vår kommuikasjon foregår i dag på e-post.  Vi
1669 foreslår derfor at Internett-e-post, slik det er beskrevet i IETF
1670 RFC 5322,
1671 <a href="https://tools.ietf.org/html/rfc5322">https://tools.ietf.org/html/rfc5322</a>. bør
1672 inn som godkjent dokumentformat.  Vi foreslår at forskriftens
1673 oversikt over godkjente dokumentformater ved innlevering i § 5-16
1674 endres til å ta med Internett-e-post.</p>
1675
1676 </blockquote></p>
1677
1678 <p>Som del av arbeidet med tjenestegrensesnitt har vi testet hvordan
1679 epost kan lagres i en Noark 5-struktur, og holder på å skrive et
1680 forslag om hvordan dette kan gjøres som vil bli sendt over til
1681 arkivverket så snart det er ferdig. De som er interesserte kan
1682 <a href="https://github.com/petterreinholdtsen/noark5-tester/blob/master/docs/epostlagring.md">følge
1683 fremdriften på web</a>.</p>
1684
1685 <p>Oppdatering 2017-04-28: I dag ble høringuttalelsen jeg skrev
1686 <a href="https://www.nuug.no/news/NUUGs_h_ringuttalelse_til_Riksarkivarens_forskrift.shtml">sendt
1687 inn av foreningen NUUG</a>.</p>
1688
1689 </div>
1690 <div class="tags">
1691
1692
1693 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>.
1694
1695
1696 </div>
1697 </div>
1698 <div class="padding"></div>
1699
1700 <div class="entry">
1701 <div class="title">
1702 <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>
1703 </div>
1704 <div class="date">
1705 19th March 2017
1706 </div>
1707 <div class="body">
1708 <p>The <a href="https://github.com/hiOA-ABI/nikita-noark5-core">Nikita
1709 Noark 5 core project</a> is implementing the Norwegian standard for
1710 keeping an electronic archive of government documents.
1711 <a href="http://www.arkivverket.no/arkivverket/Offentlig-forvaltning/Noark/Noark-5/English-version">The
1712 Noark 5 standard</a> document the requirement for data systems used by
1713 the archives in the Norwegian government, and the Noark 5 web interface
1714 specification document a REST web service for storing, searching and
1715 retrieving documents and metadata in such archive. I've been involved
1716 in the project since a few weeks before Christmas, when the Norwegian
1717 Unix User Group
1718 <a href="https://www.nuug.no/news/NOARK5_kjerne_som_fri_programvare_f_r_epostliste_hos_NUUG.shtml">announced
1719 it supported the project</a>. I believe this is an important project,
1720 and hope it can make it possible for the government archives in the
1721 future to use free software to keep the archives we citizens depend
1722 on. But as I do not hold such archive myself, personally my first use
1723 case is to store and analyse public mail journal metadata published
1724 from the government. I find it useful to have a clear use case in
1725 mind when developing, to make sure the system scratches one of my
1726 itches.</p>
1727
1728 <p>If you would like to help make sure there is a free software
1729 alternatives for the archives, please join our IRC channel
1730 (<a href="irc://irc.freenode.net/%23nikita">#nikita on
1731 irc.freenode.net</a>) and
1732 <a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">the
1733 project mailing list</a>.</p>
1734
1735 <p>When I got involved, the web service could store metadata about
1736 documents. But a few weeks ago, a new milestone was reached when it
1737 became possible to store full text documents too. Yesterday, I
1738 completed an implementation of a command line tool
1739 <tt>archive-pdf</tt> to upload a PDF file to the archive using this
1740 API. The tool is very simple at the moment, and find existing
1741 <a href="https://en.wikipedia.org/wiki/Fonds">fonds</a>, series and
1742 files while asking the user to select which one to use if more than
1743 one exist. Once a file is identified, the PDF is associated with the
1744 file and uploaded, using the title extracted from the PDF itself. The
1745 process is fairly similar to visiting the archive, opening a cabinet,
1746 locating a file and storing a piece of paper in the archive. Here is
1747 a test run directly after populating the database with test data using
1748 our API tester:</p>
1749
1750 <p><blockquote><pre>
1751 ~/src//noark5-tester$ ./archive-pdf mangelmelding/mangler.pdf
1752 using arkiv: Title of the test fonds created 2017-03-18T23:49:32.103446
1753 using arkivdel: Title of the test series created 2017-03-18T23:49:32.103446
1754
1755 0 - Title of the test case file created 2017-03-18T23:49:32.103446
1756 1 - Title of the test file created 2017-03-18T23:49:32.103446
1757 Select which mappe you want (or search term): 0
1758 Uploading mangelmelding/mangler.pdf
1759 PDF title: Mangler i spesifikasjonsdokumentet for NOARK 5 Tjenestegrensesnitt
1760 File 2017/1: Title of the test case file created 2017-03-18T23:49:32.103446
1761 ~/src//noark5-tester$
1762 </pre></blockquote></p>
1763
1764 <p>You can see here how the fonds (arkiv) and serie (arkivdel) only had
1765 one option, while the user need to choose which file (mappe) to use
1766 among the two created by the API tester. The <tt>archive-pdf</tt>
1767 tool can be found in the git repository for the API tester.</p>
1768
1769 <p>In the project, I have been mostly working on
1770 <a href="https://github.com/petterreinholdtsen/noark5-tester">the API
1771 tester</a> so far, while getting to know the code base. The API
1772 tester currently use
1773 <a href="https://en.wikipedia.org/wiki/HATEOAS">the HATEOAS links</a>
1774 to traverse the entire exposed service API and verify that the exposed
1775 operations and objects match the specification, as well as trying to
1776 create objects holding metadata and uploading a simple XML file to
1777 store. The tester has proved very useful for finding flaws in our
1778 implementation, as well as flaws in the reference site and the
1779 specification.</p>
1780
1781 <p>The test document I uploaded is a summary of all the specification
1782 defects we have collected so far while implementing the web service.
1783 There are several unclear and conflicting parts of the specification,
1784 and we have
1785 <a href="https://github.com/petterreinholdtsen/noark5-tester/tree/master/mangelmelding">started
1786 writing down</a> the questions we get from implementing it. We use a
1787 format inspired by how <a href="http://www.opengroup.org/austin/">The
1788 Austin Group</a> collect defect reports for the POSIX standard with
1789 <a href="http://www.opengroup.org/austin/mantis.html">their
1790 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> :).
1791
1792 <p>The Nikita project is implemented using Java and Spring, and is
1793 fairly easy to get up and running using Docker containers for those
1794 that want to test the current code base. The API tester is
1795 implemented in Python.</p>
1796
1797 </div>
1798 <div class="tags">
1799
1800
1801 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>.
1802
1803
1804 </div>
1805 </div>
1806 <div class="padding"></div>
1807
1808 <div class="entry">
1809 <div class="title">
1810 <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>
1811 </div>
1812 <div class="date">
1813 29th January 2015
1814 </div>
1815 <div class="body">
1816 <p>En ting jeg har lurt på når det gjelder offentlige postjournaler,
1817 er hvor stor andel av det som ligger i de interne databasene kommer
1818 ikke med i postjournalen. Dette er det mulig å finne ut basert på det
1819 som ligger i postjournalen. For å forstå hva jeg mener, trengs det
1820 litt bakgrunnsinformasjon. I henhold til
1821 <a href="http://www.arkivverket.no/arkivverket/Offentleg-forvalting/Noark">NOARK-standarden</a>
1822 for norske offentlige arkiv skal enhver sak ha et årstall og et
1823 løpenummer, og ethvert dokument i saken skal gis et
1824 dokument-løpenummer. Det vil si at en ender opp med dokument-ID som
1825 ser ut som ÅÅÅÅ/SAKNR-DOKNR, f.eks. 2014/2-1 eller 2014/12312-14.
1826 Mange oppgir kun tosifret årstall, men prinsippet er det samme. Så
1827 vidt jeg vet skal saksnummer og dokumentnummer tildeles løpende og i
1828 stigende rekkefølge. Gitt en instans med følgende dokument-ID i
1829 postjournalen, så kan en regne ut hvor mye som ikke finnes i
1830 journalen:
1831
1832 <ul>
1833 <li>2014/2-1</li>
1834 <li>2014/5-1</li>
1835 <li>2014/5-3</li>
1836 </ul>
1837
1838 <p>Her ser en at saksnummer 2 og 5 finnes i postjournalen, mens
1839 nummerene 1, 3 og 4 mangler. En ser også at i sak 2014/5 mangler
1840 dokument 2. Ved hjelp av denne informasjonen har jeg regnet ut hvor
1841 stor andel av saksnummer og dokumentløpenummer som ikke har dukket opp
1842 i <a href="https://www.oep.no/">Offentlig Elektronisk Postjournal</a>
1843 (OEP). For saksnummer har jeg tatt utgangspunkt i at en ikke trenger
1844 å starte på 1, og dermed regnet med området fra laveste til høyeste
1845 saksnummer og talt antall unike saksnummer som forekommer i OEP. I
1846 dette tilfellet betyr de at 2 av 4 saksnummer er ubrukte (50%). For
1847 dokumentløpenummer har jeg tilsvarende tatt utgangspunkt i laveste og
1848 høyeste kjente dokumentløpenummer, for å handtere databaser der jeg
1849 mangler komplett postjournal. For sak 2014/5 her betyr det at 1 av 3
1850 dokumenter mangler (33%).</p>
1851
1852 <p>Det er flere årsaker til at det kan bli hull i nummerseriene.
1853 Feilføring der et dokument tildeles et nytt saksnummer ved en feil, og
1854 deretter flyttes inn i riktig sak vil gi et ubrukt saksnummer, da
1855 saksnummer skal tildeles i stigende rekkefølge og en ikke får opprette
1856 nye saker innimellom gamle saker. Tilsvarende kan skje med
1857 dokument-løpenummer. Det er jo heller ikke sikkert at et saksnummer i
1858 OEP er det samme som løpenummeret som brukes som saksnummeret i
1859 instansens interne datasystem. Kanskje snakker vi om ulike ontologier
1860 der en delmengde av interne saksnummer tilsvarer saksnummer i OEP.
1861 Hvis like nummer også tildeles andre ting enn saker som skal til OEP
1862 vil en tilsvarende få «hull» i saksnumrene i postjournalen.</p>
1863
1864 <p>Jeg er litt usikker på hva denne statistikken egentlig viser, og
1865 heller ikke sikker på om det er reelt sett mangler i OEP (som kanskje
1866 kunne anses å være kritikkverdig), bare er resultatet av hendelige
1867 uhell i nummertildelingen eller resultat av ulik ontologi i OEP og
1868 instansens datasystem. Men jeg syntes tallene og variasjonen var så
1869 interessant at jeg hadde lyst til å dele dem med mine lesere. Jeg har
1870 sortert listen på prosent upubliserte saksnummer for 2014.</p>
1871
1872 <table border="1">
1873 <tr><th colspan="6">Saksnummer</th><th colspan="3">Dokumentnummer</th><th rowspan="3">Instans</th></tr>
1874 <tr><th colspan="3">2014</th><th colspan="3">2013</th><th colspan="3">2014</th></tr>
1875 <tr><th>%</th><th>Upubl. saksnr.</th><th>Totalt</th>
1876 <th>%</th><th>Upubl. saksnr</th><th>Totalt</th>
1877 <th>%</th><th>Upubl. dok.nr.</th><th>Totalt</th>
1878 </tr>
1879
1880 <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>
1881 <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>
1882 <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>
1883 <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>
1884 <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>
1885 <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>
1886 <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>
1887 <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>
1888 <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>
1889 <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>
1890 <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>
1891 <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>
1892 <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>
1893 <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>
1894 <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>
1895 <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>
1896 <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>
1897 <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>
1898 <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>
1899 <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>
1900 <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>
1901 <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>
1902 <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>
1903 <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>
1904 <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>
1905 <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>
1906 <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>
1907 <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>
1908 <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>
1909 <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>
1910 <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>
1911 <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>
1912 <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>
1913 <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>
1914 <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>
1915 <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>
1916 <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>
1917 <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>
1918 <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>
1919 <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>
1920 <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>
1921 <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>
1922 <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>
1923 <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>
1924 <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>
1925 <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>
1926 <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>
1927 <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>
1928 <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>
1929 <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>
1930 <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>
1931 <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>
1932 <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>
1933 <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>
1934 <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>
1935 <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>
1936 <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>
1937 <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>
1938 <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>
1939 <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>
1940 <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>
1941 <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>
1942 <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>
1943 <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>
1944 <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>
1945 <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>
1946 <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>
1947 <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>
1948 <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>
1949 <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>
1950 <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>
1951 <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>
1952 <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>
1953 <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>
1954 <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>
1955 <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>
1956 <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>
1957 <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>
1958 <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>
1959 <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>
1960 <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>
1961 <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>
1962 <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>
1963 <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>
1964 <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>
1965 <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>
1966 <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>
1967 <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>
1968 <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>
1969 <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>
1970 <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>
1971 <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>
1972 <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>
1973 <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>
1974 <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>
1975 <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>
1976 <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>
1977 <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>
1978 <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>
1979 <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>
1980 <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>
1981 <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>
1982 <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>
1983 <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>
1984 <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>
1985 <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>
1986 <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>
1987 <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>
1988 <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>
1989 <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>
1990 <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>
1991 <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>
1992 <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>
1993 <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>
1994 <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>
1995 <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>
1996 <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>
1997 <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>
1998
1999 </table>
2000
2001 <p>Det kunne vært interessant å se hva som skjedde hvis en ba om
2002 innsyn i en dokument-ID som ikke finnes i OEP... :) Det hadde også
2003 vært interessant å få vite hva årsaken til at noen saksnummer ikke
2004 dukker opp i OEP der det er få og mange. Jeg mistenker jo at årsaken
2005 ikke er den samme hos Skattedirektoratet og hos Landinfo, selv om
2006 andelen upubliserte nummer er ganske lik.</p>
2007
2008 </div>
2009 <div class="tags">
2010
2011
2012 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>.
2013
2014
2015 </div>
2016 </div>
2017 <div class="padding"></div>
2018
2019 <div class="entry">
2020 <div class="title">
2021 <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>
2022 </div>
2023 <div class="date">
2024 7th March 2014
2025 </div>
2026 <div class="body">
2027 <p>For noen uker siden ble NXCs fri programvarelisenserte
2028 NOARK5-løsning
2029 <a href="http://www.nuug.no/aktiviteter/20140211-noark/">presentert hos
2030 NUUG</a> (video
2031 <a href="https://www.youtube.com/watch?v=JCb_dNS3MHQ">på youtube
2032 foreløbig</a>), og det fikk meg til å titte litt mer på NOARK5,
2033 standarden for arkivhåndtering i det offentlige Norge. Jeg lurer på
2034 om denne kjernen kan være nyttig i et par av mine prosjekter, og for ett
2035 av dem er det mest aktuelt å lagre epost. Jeg klarte ikke finne noen
2036 anbefaling om hvordan RFC 822-formattert epost (aka Internett-epost)
2037 burde lagres i NOARK5, selv om jeg vet at noen arkiver tar
2038 PDF-utskrift av eposten med sitt epostprogram og så arkiverer PDF-en
2039 (eller enda værre, tar papirutskrift og lagrer bildet av eposten som
2040 PDF i arkivet).</p>
2041
2042 <p>Det er ikke så mange formater som er akseptert av riksarkivet til
2043 langtidsoppbevaring av offentlige arkiver, og PDF og XML er de mest
2044 aktuelle i så måte. Det slo meg at det måtte da finnes en eller annen
2045 egnet XML-representasjon og at det kanskje var enighet om hvilken som
2046 burde brukes, så jeg tok mot til meg og spurte
2047 <a href="http://samdok.com/">SAMDOK</a>, en gruppe tilknyttet
2048 arkivverket som ser ut til å jobbe med NOARK-samhandling, om de hadde
2049 noen anbefalinger:
2050
2051 <p><blockquote>
2052 <p>Hei.</p>
2053
2054 <p>Usikker på om dette er riktig forum å ta opp mitt spørsmål, men jeg
2055 lurer på om det er definert en anbefaling om hvordan RFC
2056 822-formatterte epost (aka vanlig Internet-epost) bør lages håndteres
2057 i NOARK5, slik at en bevarer all informasjon i eposten
2058 (f.eks. Received-linjer). Finnes det en anbefalt XML-mapping ala den
2059 som beskrives på
2060 &lt;URL: <a href="https://www.informit.com/articles/article.aspx?p=32074">https://www.informit.com/articles/article.aspx?p=32074</a> &gt;? Mitt
2061 mål er at det skal være mulig å lagre eposten i en NOARK5-kjerne og
2062 kunne få ut en identisk formattert kopi av opprinnelig epost ved
2063 behov.</p>
2064 </blockquote></p>
2065
2066 <p>Postmottaker hos SAMDOK mente spørsmålet heller burde stilles
2067 direkte til riksarkivet, og jeg fikk i dag svar derfra formulert av
2068 seniorrådgiver Geir Ivar Tungesvik:</p>
2069
2070 <p><blockquote>
2071 <p>Riksarkivet har ingen anbefalinger når det gjelder konvertering fra
2072 e-post til XML. Det står arkivskaper fritt å eventuelt definere/bruke
2073 eget format. Inklusive da - som det spørres om - et format der det er
2074 mulig å re-etablere e-post format ut fra XML-en. XML (e-post)
2075 dokumenter må være referert i arkivstrukturen, og det må vedlegges et
2076 gyldig XML skjema (.xsd) for XML-filene. Arkivskaper står altså fritt
2077 til å gjøre hva de vil, bare det dokumenteres og det kan dannes et
2078 utrekk ved avlevering til depot.</p>
2079
2080 <p>De obligatoriske kravene i Noark 5 standarden må altså oppfylles -
2081 etter dialog med Riksarkivet i forbindelse med godkjenning. For
2082 offentlige arkiv er det særlig viktig med filene loependeJournal.xml
2083 og offentligJournal.xml. Private arkiv som vil forholde seg til Noark
2084 5 standarden er selvsagt frie til å bruke det som er relevant for dem
2085 av obligatoriske krav.</p>
2086 </blockquote></p>
2087
2088 <p>Det ser dermed ut for meg som om det er et lite behov for å
2089 standardisere XML-lagring av RFC-822-formatterte meldinger. Noen som
2090 vet om god spesifikasjon i så måte? I tillegg til den omtalt over,
2091 har jeg kommet over flere aktuelle beskrivelser (søk på "rfc 822
2092 xml", så finner du aktuelle alternativer).</p>
2093
2094 <ul>
2095
2096 <li><a href="http://www.openhealth.org/xmtp/">XML MIME Transformation
2097 protocol (XMTP)</a> fra OpenHealth, sist oppdatert 2001.</li>
2098
2099 <li><a href="https://tools.ietf.org/html/draft-klyne-message-rfc822-xml-03">An
2100 XML format for mail and other messages</a> utkast fra IETF datert
2101 2001.</li>
2102
2103 <li><a href="http://www.informit.com/articles/article.aspx?p=32074">xMail:
2104 E-mail as XML</a> en artikkel fra 2003 som beskriver python-modulen
2105 rfc822 som gir ut XML-representasjon av en RFC 822-formattert epost.</li>
2106
2107 </ul>
2108
2109 <p>Finnes det andre og bedre spesifikasjoner for slik lagring? Send
2110 meg en epost hvis du har innspill.</p>
2111
2112 </div>
2113 <div class="tags">
2114
2115
2116 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>.
2117
2118
2119 </div>
2120 </div>
2121 <div class="padding"></div>
2122
2123 <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>
2124 <div id="sidebar">
2125
2126
2127
2128 <h2>Archive</h2>
2129 <ul>
2130
2131 <li>2020
2132 <ul>
2133
2134 <li><a href="http://people.skolelinux.org/pere/blog/archive/2020/02/">February (2)</a></li>
2135
2136 <li><a href="http://people.skolelinux.org/pere/blog/archive/2020/03/">March (2)</a></li>
2137
2138 <li><a href="http://people.skolelinux.org/pere/blog/archive/2020/04/">April (2)</a></li>
2139
2140 <li><a href="http://people.skolelinux.org/pere/blog/archive/2020/05/">May (1)</a></li>
2141
2142 </ul></li>
2143
2144 <li>2019
2145 <ul>
2146
2147 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/01/">January (4)</a></li>
2148
2149 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/02/">February (3)</a></li>
2150
2151 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/03/">March (3)</a></li>
2152
2153 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/05/">May (2)</a></li>
2154
2155 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/06/">June (5)</a></li>
2156
2157 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/07/">July (2)</a></li>
2158
2159 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/08/">August (1)</a></li>
2160
2161 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/09/">September (1)</a></li>
2162
2163 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/11/">November (1)</a></li>
2164
2165 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/12/">December (4)</a></li>
2166
2167 </ul></li>
2168
2169 <li>2018
2170 <ul>
2171
2172 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/01/">January (1)</a></li>
2173
2174 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/02/">February (5)</a></li>
2175
2176 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/03/">March (5)</a></li>
2177
2178 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/04/">April (3)</a></li>
2179
2180 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/06/">June (2)</a></li>
2181
2182 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/07/">July (5)</a></li>
2183
2184 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/08/">August (3)</a></li>
2185
2186 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/09/">September (3)</a></li>
2187
2188 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/10/">October (5)</a></li>
2189
2190 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/11/">November (2)</a></li>
2191
2192 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/12/">December (4)</a></li>
2193
2194 </ul></li>
2195
2196 <li>2017
2197 <ul>
2198
2199 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/01/">January (4)</a></li>
2200
2201 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/02/">February (3)</a></li>
2202
2203 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/03/">March (5)</a></li>
2204
2205 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/04/">April (2)</a></li>
2206
2207 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/06/">June (5)</a></li>
2208
2209 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/07/">July (1)</a></li>
2210
2211 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/08/">August (1)</a></li>
2212
2213 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/09/">September (3)</a></li>
2214
2215 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/10/">October (5)</a></li>
2216
2217 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/11/">November (3)</a></li>
2218
2219 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/12/">December (4)</a></li>
2220
2221 </ul></li>
2222
2223 <li>2016
2224 <ul>
2225
2226 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/01/">January (3)</a></li>
2227
2228 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/02/">February (2)</a></li>
2229
2230 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/03/">March (3)</a></li>
2231
2232 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/04/">April (8)</a></li>
2233
2234 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/05/">May (8)</a></li>
2235
2236 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/06/">June (2)</a></li>
2237
2238 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/07/">July (2)</a></li>
2239
2240 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/08/">August (5)</a></li>
2241
2242 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/09/">September (2)</a></li>
2243
2244 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/10/">October (3)</a></li>
2245
2246 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/11/">November (8)</a></li>
2247
2248 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/12/">December (5)</a></li>
2249
2250 </ul></li>
2251
2252 <li>2015
2253 <ul>
2254
2255 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/01/">January (7)</a></li>
2256
2257 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/02/">February (6)</a></li>
2258
2259 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/03/">March (1)</a></li>
2260
2261 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/04/">April (4)</a></li>
2262
2263 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/05/">May (3)</a></li>
2264
2265 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/06/">June (4)</a></li>
2266
2267 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/07/">July (6)</a></li>
2268
2269 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/08/">August (2)</a></li>
2270
2271 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/09/">September (2)</a></li>
2272
2273 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/10/">October (9)</a></li>
2274
2275 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/11/">November (6)</a></li>
2276
2277 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/12/">December (3)</a></li>
2278
2279 </ul></li>
2280
2281 <li>2014
2282 <ul>
2283
2284 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
2285
2286 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
2287
2288 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
2289
2290 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
2291
2292 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
2293
2294 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
2295
2296 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
2297
2298 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
2299
2300 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
2301
2302 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/10/">October (6)</a></li>
2303
2304 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/11/">November (3)</a></li>
2305
2306 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/12/">December (5)</a></li>
2307
2308 </ul></li>
2309
2310 <li>2013
2311 <ul>
2312
2313 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
2314
2315 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
2316
2317 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
2318
2319 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
2320
2321 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
2322
2323 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
2324
2325 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
2326
2327 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
2328
2329 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
2330
2331 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
2332
2333 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
2334
2335 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
2336
2337 </ul></li>
2338
2339 <li>2012
2340 <ul>
2341
2342 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
2343
2344 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
2345
2346 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
2347
2348 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
2349
2350 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
2351
2352 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
2353
2354 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
2355
2356 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
2357
2358 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
2359
2360 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
2361
2362 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
2363
2364 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
2365
2366 </ul></li>
2367
2368 <li>2011
2369 <ul>
2370
2371 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
2372
2373 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
2374
2375 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
2376
2377 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
2378
2379 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
2380
2381 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
2382
2383 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
2384
2385 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
2386
2387 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
2388
2389 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
2390
2391 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
2392
2393 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
2394
2395 </ul></li>
2396
2397 <li>2010
2398 <ul>
2399
2400 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
2401
2402 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
2403
2404 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
2405
2406 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
2407
2408 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
2409
2410 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
2411
2412 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
2413
2414 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
2415
2416 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
2417
2418 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
2419
2420 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
2421
2422 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
2423
2424 </ul></li>
2425
2426 <li>2009
2427 <ul>
2428
2429 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
2430
2431 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
2432
2433 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
2434
2435 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
2436
2437 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
2438
2439 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
2440
2441 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
2442
2443 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
2444
2445 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
2446
2447 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
2448
2449 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
2450
2451 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
2452
2453 </ul></li>
2454
2455 <li>2008
2456 <ul>
2457
2458 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
2459
2460 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
2461
2462 </ul></li>
2463
2464 </ul>
2465
2466
2467
2468 <h2>Tags</h2>
2469 <ul>
2470
2471 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (16)</a></li>
2472
2473 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
2474
2475 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
2476
2477 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
2478
2479 <li><a href="http://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (8)</a></li>
2480
2481 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (11)</a></li>
2482
2483 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (17)</a></li>
2484
2485 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
2486
2487 <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
2488
2489 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (170)</a></li>
2490
2491 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (158)</a></li>
2492
2493 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (4)</a></li>
2494
2495 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (11)</a></li>
2496
2497 <li><a href="http://people.skolelinux.org/pere/blog/tags/dld">dld (17)</a></li>
2498
2499 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (26)</a></li>
2500
2501 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
2502
2503 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (415)</a></li>
2504
2505 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
2506
2507 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (14)</a></li>
2508
2509 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (34)</a></li>
2510
2511 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (9)</a></li>
2512
2513 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (20)</a></li>
2514
2515 <li><a href="http://people.skolelinux.org/pere/blog/tags/h264">h264 (20)</a></li>
2516
2517 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (42)</a></li>
2518
2519 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (16)</a></li>
2520
2521 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (22)</a></li>
2522
2523 <li><a href="http://people.skolelinux.org/pere/blog/tags/kodi">kodi (4)</a></li>
2524
2525 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
2526
2527 <li><a href="http://people.skolelinux.org/pere/blog/tags/lego">lego (4)</a></li>
2528
2529 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
2530
2531 <li><a href="http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
2532
2533 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
2534
2535 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
2536
2537 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (42)</a></li>
2538
2539 <li><a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (13)</a></li>
2540
2541 <li><a href="http://people.skolelinux.org/pere/blog/tags/noark5">noark5 (22)</a></li>
2542
2543 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (313)</a></li>
2544
2545 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (197)</a></li>
2546
2547 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (38)</a></li>
2548
2549 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
2550
2551 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (75)</a></li>
2552
2553 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (111)</a></li>
2554
2555 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (2)</a></li>
2556
2557 <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
2558
2559 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
2560
2561 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
2562
2563 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (12)</a></li>
2564
2565 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
2566
2567 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (7)</a></li>
2568
2569 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
2570
2571 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (57)</a></li>
2572
2573 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
2574
2575 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
2576
2577 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (70)</a></li>
2578
2579 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (7)</a></li>
2580
2581 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (12)</a></li>
2582
2583 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (59)</a></li>
2584
2585 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (4)</a></li>
2586
2587 <li><a href="http://people.skolelinux.org/pere/blog/tags/usenix">usenix (2)</a></li>
2588
2589 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (9)</a></li>
2590
2591 <li><a href="http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (17)</a></li>
2592
2593 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (73)</a></li>
2594
2595 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
2596
2597 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (42)</a></li>
2598
2599 </ul>
2600
2601
2602 </div>
2603 <p style="text-align: right">
2604 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
2605 </p>
2606
2607 </body>
2608 </html>