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