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