1 <?xml version=
"1.0" encoding=
"utf-8"?>
2 <rss version='
2.0' xmlns:lj='http://www.livejournal.org/rss/lj/
1.0/' xmlns:
atom=
"http://www.w3.org/2005/Atom">
4 <title>Petter Reinholdtsen
</title>
5 <description></description>
6 <link>http://people.skolelinux.org/pere/blog/
</link>
7 <atom:link href=
"http://people.skolelinux.org/pere/blog/index.rss" rel=
"self" type=
"application/rss+xml" />
10 <title>Oppdatert Noark
5 Tjenestegrenesnitt versjon
1.0 for Noark
5.5.0</title>
11 <link>http://people.skolelinux.org/pere/blog/Oppdatert_Noark_5_Tjenestegrenesnitt_versjon_1_0_for_Noark_5_5_0.html
</link>
12 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Oppdatert_Noark_5_Tjenestegrenesnitt_versjon_1_0_for_Noark_5_5_0.html
</guid>
13 <pubDate>Fri,
5 Jul
2019 17:
20:
00 +
0200</pubDate>
14 <description><p
>Jeg er veldig glad for å kunne fortelle at i går ble ny versjon av
15 <a href=
"https://www.arkivverket.no/forvaltning-og-utvikling/noark-standarden/noark-
5/tjenestegrensesnitt-noark5
">API-spesifikasjonen
16 for Noark
5 Tjenestegrensesnitt
</a
> gitt ut. Det så lenge mørkt ut
17 for sjansene for å få inn nødvendige korreksjoner i
18 spesifikasjonsteksten innen rimelig tid, men takket være intens og god
19 innsats fra Mona og Anne Sofie hos Arkivverket de siste ukene, så ble
20 resultatet som ble gitt ut på USAs frigjøringsdag mye bedre enn jeg
23 <p
>Spesifikasjonen er
24 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
">tilgjengelig
25 som markdown-filer i Arkivverkets github-prosjekt for dette
</a
>, og de
26 aller fleste av forslagene til forbedringer fra oss som holder på med
27 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core
">Nikita-prosjektet
</a
>
28 kom med i denne nye og oppdaterte spesifikasjonsteksten. Det er
29 fortsatt mye som gjenstår før den er entydig, klar og sikrer samvirke
30 på tvers av leverandører, men utgangspunktet er veldig mye bedre enn
31 forrige versjon fra
2016. Ta gjerne en titt.
</p
>
33 <p
>Ellers må jeg jo si at det var hyggelig å se at min forrige
34 bloggpost om tjenestegrensesnittet fikk en
35 <ahref=
"https://beta.arkivverket.no/post/
186020592045/noark-
5-versjon-
50-tjenestegrensesnitt-
10">lenke
36 fra Arkivverket Beta
</a
>.
</p
>
38 <p
>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
39 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
41 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
42 Merk, betaling med bitcoin er ikke anonymt. :)
</p
>
47 <title>Teach kids to protect their privacy - the EDRi way
</title>
48 <link>http://people.skolelinux.org/pere/blog/Teach_kids_to_protect_their_privacy___the_EDRi_way.html
</link>
49 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Teach_kids_to_protect_their_privacy___the_EDRi_way.html
</guid>
50 <pubDate>Thu,
4 Jul
2019 19:
10:
00 +
0200</pubDate>
51 <description><p
>Childs need to learn how to guard their privacy too. To help them,
52 <a href=
"https://edri.org/
">European Digital Rights (EDRi)
</a
> created
53 a colorful booklet providing information on several privacy related topics,
54 and tips on how to protect ones privacy in the digital age.
</p
>
56 <p
>The
24 page booklet titled Digital Defenders is
57 <a href=
"https://edri.org/digital-defenders-help-kids-defend-their-privacy-around-europe
">available
58 in several languages
</a
>. Thanks to the valuable contributions from
59 members of
<a href=
"https://efn.no/
">the Electronic Foundation Norway
60 (EFN)
</a
> and others, it is also available in Norwegian Bokmål.
61 If you would like to have it available in your language too,
62 <a href=
"https://hosted.weblate.org/projects/efn/privacy4kids/
">contribute
63 via Weblate
</a
> and get in touch.
</p
>
65 <p
>But a funny, well written and good looking PDF do not have much
66 impact, unless it is read by the right audience. To increase the
67 chance of kids reading it, I am currently assisting EFN in getting
68 copies printed on paper to distribute on the street and in class
69 rooms. Print the booklet was made possible thanks to a small et of
70 great sponsors. Thank you very much to each and every one of them! I
71 hope to have the printed booklet ready to hand out on Tuesday, when
72 <a href=
"https://www.nuug.no/
>">the Norwegian Unix Users Group
</a
> is
73 organizing
<a href=
"https://wiki.nuug.no/sommerfest2019
">its yearly
74 barbecue for geeks and free software zealots in the Oslo area
</a
>. If
75 you are nearby, feel free to come by and check out the party and the
78 <p
>If the booklet prove to be a success, it would be great to get
79 more sponsoring and distribute it to every kid in the country. :)
</p
>
81 <p
>As usual, if you use Bitcoin and want to show your support of my
82 activities, please send Bitcoin donations to my address
83 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
88 <title>Nikita og Noark
5 tjenestegrensesnittet tilbyr ny måte å tenke arkivering
</title>
89 <link>http://people.skolelinux.org/pere/blog/Nikita_og_Noark_5_tjenestegrensesnittet_tilbyr_ny_m_te___tenke_arkivering.html
</link>
90 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Nikita_og_Noark_5_tjenestegrensesnittet_tilbyr_ny_m_te___tenke_arkivering.html
</guid>
91 <pubDate>Fri,
21 Jun
2019 11:
30:
00 +
0200</pubDate>
92 <description><p
><em
>av Thomas Sødring (OsloMet) og Petter Reinholdtsen (foreningen
93 NUUG)
</em
></p
>
95 <p
>Nikita Noark
5-kjerne er et fri programvareprosjekt som tar i bruk
96 Arkivverkets spesifikasjonen for Noark
5 Tjenestegrensesnitt og tilbyr
97 et maskinlesbart grensesnitt (arkiv-API) til datasystemer som trenger å
98 arkivere dokumenter og informasjon. I tillegg tilbyr Nikita et
99 nettleserbasert brukergrensesnitt for brukere av arkivet. Dette
100 brukergrensesnittet benytter det maskinlesbare grensesnittet. Noark
5
101 Tjenestegrensesnitt er en ny måte å tenke arkivering, med fokus på
102 automatisering og maskinell behandling av arkivmateriale, i stedet for
103 å fokusere på brukergrensesnitt. En kan tenke på
104 tjenestegrensesnittet som arkivet uten brukergrensesnitt, der flere
105 aktører kan koble til ulike brukergrensesnitt, tilpasset ulike
108 <p
>Historisk sett gjorde Noark standarden en veldig bra jobb med
110 papir til digital saksbehandling, men det har kommet til kort på andre
111 områder. Den teknologiske utviklingen har brakt oss ditt at vi kan og
112 skal forvente langt mer fra en arkivkjerne enn før, men det offentlig
113 er ofte konservativ når det gjelder nytenking. For lengst skulle
114 begreper som samvirke mellom datasystemer, metadata, prosess og
115 tjenestegrensesnitt (API) vært dominerende når systemer kjøpes
116 inn. Dessverre er det slik at ikke alle ønsker samvirke mellom
117 datasystemer velkommen, og det kan være trygt å kjøpe «svarte bokser»
118 der du slipper å ta stilling til hvordan man skal få flere systemer
119 til å virke sammen. Men IT-arkitektur er et begrep arkivfolk også
120 begynner å ta inn over seg.
</p
>
122 <p
>Slike systemer for å organisere metadata bør ha nettbaserte
123 tjenestegrensesnitt der brukergrensesnitt er tydelig adskilt fra
124 bakenforliggende system. Det finnes mange rapporter som snakker om å
125 bryte ned siloer i forvaltningen og standardiserte tjenestegrensesnitt
126 er det viktigste virkemiddel mot datasiloer og legger til rette for
127 økt samvirke mellom systemer. Et standardisert tjenestegrensesnitt er
128 et viktig middel for å få systemer til å samhandle da det sikrer at
129 ulike produsenters systemer kan snakke sammen på tvers. Samfunnet
130 fungerer ikke uten standardisering. Vi har alle samme strømstyrke og
131 kontakter i veggene og kjører alle på høyre side av veien i Norge. Det er i en slik
132 sammenheng at prosjektet «Noark
5 Tjenestegrensesnitt» er veldig
133 viktig. Hvis alle leverandører av arkivsystemer forholdt seg til et
134 standardisert tjenestegrensesnitt kunne kostnadene for arkivering
135 reduseres. Tenk deg at du er en kommune som ønsker et fagsystem integrert
136 med arkivløsningen din. I dag må fagsystemleverandøren vite og
137 tilpasse seg den spesifikke versjonen og varianten av arkivløsningen
138 du har. Hvis vi antar at alle leverandører av arkivkjerner har solgt
139 inn enten SOAP eller REST-grensesnitt til kunder de siste
10 årene og
140 det kommer endret versjon av grensesnittet innimellom, så gir det
141 veldig mange forskjellige tjenestegrensesnitt en fagsystemleverandør
142 må forholde seg til. Med
12 leverandører og kvartalsvise oppdateringer
143 kan det potensielt bli
96 ulike varianter hvert eneste år. Det sier
144 seg selv at det blir dyrt. Men det blir faktisk verre. Hvis du senere
145 ønsker å bytte ut arkivsystemet med et annet så er du avhengig å få
146 alle integrasjonene dine laget på nytt. Dette kan gjøre at du velger å
147 forbli hos en dårlig leverandør framfor å skaffe nytt system, fordi
148 det blir for vanskelig og dyrt å bytte. Dermed etableres det «små»
149 monopolsituasjoner som er vanskelig å bryte ut av. Dårlige valg i dag
150 kan ha uante kostander på sikt. I Nikita-prosjektet har vi kun jobbet
151 opp mot Noark
5 Tjenestegrensesnittet. Det har tatt en god del
152 ressurser å sette seg inn i spesifikasjonen og ta den i bruk, spesielt
153 på grunn av uklarheter i spesifikasjonen. Hvis vi måtte gjøre det
154 samme for alle versjoner og varianter av de forskjellige
155 tjenestegrensesnittene ville det blitt veldig tidkrevende og
158 <p
>For deg som arkivar er digitalisering og systemer som skal virke
159 sammen en del av den nye hverdagen. Du har kanskje blitt skånet for
160 det ved å kjøpe svarte bokser, men du risikerer at du gjør deg selv en
161 bjørnetjeneste. Det kan oppleves som kjedelig å fortelle kolleger at
162 du skal sette deg inn i et tjenestegrensesnitt, men dette er faktisk
163 veldig spennende. Tjenestegrensesnittet er på en måte blitt levende og
164 det er spesielt et begrep du bør merke deg: OData. Å trekke inn deler
165 av OData-standarden som en måte å filtrere entitetsøk i et arkivsystem
166 var et nyttig trekk i prosjektet. Følgende eksempel er en
167 OData-spørring det går an å sende inn til en standardisert
168 arkivkjerne:
</p
>
170 <p
><blockquote
>
171 .../sakarkiv/journalpost?filter=contains(tittel,
'nabovarsel
')
172 </blockquote
></p
>
174 <p
>Spørringen over vil hente en liste av alle dine journalposter der
175 tittelen til journalposten inneholder ordet
'nabovarsel
'. Alle
176 leverandører som implementerer tjenestegrensesnittet vil måtte tilby
177 dette. Det betyr at hvis du lærer dette språket for et system, vil det
178 være gjeldende for alle. Dette er egentlig en ny måte å søke i
179 arkivdatabasen på og vil være svært nyttig, for eksempel kan søk i
180 tjenestegrensesnittet antagelig brukes til å hente ut offentlig
181 postjournal. I arkivverden pleier vi å like teknologier som er
182 menneskelesbart, da vet vi det er enkelt og nyttig! OData er også
183 viktig fordi det kan bli en ny måte å svare innsynsforespørsler på i
184 tråd med offentlighetsloven §
9, der retten til å kreve innsyn i
185 sammenstilling fra databaser er nedfelt. I dag ser vi
186 forvaltningsorganer som avviser slike krav fordi det «ikke kan gjøres
187 med enkle framgangsmåter». Bruken av OData i tjenestegrensesnittet,
188 sammen med maskinlesbar markeringsformater kan være et viktig bidrag
189 til å åpne arkivene i tråd med prinsippene om en åpen og transparent
190 forvaltning.
</p
>
192 <p
>Standardisering er viktig fordi det
<em
>kan
</em
> sikre samvirke.
193 Men den effekten kommer kun hvis standardiseringen sikrer at alle
194 forstår standarden på samme måte, dvs. at den er entydig og klar. En
195 god måte å sikre en entydig og klar spesifikasjon er ved å kreve at
196 det finnes minst to ulike implementasjoner som følger spesifikasjonen
197 og som kan snakke sammen, det vil si at de snakker samme språk, slik
198 IETF krever for alle sine standarder, før spesifikasjonen anses å være
199 ferdig. Tilbakemelding fra miljøet forteller at både leverandører og
200 kunder har et avslappet forhold til Noark
5 Tjenestegrensesnitt og det
201 er så langt kun Evry som har visst offentlig at de har en
202 implementasjon av tjenestegrensesnittet. Evry, HK Data og Fredrikstad
203 kommune er igang med et pilotprosjekt på Noark
5
204 Tjenestegrensesnitt. For å redusere kostnadene for samvirkende
205 datasystemer betraktelig, er det veldig viktig at vi kommer i en
206 situasjon der alle leverandører har sine egne implementasjoner av
207 tjenestegrensesnittet, og at disse oppfører seg likt og i tråd med det
208 som er beskrevet i spesifikasjonen.
</p
>
210 <p
>Det er her fri programvare spiller en viktig rolle. Med en uklar
211 standard blir det som en polsk riksdag, der ingenting fungerer. Nikita
212 er en fri programvareimplementasjon av tjenestegrensesnitt og kan
213 fungere som teknisk referanse slik at leverandører enklere kan se og
214 forstå hvordan standarden skal tolkes. Vi har i Nikitaprosjektet
215 erfart å ende opp med vidt forskjellige tolkninger når
216 prosjektmedlemmene leser spesifikasjonsteksten, en effekt av en uklar
217 spesifikasjon. Men Nikitaprosjektet har også utviklet et test-program
218 som sjekker om et tjenestegrensesnitt er i samsvar med standarden, og
219 prosjektet bruker det hele tiden for å sikre at endringer og
220 forbedringer fungerer. Egenerklæringsskjemaenes dager kan være talte!
221 Snart vil du selv kunne teste hver oppdatering av arkivsystemet med en
222 uavhengig sjekk.
</p
>
224 <p
>Fri programvare representerer en demokratisering av kunnskap der
225 tolkning- og innlåsingsmakt flyttes fra leverandør til allmenheten.
226 Med fri programvare har du en litt annerledes verdikjede, der selve
227 produktet ikke holdes hemmelig for å tjene penger, slik en gjør med
228 ufri programvare og skytjenester som ikke bruker fri programvare, men
229 du kan tjene penger på andre deler av verdikjeden. Med fri programvare
230 kan samfunnet betale for å videreutvikle nyttig
231 fellesfunksjonalitet.
</p
>
233 <p
>Nikita er en fri programvareimplementasjon av tjenestegrensesnittet og
234 kan fungere som en referanseimplementasjon dersom det er ønskelig.
235 Alle har lik tilgang til koden og det koster ingenting å ta den i bruk
236 og utforske det. Nikitaprosjektet ønsker tjenestegrensesnittet
237 velkommen og stiller veldig gjerne opp i diskusjoner om tolkning av
238 tjenestegrensesnittet. Nikita er bygget på moderne
239 programmeringsrammeverk og utviklet i full åpenhet. Men Nikita er ikke
240 noe du kan kjøpe. Nikita er først og fremst et verktøy for forsking og
241 utvikling laget for å fremme forskning på arkivfeltet. Systemer som
242 virker sammen har alltid vært hovedfokus og vil være det fremover.
243 Det brukes som undervisningsverktøy der studentene ved OsloMet lærer
244 om administrativt oppsett, saksbehandling, uttrekk og samvirkende
245 datasystemer. Det brukes også som forskningsobjekt der vi ser på
246 import av dokumentsamlinger, bruk av blokkjede og andre nyskapende
247 måter å tenke arkiv på. Det er dog helt greit om andre tar Nikita og
248 pakker det for å selge det som produkt. Forvaltningsorganer med
249 sterke drift- og utviklingsmiljøer kan også se på Nikita og utforske
250 hva som er mulig. Dette kan de gjøre uten å måtte betale for
251 bruksrettigheter eller tilgang til konsulenter. Men arkivering blir
252 ikke gratis på grunn av Nikita. Det trengs fortsatt folk med
253 kompetanse og tid til å ta i bruk Nikita.
</p
>
255 <p
>Nikita har nylig kommet med en ny utgave, den sjette i rekken.
256 Systemet er ikke ferdig, mest på grunn av at API-spesifikasjonen for
257 Noark
5 Tjenestegrensesnitt ikke er ferdig, men allerede i dag kan en
258 bruke Nikita som arkiv. Vi har laget eksempelsystem for å importere
259 data fra deponi-XML og slik gjøre eksisterende arkivdata tilgjengelig
260 via et API. Vi har også laget en testklient som importerer epost inn
261 i arkivet med vedlegg der epostenes trådinformasjon brukes til å legge
262 eposttråder i samme arkivmappe, og en annen testklient som henter
263 epost ut av en arkivmappe på mbox-format slik at en vanlig epostklient
264 kan brukes til å lese igjennom og svare på epostene i en
265 arkivmappe. De som vil ta en titt på Nikita kan besøke
266 <a href=
"https://nikita.oslomet.no
">https://nikita.oslomet.no
</a
> og
267 logge inn med brukernavn «admin@example.com» og passord «password».
268 Dette gir tilgang til det forenklede brukergrensesnittet som brukes
269 til undervisning. De som heller vil ta en titt under panseret kan
271 <a href=
"https://nikita.oslomet.no/browse.html
">https://nikita.oslomet.no/browse.html
</a
>
272 og der se hvordan API-et fungerer mer i detalj. Innloggingsdetaljer
273 her er det samme som for brukergrensesnittet.
</p
>
275 <p
>Fremover er fokuset på forbedring av spesifikasjonen Noark
5
276 Tjenestegrensesnitt. De som skrev tjenestegrensesnittet gjorde et
277 interessant og framtidsrettet grep, de skilte sak fra arkiv.
278 Tjenestegrensesnittet består av flere
"pakker
", der noen er
279 grunnleggende mens andre bygger på de grunnleggende pakkene. Pakkene
280 som er beskrevet så langt heter «arkivstruktur», «sakarkiv»,
281 «administrasjon», «loggogsporing» og «moeter» (dessverre
282 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/pull/
120">planlagt
283 fjernet
</a
> i første utgave). Etter hvert håper vi å utforske
284 prosses- og metadatabeskrivelser til flere fagområder og bidra til at
285 tjenestegrensesnittet kan legge til flere pakker som «byggarkiv»,
286 «barnevern», «personal», «barnehage», der arkivfaglig metadata- og
287 dokumentasjonsbehov er kartlagt og standardisert.
</p
>
289 <p
>Nikita utvikles av en liten prosjektgruppe, og vi er alltid
290 interessert å bli flere. Hvis en åpen, fri og standardisert tilnærming
291 til arkivering høres interessant ut, bli med oss på veien videre. Vi
292 er tilstede på IRC-kanalen #nikita hos FreeNode (tilgjengelig via
294 <a href=
"https://webchat.freenode.net?channels=#nikita
">https://webchat.freenode.net?channels=#nikita
</a
>),
295 og har en e-postliste nikita-noark@nuug.no hos NUUG (tilgjengelig for
296 påmelding og arkiv på
297 <a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark
">https://lists.nuug.no/mailman/listinfo/nikita-noark
</a
>)
298 der en kan følge med eller være med oss på den spennende veien videre.
299 Spesifikasjonen for Noark
5 Tjenestegrensesnitt vedlikeholdes på
301 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
</a
>.
</p
>
303 <p
>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
304 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
306 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
311 <title>Jami/Ring, finally functioning peer to peer communication client
</title>
312 <link>http://people.skolelinux.org/pere/blog/Jami_Ring__finally_functioning_peer_to_peer_communication_client.html
</link>
313 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Jami_Ring__finally_functioning_peer_to_peer_communication_client.html
</guid>
314 <pubDate>Wed,
19 Jun
2019 08:
50:
00 +
0200</pubDate>
315 <description><p
>Some years ago, in
2016, I
316 <a href=
"http://people.skolelinux.org/pere/blog/Experience_and_updated_recipe_for_using_the_Signal_app_without_a_mobile_phone.html
">wrote
317 for the first time about
</a
> the Ring peer to peer messaging system.
318 It would provide messaging without any central server coordinating the
319 system and without requiring all users to register a phone number or
320 own a mobile phone. Back then, I could not get it to work, and put it
321 aside until it had seen more development. A few days ago I decided to
322 give it another try, and am happy to report that this time I am able
323 to not only send and receive messages, but also place audio and video
324 calls. But only if UDP is not blocked into your network.
</p
>
326 <p
>The Ring system changed name earlier this year to
327 <a href=
"https://en.wikipedia.org/wiki/Jami_(software)
">Jami
</a
>. I
328 tried doing web search for
'ring
' when I discovered it for the first
329 time, and can only applaud this change as it is impossible to find
330 something called Ring among the noise of other uses of that word. Now
331 you can search for
'jami
' and this client and
332 <a href=
"https://jami.net/
">the Jami system
</a
> is the first hit at
333 least on duckduckgo.
</p
>
335 <p
>Jami will by default encrypt messages as well as audio and video
336 calls, and try to send them directly between the communicating parties
337 if possible. If this proves impossible (for example if both ends are
338 behind NAT), it will use a central SIP TURN server maintained by the
339 Jami project. Jami can also be a normal SIP client. If the SIP
340 server is unencrypted, the audio and video calls will also be
341 unencrypted. This is as far as I know the only case where Jami will
342 do anything without encryption.
</p
>
344 <p
>Jami is available for several platforms: Linux, Windows, MacOSX,
345 Android, iOS, and Android TV. It is included in Debian already. Jami
346 also work for those using F-Droid without any Google connections,
348 <a href=
"https://git.jami.net/savoirfairelinux/ring-project/wikis/technical/Protocol
">The
349 protocol
</a
> is described in the Ring project wiki. The system uses a
350 distributed hash table (DHT) system (similar to BitTorrent) running
351 over UDP. On one of the networks I use, I discovered Jami failed to
352 work. I tracked this down to the fact that incoming UDP packages
353 going to ports
1-
49999 were blocked, and the DHT would pick a random
354 port and end up in the low range most of the time. After talking to
355 the developers, I solved this by enabling the dhtproxy in the
356 settings, thus using TCP to talk to a central DHT proxy instead of
358 peering directly with others. I
've been told the developers are
359 working on allowing DHT to use TCP to avoid this problem. I also ran
360 into a problem when trying to talk to the version of Ring included in
361 Debian Stable (Stretch). Apparently the protocol changed between
362 beta2 and the current version, making these clients incompatible.
363 Hopefully the protocol will not be made incompatible in the
366 <p
>It is worth noting that while looking at Jami and its features, I
367 came across another communication platform I have not tested yet. The
368 <a href=
"https://en.wikipedia.org/wiki/Tox_(protocol)
">Tox protocol
</a
>
369 and
<a href=
"https://tox.chat/
">family of Tox clients
</a
>. It might
370 become the topic of a future blog post.
</p
>
372 <p
>As usual, if you use Bitcoin and want to show your support of my
373 activities, please send Bitcoin donations to my address
374 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
379 <title>More sales number for my Free Culture paper editions (
2019-edition)
</title>
380 <link>http://people.skolelinux.org/pere/blog/More_sales_number_for_my_Free_Culture_paper_editions__2019_edition_.html
</link>
381 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/More_sales_number_for_my_Free_Culture_paper_editions__2019_edition_.html
</guid>
382 <pubDate>Tue,
11 Jun
2019 16:
05:
00 +
0200</pubDate>
383 <description><p
>The first book I published,
384 <a href=
"http://www.free-culture.cc/
">Free Culture by Lawrence
385 Lessig
</a
>, is still selling a few copies. Not a lot, but enough to
386 have contributed slightly over $
500 to the
<a
387 href=
"https://creativecommons.org/
">Creative Commons Corporation
</a
>
388 so far. All the profit is sent there. Most books are still sold via
389 Amazon (
83 copies), with Ingram second (
49) and Lulu (
12) and Machette (
7) as
390 minor channels. Bying directly from Lulu bring the largest cut to
391 Creative Commons. The English Edition sold
80 copies so far, the
392 French
59 copies, and Norwegian only
8 copies. Nothing impressive,
393 but nice to see the work we put down is still being appreciated. The
394 ebook edition is available for free from
395 <a href=
"https://github.com/petterreinholdtsen/free-culture-lessig
">Github
</a
>.
</p
>
397 <table border=
"0">
398 <tr
><th rowspan=
"2" valign=
"bottom
">Title / language
</th
>
399 <th colspan=
"7">Quantity
</th
></tr
>
401 <th
>2016 jan-jun
</th
>
402 <th
>2016 jul-dec
</th
>
403 <th
>2017 jan-jun
</th
>
404 <th
>2017 jul-dec
</th
>
405 <th
>2018 jan-jun
</th
>
406 <th
>2018 jul-dec
</th
>
407 <th
>2019 jan-may
</th
>
411 <td
><a href=
"http://www.lulu.com/shop/lawrence-lessig/culture-libre/paperback/product-
22645082.html
">Culture Libre / French
</a
></td
>
412 <td align=
"right
">3</td
>
413 <td align=
"right
">6</td
>
414 <td align=
"right
">19</td
>
415 <td align=
"right
">11</td
>
416 <td align=
"right
">7</td
>
417 <td align=
"right
">6</td
>
418 <td align=
"right
">7</td
>
422 <td
><a href=
"http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-
22441576.html
">Fri kultur / Norwegian
</a
></td
>
423 <td align=
"right
">7</td
>
424 <td align=
"right
">1</td
>
425 <td align=
"right
">0</td
>
426 <td align=
"right
">0</td
>
427 <td align=
"right
">0</td
>
428 <td align=
"right
">0</td
>
429 <td align=
"right
">0</td
>
433 <td
><a href=
"http://www.lulu.com/shop/lawrence-lessig/free-culture/paperback/product-
22440520.html
">Free Culture / English
</a
></td
>
434 <td align=
"right
">14</td
>
435 <td align=
"right
">27</td
>
436 <td align=
"right
">16</td
>
437 <td align=
"right
">9</td
>
438 <td align=
"right
">3</td
>
439 <td align=
"right
">7</td
>
440 <td align=
"right
">3</td
>
444 <td
>Total
</td
>
445 <td align=
"right
">24</td
>
446 <td align=
"right
">34</td
>
447 <td align=
"right
">35</td
>
448 <td align=
"right
">20</td
>
449 <td align=
"right
">10</td
>
450 <td align=
"right
">13</td
>
451 <td align=
"right
">10</td
>
456 <p
>It is fun to see the French edition being more popular than the
457 English one.
</p
>
459 <p
>If you would like to translate and publish the book in your native
460 language, I would be happy to help make it happen. Please get in
466 <title>Official MIME type
"text/vnd.sosi
" for SOSI map data
</title>
467 <link>http://people.skolelinux.org/pere/blog/Official_MIME_type__text_vnd_sosi__for_SOSI_map_data.html
</link>
468 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Official_MIME_type__text_vnd_sosi__for_SOSI_map_data.html
</guid>
469 <pubDate>Tue,
4 Jun
2019 09:
20:
00 +
0200</pubDate>
470 <description><p
>Just
15 days ago,
471 <ahref=
"http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html
">I
472 mentioned
</a
> my submission to IANA to register an official MIME type
473 for the SOSI vector map format. This morning, just an hour ago, I was
475 <a href=
"https://www.iana.org/assignments/media-types/text/vnd.sosi
">the
476 MIME type
"text/vnd.sosi
"</a
> is registered for this format. In
477 addition to this registration, my
478 <a href=
"https://github.com/file/file/blob/master/magic/Magdir/sosi
">file(
1)
479 patch for a pattern matching rule for SOSI files
</a
> has been accepted
480 into the official source of that program (pending a new release), and
481 I
've been told by the team behind
482 <a href=
"https://www.nationalarchives.gov.uk/PRONOM/
">PRONOM
</a
> that
483 the SOSI format will be included in the next release of PRONOM, which
484 they plan to release this summer around July.
</p
>
486 <p
>I am very happy to see all of this fall into place, for use by
487 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
">the
488 Noark
5 Tjenestegrensesnitt
</a
> implementations.
</p
>
490 <p
>As usual, if you use Bitcoin and want to show your support of my
491 activities, please send Bitcoin donations to my address
492 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
497 <title>The space rover coquine, or how I ended up on the dark side of the moon
</title>
498 <link>http://people.skolelinux.org/pere/blog/The_space_rover_coquine__or_how_I_ended_up_on_the_dark_side_of_the_moon.html
</link>
499 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/The_space_rover_coquine__or_how_I_ended_up_on_the_dark_side_of_the_moon.html
</guid>
500 <pubDate>Sun,
2 Jun
2019 23:
55:
00 +
0200</pubDate>
501 <description><p
>A while back a college and friend from Debian and the Skolelinux /
502 Debian Edu project approached me, asking if I knew someone that might
503 be interested in helping out with a technology project he was running
504 as a teacher at
<a href=
"https://www.ecolefrancodanoise.dk/
">L
'école
505 franco-danoise
</a
> - the Danish-French school and kindergarden. The
506 kids were building robots, rovers. The story behind it is to build a
508 <a href=
"http://blog.ecolefrancodanoise.dk/first-week-on-the-dark-side
">on
509 the dark side of the moon
</a
>, and remote control it. As travel cost
510 was a bit high for the final destination, and they wanted to test the
511 concept first, he was looking for volunteers to host a rover for the
512 kids to control in a foreign country. I ended up volunteering as a
513 host, and last week the rover arrived. It took a while to arrive
514 after
<a href=
"http://blog.ecolefrancodanoise.dk/model-moms
">it was
515 built and shipped
</a
>, because of customs confusion. Luckily we were
516 able fix it quickly with help from my colleges at work.
</p
>
518 <p
>This is what it looked like when the rover arrived. Note the cute
519 eyes looking up on me from the wrapping
</p
>
521 <img src=
"http://people.skolelinux.org/pere/blog/images/
2019-
06-
02-robot-dark-side-of-moon-esken-med-det-rare-i.jpeg
" width=
"32%
" style=
"clear:left
"/
>
522 <img src=
"http://people.skolelinux.org/pere/blog/images/
2019-
06-
02-robot-dark-side-of-moon-den-ser-meg.jpeg
" width=
"32%
" style=
"clear:left
"/
>
523 <img src=
"http://people.skolelinux.org/pere/blog/images/
2019-
06-
02-robot-dark-side-of-moon-en-skrue-loes.jpeg
" width=
"32%
" style=
"clear:left
"/
>
525 <p style=
"text-align:left
">Once the robot arrived, we needed to track
526 down batteries and figure out how to build custom firmware for it with
527 the appropriate wifi settings. I asked a friend if I could get two
528 18650 batteries from his pile of Tesla batteries (he had them from the
529 wrack of a crashed Tesla), so now the rover is running on Tesla
533 <a href=
"https://gitlab.com/ecolefrancodanoise/arduino-efd/
">the rover
534 firmware
</a
> proved a bit harder, as the code did not work out of the
535 box with the Arduino IDE package in Debian Buster. I suspect this is
537 <a href=
"https://github.com/arduino/Arduino/pull/
2703"> license problem
538 with arduino
</a
> blocking Debian from upgrading to the latest version.
539 In the end we gave up debugging why the IDE failed to find the
540 required libraries, and ended up using the Arduino Makefile from the
541 <a href=
"https://tracker.debian.org/pkg/arduino-mk
">arduino-mk Debian
542 package
</a
> instead. Unfortunately the camera library is missing from
543 the Arduino environment in Debian, so we disabled the camera support
544 for the first firmware build, to get something up and running. With
545 this reduced firmware, the robot could be controlled via the
546 controller server, driving around and measuring distance using its
547 internal acoustic sensor.
</p
>
549 <p
>Next, With some help from my friend in Denmark, which checked in the
550 camera library into the gitlab repository for me to use, we were able
551 to build a new and more complete version of the firmware, and the
552 robot is now up and running. This is what the
"commander
" web page
553 look like after taking a measurement and a snapshot:
</p
>
555 <img src=
"http://people.skolelinux.org/pere/blog/images/
2019-
06-
02-robot-dark-side-of-moon-commander.png
" width=
"40%
" border=
"1" align=
"center
"/
>
557 <p
>If you want to learn more about this project, you can check out the
558 <a href=
"https://hackaday.io/project/
164082-the-dark-side-challenge
">The
559 Dark Side Challenge
</a
> Hackaday web pages.
</p
>
561 <p
>As usual, if you use Bitcoin and want to show your support of my
562 activities, please send Bitcoin donations to my address
563 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
568 <title>Nikita version
0.4 released - free software archive API server
</title>
569 <link>http://people.skolelinux.org/pere/blog/Nikita_version_0_4_released___free_software_archive_API_server.html
</link>
570 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Nikita_version_0_4_released___free_software_archive_API_server.html
</guid>
571 <pubDate>Wed,
22 May
2019 11:
30:
00 +
0200</pubDate>
572 <description><p
>This morning, a new release of
573 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/
">Nikita
574 Noark
5 core project
</a
> was
575 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/
2019-May/
000468.html
">announced
576 on the project mailing list
</a
>. The Nikita free software solution is
577 an implementation of the Norwegian archive standard Noark
5 used by
578 government offices in Norway. These were the changes in version
0.4
579 since version
0.3, see the email link above for links to a demo site:
</p
>
583 <li
>Roll out OData handling to all endpoints where applicable
</li
>
584 <li
>Changed the relation key for
"ny-journalpost
" to the official one.
</li
>
585 <li
>Better link generation on outgoing links.
</li
>
586 <li
>Tidy up code and make code and approaches more consistent throughout
587 the codebase
</li
>
588 <li
>Update rels to be in compliance with updated version in the
589 interface standard
</li
>
590 <li
>Avoid printing links on empty objects as they can
't have links
</li
>
591 <li
>Small bug fixes and improvements
</li
>
592 <li
>Start moving generation of outgoing links to @Service layer so access
593 control can be used when generating links
</li
>
594 <li
>Log exception that was being swallowed so it
's traceable
</li
>
595 <li
>Fix name mapping problem
</li
>
596 <li
>Update templated printing so templated should only be printed if it
597 is set true. Requires more work to roll out across entire
598 application.
</li
>
599 <li
>Remove Record-
>DocumentObject as per domain model of n5v4
</li
>
600 <li
>Add ability to delete lists filtered with OData
</li
>
601 <li
>Return NO_CONTENT (
204) on delete as per interface standard
</li
>
602 <li
>Introduce support for ConstraintViolationException exception
</li
>
603 <li
>Make Service classes extend NoarkService
</li
>
604 <li
>Make code base respect X-Forwarded-Host, X-Forwarded-Proto and
605 X-Forwarded-Port
</li
>
606 <li
>Update CorrespondencePart* code to be more in line with Single
607 Responsibility Principle
</li
>
608 <li
>Make package name follow directory structure
</li
>
609 <li
>Make sure Document number starts at
1, not
0</li
>
610 <li
>Fix isues discovered by FindBugs
</li
>
611 <li
>Update from Date to ZonedDateTime
</li
>
612 <li
>Fix wrong tablename
</li
>
613 <li
>Introduce Service layer tests
</li
>
614 <li
>Improvements to CorrespondencePart
</li
>
615 <li
>Continued work on Class / Classificationsystem
</li
>
616 <li
>Fix feature where authors were stored as storageLocations
</li
>
617 <li
>Update HQL builder for OData
</li
>
618 <li
>Update OData search capability from webpage
</li
>
622 <p
>If free and open standardized archiving API sound interesting to
623 you, please contact us on IRC
624 (
<a href=
"irc://irc.freenode.net/%
23nikita
">#nikita on
625 irc.freenode.net
</a
>) or email
626 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark
">nikita-noark
627 mailing list
</a
>).
</p
>
629 <p
>As usual, if you use Bitcoin and want to show your support of my
630 activities, please send Bitcoin donations to my address
631 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
636 <title>MIME type
"text/vnd.sosi
" for SOSI map data
</title>
637 <link>http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html
</link>
638 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html
</guid>
639 <pubDate>Mon,
20 May
2019 08:
35:
00 +
0200</pubDate>
640 <description><p
>As part of my involvement in the work to
641 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard
">standardise
642 a REST based API for Noark
5</a
>, the Norwegian archiving standard, I
643 spent some time the last few months to try to register a
644 <a href=
"https://www.iana.org/assignments/media-types/
">MIME type
</a
>
645 and
<a href=
"https://www.nationalarchives.gov.uk/PRONOM/
">PRONOM
646 code
</a
> for the SOSI file format. The background is that there is a
647 set of formats approved for long term storage and archiving in Norway,
648 and among these formats, SOSI is the only format missing a MIME type
649 and PRONOM code.
</p
>
651 <p
>What is SOSI, you might ask? To quote Wikipedia: SOSI is short for
652 Samordnet Opplegg for Stedfestet Informasjon (literally
"Coordinated
653 Approach for Spatial Information
", but more commonly expanded in
654 English to Systematic Organization of Spatial Information). It is a
655 text based file format for geo-spatial vector information used in
656 Norway. Information about the SOSI format can be found in English
657 from
<a href=
"https://en.wikipedia.org/wiki/SOSI
">Wikipedia
</a
>. The
658 specification is available in Norwegian from
659 <a href=
"https://www.kartverket.no/geodataarbeid/Standarder/SOSI/
">the
660 Norwegian mapping authority
</a
>. The SOSI standard, which originated
661 in the beginning of nineteen eighties, was the inspiration and formed the
662 basis for the XML based
663 <a href=
"https://en.wikipedia.org/wiki/Geography_Markup_Language
">Geography
664 Markup Language
</a
>.
</p
>
666 <p
>I have so far written
667 <a href=
"https://github.com/file/file/pull/
67">a pattern matching
668 rule
</a
> for the file(
1) unix tool to recognize SOSI files, submitted
669 a request to the PRONOM project to have a PRONOM ID assigned to the
670 format (reference TNA1555078202S60), and today send a request to IANA
671 to register the
"text/vnd.sosi
" MIME type for this format (referanse
672 <a href=
"https://tools.iana.org/public-view/viewticket/
1143144">IANA
673 #
1143144</a
>). If all goes well, in a few months, anyone implementing
674 the Noark
5 Tjenestegrensesnitt API spesification should be able to
675 use an official MIME type and PRONOM code for SOSI files. In
676 addition, anyone using SOSI files on Linux should be able to
677 automatically recognise the format and web sites handing out SOSI
678 files can begin providing a more specific MIME type. So far, SOSI
679 files has been handed out from web sites using the
680 "application/octet-stream
" MIME type, which is just a nice way of
681 stating
"I do not know
". Soon, we will know. :)
</p
>
683 <p
>As usual, if you use Bitcoin and want to show your support of my
684 activities, please send Bitcoin donations to my address
685 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
690 <title>PlantUML for text based UML diagram modelling - nice free software
</title>
691 <link>http://people.skolelinux.org/pere/blog/PlantUML_for_text_based_UML_diagram_modelling___nice_free_software.html
</link>
692 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/PlantUML_for_text_based_UML_diagram_modelling___nice_free_software.html
</guid>
693 <pubDate>Mon,
25 Mar
2019 09:
35:
00 +
0100</pubDate>
694 <description><p
>As part of my involvement with the
695 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/
">Nikita
696 Noark
5 core project
</a
>, I have been proposing improvements to the
697 API specification created by
<a href=
"https://www.arkivverket.no/
">The
698 National Archives of Norway
</a
> and helped migrating the text from a
699 version control system unfriendly binary format (docx) to Markdown in
700 git. Combined with the migration to a public git repository (on
701 github), this has made it possible for anyone to suggest improvement
702 to the text.
</p
>
704 <p
>The specification is filled with UML diagrams. I believe the
705 original diagrams were modelled using Sparx Systems Enterprise
706 Architect, and exported as EMF files for import into docx. This
707 approach make it very hard to track changes using a version control
708 system. To improve the situation I have been looking for a good text
709 based UML format with associated command line free software tools on
710 Linux and Windows, to allow anyone to send in corrections to the UML
711 diagrams in the specification. The tool must be text based to work
712 with git, and command line to be able to run it automatically to
713 generate the diagram images. Finally, it must be free software to
714 allow anyone, even those that can not accept a non-free software
715 license, to contribute.
</p
>
717 <p
>I did not know much about free software UML modelling tools when I
718 started. I have used dia and inkscape for simple modelling in the
719 past, but neither are available on Windows, as far as I could tell. I
721 <a href=
"https://modeling-languages.com/text-uml-tools-complete-list/
">list
722 of text mode uml tools
</a
>, and tested out a few of the tools listed
723 there.
<a href=
"http://plantuml.com/
">The PlantUML tool
</a
> seemed
724 most promising. After verifying that the packages
725 <a href=
"https://tracker.debian.org/pkg/plantuml
">is available in
726 Debian
</a
> and found
<a href=
"https://github.com/plantuml/plantuml
">its
727 Java source
</a
> under a GPL license on github, I set out to test if it
728 could represent the diagrams we needed, ie the ones currently in
729 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
">the
730 Noark
5 Tjenestegrensesnitt specification
</a
>. I am happy to report
731 that it could represent them, even thought it have a few warts here
734 <p
>After a few days of modelling I completed the task this weekend. A
735 temporary link to the complete set of diagrams (original and from
736 PlantUML) is available in
737 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/
76">the
738 github issue discussing the need for a text based UML format
</a
>, but
739 please note I lack a sensible tool to convert EMF files to PNGs, so
740 the
"original
" rendering is not as good as the original was in the
741 publised PDF.
</p
>
743 <p
>Here is an example UML diagram, showing the core classes for
744 keeping metadata about archived documents:
</p
>
748 skinparam classAttributeIconSize
0
750 !include media/uml-class-arkivskaper.iuml
751 !include media/uml-class-arkiv.iuml
752 !include media/uml-class-klassifikasjonssystem.iuml
753 !include media/uml-class-klasse.iuml
754 !include media/uml-class-arkivdel.iuml
755 !include media/uml-class-mappe.iuml
756 !include media/uml-class-merknad.iuml
757 !include media/uml-class-registrering.iuml
758 !include media/uml-class-basisregistrering.iuml
759 !include media/uml-class-dokumentbeskrivelse.iuml
760 !include media/uml-class-dokumentobjekt.iuml
761 !include media/uml-class-konvertering.iuml
762 !include media/uml-datatype-elektronisksignatur.iuml
764 Arkivstruktur.Arkivskaper
"+arkivskaper
1..*
" <-o
"+arkiv
0..*
" Arkivstruktur.Arkiv
765 Arkivstruktur.Arkiv o--
> "+underarkiv
0..*
" Arkivstruktur.Arkiv
766 Arkivstruktur.Arkiv
"+arkiv
1" o--
> "+arkivdel
0..*
" Arkivstruktur.Arkivdel
767 Arkivstruktur.Klassifikasjonssystem
"+klassifikasjonssystem [
0.
.1]
" <--o
"+arkivdel
1..*
" Arkivstruktur.Arkivdel
768 Arkivstruktur.Klassifikasjonssystem
"+klassifikasjonssystem [
0.
.1]
" o--
> "+klasse
0..*
" Arkivstruktur.Klasse
769 Arkivstruktur.Arkivdel
"+arkivdel
0.
.1" o--
> "+mappe
0..*
" Arkivstruktur.Mappe
770 Arkivstruktur.Arkivdel
"+arkivdel
0.
.1" o--
> "+registrering
0..*
" Arkivstruktur.Registrering
771 Arkivstruktur.Klasse
"+klasse
0.
.1" o--
> "+mappe
0..*
" Arkivstruktur.Mappe
772 Arkivstruktur.Klasse
"+klasse
0.
.1" o--
> "+registrering
0..*
" Arkivstruktur.Registrering
773 Arkivstruktur.Mappe --
> "+undermappe
0..*
" Arkivstruktur.Mappe
774 Arkivstruktur.Mappe
"+mappe
0.
.1" o--
> "+registrering
0..*
" Arkivstruktur.Registrering
775 Arkivstruktur.Merknad
"+merknad
0..*
" <--* Arkivstruktur.Mappe
776 Arkivstruktur.Merknad
"+merknad
0..*
" <--* Arkivstruktur.Dokumentbeskrivelse
777 Arkivstruktur.Basisregistrering -|
> Arkivstruktur.Registrering
778 Arkivstruktur.Merknad
"+merknad
0..*
" <--* Arkivstruktur.Basisregistrering
779 Arkivstruktur.Registrering
"+registrering
1..*
" o--
> "+dokumentbeskrivelse
0..*
" Arkivstruktur.Dokumentbeskrivelse
780 Arkivstruktur.Dokumentbeskrivelse
"+dokumentbeskrivelse
1" o-
> "+dokumentobjekt
0..*
" Arkivstruktur.Dokumentobjekt
781 Arkivstruktur.Dokumentobjekt *-
> "+konvertering
0..*
" Arkivstruktur.Konvertering
782 Arkivstruktur.ElektroniskSignatur -[hidden]-
> Arkivstruktur.Dokumentobjekt
786 <p
><a href=
"http://plantuml.com/class-diagram
">The format
</a
> is quite
787 compact, with little redundant information. The text expresses
788 entities and relations, and there is little layout related fluff. One
789 can reuse content by using include files, allowing for consistent
790 naming across several diagrams. The include files can be standalone
791 PlantUML too. Here is the content of
792 <tt
>media/uml-class-arkivskaper.iuml
<tt
>:
</p
>
796 class Arkivstruktur.Arkivskaper
<Arkivenhet
> {
797 +arkivskaperID : string
798 +arkivskaperNavn : string
799 +beskrivelse : string [
0.
.1]
804 <p
>This is what the complete diagram for the PlantUML notation above
807 <p
><img width=
"80%
" src=
"http://people.skolelinux.org/pere/blog/images/
2019-
03-
25-noark5-plantuml-diagrameksempel.png
"></p
>
809 <p
>A cool feature of PlantUML is that the generated PNG files include
810 the entire original source diagram as text. The source (with include
811 statements expanded) can be extracted using for example
812 <tt
>exiftool
</tt
>. Another cool feature is that parts of the entities
813 can be hidden after inclusion. This allow to use include files with
814 all attributes listed, even for UML diagrams that should not list any
815 attributes.
</p
>
817 <p
>The diagram also show some of the warts. Some times the layout
818 engine place text labels on top of each other, and some times it place
819 the class boxes too close to each other, not leaving room for the
820 labels on the relationship arrows. The former can be worked around by
821 placing extra newlines in the labes (ie
"\n
"). I did not do it here
822 to be able to demonstrate the issue. I have not found a good way
823 around the latter, so I normally try to reduce the problem by changing
824 from vertical to horizontal links to improve the layout.
</p
>
826 <p
>All in all, I am quite happy with PlantUML, and very impressed with
827 how quickly its lead developer responds to questions. So far I got an
828 answer to my questions in a few hours when I send an email. I
829 definitely recommend looking at PlantUML if you need to make UML
830 diagrams. Note, PlantUML can draw a lot more than class relations.
831 Check out the documention for a complete list. :)
</p
>
833 <p
>As usual, if you use Bitcoin and want to show your support of my
834 activities, please send Bitcoin donations to my address
835 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>