]> pere.pagekite.me Git - homepage.git/blob - blog/archive/2021/06/06.rss
Generated.
[homepage.git] / blog / archive / 2021 / 06 / 06.rss
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/'>
3 <channel>
4 <title>Petter Reinholdtsen - Entries from June 2021</title>
5 <description>Entries from June 2021</description>
6 <link>https://people.skolelinux.org/pere/blog/</link>
7
8
9 <item>
10 <title>Nikita version 0.6 released - free software archive API server</title>
11 <link>https://people.skolelinux.org/pere/blog/Nikita_version_0_6_released___free_software_archive_API_server.html</link>
12 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Nikita_version_0_6_released___free_software_archive_API_server.html</guid>
13 <pubDate>Thu, 10 Jun 2021 17:10:00 +0200</pubDate>
14 <description>&lt;p&gt;I am very pleased to be able to share with you
15 &lt;a href=&quot;https://lists.nuug.no/pipermail/nikita-noark/2021-June/000576.html&quot;&gt;the
16 announcement of a new version of the archiving system Nikita&lt;/a&gt;
17 published by its lead developer Thomas Sødring:&lt;/p&gt;
18
19 &lt;p&gt;&lt;blockquote&gt;
20
21 &lt;p&gt;It is with great pleasure that we can announce a new release of
22 nikita. Version 0.6
23 (&lt;a href=&quot;https://gitlab.com/OsloMet-ABI/nikita-noark5-core&quot;&gt;https://gitlab.com/OsloMet-ABI/nikita-noark5-core&lt;/a&gt;). This
24 release makes new record keeping functionality available. This really
25 is a maturity release. Both in terms of functionality but also code.
26 Considerable effort has gone into refactoring the codebase and
27 simplifying the code. Notable changes for this release include:&lt;/p&gt;
28
29 &lt;ul&gt;
30
31 &lt;li&gt;Significantly improved OData parsing&lt;/li&gt;
32 &lt;li&gt;Support for business specific metadata and national identifiers&lt;/li&gt;
33 &lt;li&gt;Continued implementation of domain model and endpoints&lt;/li&gt;
34 &lt;li&gt;Improved testing&lt;/li&gt;
35 &lt;li&gt;Ability to export and import from arkivstruktur.xml&lt;/li&gt;
36
37 &lt;/ul&gt;
38
39 &lt;p&gt;We are currently in the process of reaching an agreement with an
40 archive institution to publish their picture archive using nikita with
41 business specific metadata and we hope that we can share this with you
42 soon. This is an interesting project as it allows the organisation to
43 bring an older picture archive back to life while using the original
44 metadata values stored as business specific metadata. Combined with
45 OData means the scope and use of the archive is significantly
46 increased and will showcase both the flexibility and power of
47 Noark.&lt;/p&gt;
48
49 &lt;p&gt;I really think we are approaching a version 1.0 of nikita, even
50 though there is still a lot of work to be done. The notable work at
51 the moment is to implement access-control and full text indexing of
52 documents.&lt;/p&gt;
53
54 &lt;p&gt;My sincere thanks to everyone who has contributed to this
55 release!&lt;/p&gt;
56
57 &lt;p&gt;- Thomas&lt;/p&gt;
58
59 &lt;p&gt;&lt;strong&gt;Release 0.6 2021-06-10 (d1ba5fc7e8bad0cfdce45ac20354b19d10ebbc7b)&lt;/strong&gt;&lt;/p&gt;
60
61 &lt;ul&gt;
62
63 &lt;li&gt;Refactor metadata entity search&lt;/li&gt;
64 &lt;li&gt;Remove redundant security configuration&lt;/li&gt;
65 &lt;li&gt;Make OpenAPI documentation work&lt;/li&gt;
66 &lt;li&gt;Change database structure / inheritance model to a more sensible approach&lt;/li&gt;
67 &lt;li&gt;Make it possible to move entities around the fonds structure&lt;/li&gt;
68 &lt;li&gt;Implemented a number of missing endpoints&lt;/li&gt;
69 &lt;li&gt;Make sure yml files are in sync&lt;/li&gt;
70 &lt;li&gt;Implemented/finalised storing and use of
71 &lt;ul&gt;
72     &lt;li&gt;Business Specific Metadata&lt;/li&gt;
73     &lt;li&gt;Norwegian National Identifiers&lt;/li&gt;
74     &lt;li&gt;Cross Reference&lt;/li&gt;
75     &lt;li&gt;Keyword&lt;/li&gt;
76     &lt;li&gt;StorageLocation&lt;/li&gt;
77     &lt;li&gt;Author&lt;/li&gt;
78     &lt;li&gt;Screening for relevant objects&lt;/li&gt;
79     &lt;li&gt;ChangeLog&lt;/li&gt;
80     &lt;li&gt;EventLog&lt;/li&gt;
81 &lt;/ul&gt;&lt;/li&gt;
82 &lt;li&gt;Make generation of updated docker image part of successful CI pipeline&lt;/li&gt;
83 &lt;li&gt;Implement pagination for all list requests
84 &lt;ul&gt;
85     &lt;li&gt;Refactor code to support lists&lt;/li&gt;
86     &lt;li&gt;Refactor code for readability&lt;/li&gt;
87     &lt;li&gt;Standardise the controller/service code&lt;/li&gt;
88 &lt;/ul&gt;&lt;/li&gt;
89 &lt;li&gt;Finalise File-&gt;CaseFile expansion and Record-&gt;registryEntry/recordNote
90 expansion&lt;/li&gt;
91 &lt;li&gt;Improved Continuous Integration (CI) approach via gitlab&lt;/li&gt;
92 &lt;li&gt;Changed conversion approach to generate tagged PDF documents&lt;/li&gt;
93 &lt;li&gt;Updated dependencies
94 &lt;ul&gt;
95     &lt;li&gt;For security reasons&lt;/li&gt;
96     &lt;li&gt;Brought codebase to spring-boot version 2.5.0&lt;/li&gt;
97     &lt;li&gt;Remove import of necessary dependencies&lt;/li&gt;
98     &lt;li&gt;Remove non-used metrics classes&lt;/li&gt;
99 &lt;/ul&gt;&lt;/li&gt;
100 &lt;li&gt;Added new analysis to CI including&lt;/li&gt;
101 &lt;li&gt;Implemented storing of Keyword&lt;/li&gt;
102 &lt;li&gt;Implemented storing of Screening and ScreeningMetadata&lt;/li&gt;
103 &lt;li&gt;Improved OData support
104 &lt;ul&gt;
105     &lt;li&gt;Better support for inheritance in queries where applicable&lt;/li&gt;
106     &lt;li&gt;Brought in more OData tests&lt;/li&gt;
107     &lt;li&gt;Improved OData/hibernate understanding of queries&lt;/li&gt;
108     &lt;li&gt;Implement $count, $orderby&lt;/li&gt;
109     &lt;li&gt;Finalise $top and $skip&lt;/li&gt;
110     &lt;li&gt;Make sure &amp; is used between query parameters&lt;/li&gt;
111 &lt;/ul&gt;&lt;/li&gt;
112 &lt;li&gt;Improved Testing in codebase
113 &lt;ul&gt;
114     &lt;li&gt;A new approach for integration tests to make test more readable&lt;/li&gt;
115     &lt;li&gt;Introduce tests in parallel with code development for TDD approach&lt;/li&gt;
116     &lt;li&gt;Remove test that required particular access to storage&lt;/li&gt;
117 &lt;/ul&gt;&lt;/li&gt;
118 &lt;li&gt;Implement case-handling process from received email to case-handler
119 &lt;ul&gt;
120     &lt;li&gt;Develop required GUI elements (digital postroom from email)&lt;/li&gt;
121     &lt;li&gt;Introduced leader, quality control and postroom roles&lt;/li&gt;
122 &lt;/ul&gt;&lt;/li&gt;
123 &lt;li&gt;Make PUT requests return 200 OK not 201 CREATED&lt;/li&gt;
124 &lt;li&gt;Make DELETE requests return 204 NO CONTENT not 200 OK&lt;/li&gt;
125 &lt;li&gt;Replaced &#39;oppdatert*&#39; with &#39;endret*&#39; everywhere to match latest spec&lt;/li&gt;
126 &lt;li&gt;Upgrade Gitlab CI to use python &gt; 3 for CI scripts&lt;/li&gt;
127 &lt;li&gt;Bug fixes
128 &lt;ul&gt;
129     &lt;li&gt;Fix missing ALLOW&lt;/li&gt;
130     &lt;li&gt;Fix reading of objects from jar file during start-up&lt;/li&gt;
131     &lt;li&gt;Reduce the number of warnings in the codebase&lt;/li&gt;
132     &lt;li&gt;Fix delete problems&lt;/li&gt;
133     &lt;li&gt;Make better use of cascade for &quot;leaf&quot; objects&lt;/li&gt;
134     &lt;li&gt;Add missing annotations where relevant&lt;/li&gt;
135     &lt;li&gt;Remove the use of ETAG for delete&lt;/li&gt;
136     &lt;li&gt;Fix missing/wrong/broken rels discovered by runtest&lt;/li&gt;
137     &lt;li&gt;Drop unofficial convertFil (konverterFil) end point&lt;/li&gt;
138     &lt;li&gt;Fix regex problem for dateTime&lt;/li&gt;
139     &lt;li&gt;Fix multiple static analysis issues discovered by coverity&lt;/li&gt;
140     &lt;li&gt;Fix proxy problem when looking for object class names&lt;/li&gt;
141     &lt;li&gt;Add many missing translated Norwegian to English (internal)
142 attribute/entity names&lt;/li&gt;
143     &lt;li&gt;Change UUID generation approach to allow code also set a value&lt;/li&gt;
144     &lt;li&gt;Fix problem with Part/PartParson&lt;/li&gt;
145     &lt;li&gt;Fix problem with empty OData search results&lt;/li&gt;
146     &lt;li&gt;Fix metadata entity domain problem&lt;/li&gt;
147 &lt;/ul&gt;&lt;/li&gt;
148 &lt;li&gt;General Improvements
149 &lt;ul&gt;
150     &lt;li&gt;Makes future refactoring easier as coupling is reduced&lt;/li&gt;
151     &lt;li&gt;Allow some constant variables to be set from property file&lt;/li&gt;
152     &lt;li&gt;Refactor code to make reflection work better across codebase&lt;/li&gt;
153     &lt;li&gt;Reduce the number of @Service layer classes used in @Controller
154 classes&lt;/li&gt;
155     &lt;li&gt;Be more consistent on naming of similar variable types&lt;/li&gt;
156     &lt;li&gt;Start printing rels/href if they are applicable&lt;/li&gt;
157     &lt;li&gt;Cleaner / standardised approach to deleting objects&lt;/li&gt;
158     &lt;li&gt;Avoid concatenation when using StringBuilder&lt;/li&gt;
159     &lt;li&gt;Consolidate code to avoid duplication&lt;/li&gt;
160     &lt;li&gt;Tidy formatting for a more consistent reading style across
161 similar class files&lt;/li&gt;
162     &lt;li&gt;Make throw a log.error message not an log.info message&lt;/li&gt;
163     &lt;li&gt;Make throw print the log value rather than printing in multiple
164 places&lt;/li&gt;
165     &lt;li&gt;Add some missing pronom codes&lt;/li&gt;
166     &lt;li&gt;Fix time formatting issue in Gitlab CI&lt;/li&gt;
167     &lt;li&gt;Remove stale / unused code&lt;/li&gt;
168     &lt;li&gt;Use only UUID datatype rather than combination String/UUID for systemID&lt;/li&gt;
169     &lt;li&gt;Mark variables final and @NotNull where relevant to indicate
170 intention&lt;/li&gt;
171 &lt;/ul&gt;&lt;/li&gt;
172 &lt;li&gt;Change Date values to DateTime to maintain compliance with Noark 5
173 standard&lt;/li&gt;
174 &lt;li&gt;Domain model improvements using Hypersistence Optimizer
175 &lt;ul&gt;
176     &lt;li&gt;Move @Transactional from class to methods to avoid borrowing the JDBC Connection unnecessarily&lt;/li&gt;
177     &lt;li&gt;Fix OneToOne performance issues&lt;/li&gt;
178     &lt;li&gt;Fix ManyToMany performance issues&lt;/li&gt;
179     &lt;li&gt;Add missing bidirectional synchronization support&lt;/li&gt;
180     &lt;li&gt;Fix ManyToMany performance issue&lt;/li&gt;
181 &lt;/ul&gt;&lt;/li&gt;
182 &lt;li&gt;Make List&lt;&gt; and Set&lt;&gt; use final-keyword to avoid potential problems
183 during update operations&lt;/li&gt;
184 &lt;li&gt;Changed internal URLs, replaced &quot;hateoas-api&quot; with &quot;api&quot;.&lt;/li&gt;
185 &lt;li&gt;Implemented storing of Precedence.&lt;/li&gt;
186 &lt;li&gt;Corrected handling of screening.&lt;/li&gt;
187 &lt;li&gt;Corrected _links collection returned for list of mixed entity types
188 to match the specific entity.&lt;/li&gt;
189 &lt;li&gt;Improved several internal structures.&lt;/li&gt;
190 &lt;/ul&gt;
191
192 &lt;/blockquote&gt;&lt;/p&gt;
193
194 &lt;p&gt;If free and open standardized archiving API sound interesting to
195 you, please contact us on IRC
196 (&lt;a href=&quot;irc://irc.oftc.net/%23nikita&quot;&gt;#nikita on
197 irc.oftc.net&lt;/a&gt;) or email
198 (&lt;a href=&quot;https://lists.nuug.no/mailman/listinfo/nikita-noark&quot;&gt;nikita-noark
199 mailing list&lt;/a&gt;).&lt;/p&gt;
200
201 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
202 activities, please send Bitcoin donations to my address
203 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
204 </description>
205 </item>
206
207 </channel>
208 </rss>