I am very pleased to be able to share with you +the +announcement of a new version of the archiving system Nikita +published by its lead developer Thomas Sødring:
+ ++ ++ +It is with great pleasure that we can announce a new release of +nikita. Version 0.6 +(https://gitlab.com/OsloMet-ABI/nikita-noark5-core). This +release makes new record keeping functionality available. This really +is a maturity release. Both in terms of functionality but also code. +Considerable effort has gone into refactoring the codebase and +simplifying the code. Notable changes for this release include:
+ ++ +
+ +- Significantly improved OData parsing
+- Support for business specific metadata and national identifiers
+- Continued implementation of domain model and endpoints
+- Improved testing
+- Ability to export and import from arkivstruktur.xml
+ +We are currently in the process of reaching an agreement with an +archive institution to publish their picture archive using nikita with +business specific metadata and we hope that we can share this with you +soon. This is an interesting project as it allows the organisation to +bring an older picture archive back to life while using the original +metadata values stored as business specific metadata. Combined with +OData means the scope and use of the archive is significantly +increased and will showcase both the flexibility and power of +Noark.
+ +I really think we are approaching a version 1.0 of nikita, even +though there is still a lot of work to be done. The notable work at +the moment is to implement access-control and full text indexing of +documents.
+ +My sincere thanks to everyone who has contributed to this +release!
+ +- Thomas
+ +Release 0.6 2021-06-10 (d1ba5fc7e8bad0cfdce45ac20354b19d10ebbc7b)
+ ++ +
+ +- Refactor metadata entity search
+- Remove redundant security configuration
+- Make OpenAPI documentation work
+- Change database structure / inheritance model to a more sensible approach
+- Make it possible to move entities around the fonds structure
+- Implemented a number of missing endpoints
+- Make sure yml files are in sync
+- Implemented/finalised storing and use of +
++ Â Â Â
- Business Specific Metadata
+ Â Â Â- Norwegian National Identifiers
+ Â Â Â- Cross Reference
+ Â Â Â- Keyword
+ Â Â Â- StorageLocation
+ Â Â Â- Author
+ Â Â Â- Screening for relevant objects
+ Â Â Â- ChangeLog
+ Â Â Â- EventLog
+- Make generation of updated docker image part of successful CI pipeline
+- Implement pagination for all list requests +
++ Â Â Â
- Refactor code to support lists
+ Â Â Â- Refactor code for readability
+ Â Â Â- Standardise the controller/service code
+- Finalise File->CaseFile expansion and Record->registryEntry/recordNote +expansion
+- Improved Continuous Integration (CI) approach via gitlab
+- Changed conversion approach to generate tagged PDF documents
+- Updated dependencies +
++ Â Â Â
- For security reasons
+ Â Â Â- Brought codebase to spring-boot version 2.5.0
+ Â Â Â- Remove import of necessary dependencies
+ Â Â Â- Remove non-used metrics classes
+- Added new analysis to CI including
+- Implemented storing of Keyword
+- Implemented storing of Screening and ScreeningMetadata
+- Improved OData support +
++ Â Â Â
- Better support for inheritance in queries where applicable
+ Â Â Â- Brought in more OData tests
+ Â Â Â- Improved OData/hibernate understanding of queries
+ Â Â Â- Implement $count, $orderby
+ Â Â Â- Finalise $top and $skip
+ Â Â Â- Make sure & is used between query parameters
+- Improved Testing in codebase +
++ Â Â Â
- A new approach for integration tests to make test more readable
+ Â Â Â- Introduce tests in parallel with code development for TDD approach
+ Â Â Â- Remove test that required particular access to storage
+- Implement case-handling process from received email to case-handler +
++ Â Â Â
- Develop required GUI elements (digital postroom from email)
+ Â Â Â- Introduced leader, quality control and postroom roles
+- Make PUT requests return 200 OK not 201 CREATED
+- Make DELETE requests return 204 NO CONTENT not 200 OK
+- Replaced 'oppdatert*' with 'endret*' everywhere to match latest spec
+- Upgrade Gitlab CI to use python > 3 for CI scripts
+- Bug fixes +
++ Â Â Â
- Fix missing ALLOW
+ Â Â Â- Fix reading of objects from jar file during start-up
+ Â Â Â- Reduce the number of warnings in the codebase
+ Â Â Â- Fix delete problems
+ Â Â Â- Make better use of cascade for "leaf" objects
+ Â Â Â- Add missing annotations where relevant
+ Â Â Â- Remove the use of ETAG for delete
+ Â Â Â- Fix missing/wrong/broken rels discovered by runtest
+ Â Â Â- Drop unofficial convertFil (konverterFil) end point
+ Â Â Â- Fix regex problem for dateTime
+ Â Â Â- Fix multiple static analysis issues discovered by coverity
+ Â Â Â- Fix proxy problem when looking for object class names
+ Â Â Â- Add many missing translated Norwegian to English (internal) +attribute/entity names
+ Â Â Â- Change UUID generation approach to allow code also set a value
+ Â Â Â- Fix problem with Part/PartParson
+ Â Â Â- Fix problem with empty OData search results
+ Â Â Â- Fix metadata entity domain problem
+- General Improvements +
++ Â Â Â
- Makes future refactoring easier as coupling is reduced
+ Â Â Â- Allow some constant variables to be set from property file
+ Â Â Â- Refactor code to make reflection work better across codebase
+ Â Â Â- Reduce the number of @Service layer classes used in @Controller +classes
+ Â Â Â- Be more consistent on naming of similar variable types
+ Â Â Â- Start printing rels/href if they are applicable
+ Â Â Â- Cleaner / standardised approach to deleting objects
+ Â Â Â- Avoid concatenation when using StringBuilder
+ Â Â Â- Consolidate code to avoid duplication
+ Â Â Â- Tidy formatting for a more consistent reading style across +similar class files
+ Â Â Â- Make throw a log.error message not an log.info message
+ Â Â Â- Make throw print the log value rather than printing in multiple +places
+ Â Â Â- Add some missing pronom codes
+ Â Â Â- Fix time formatting issue in Gitlab CI
+ Â Â Â- Remove stale / unused code
+ Â Â Â- Use only UUID datatype rather than combination String/UUID for systemID
+ Â Â Â- Mark variables final and @NotNull where relevant to indicate +intention
+- Change Date values to DateTime to maintain compliance with Noark 5 +standard
+- Domain model improvements using Hypersistence Optimizer +
++ Â Â Â
- Move @Transactional from class to methods to avoid borrowing the JDBC Connection unnecessarily
+ Â Â Â- Fix OneToOne performance issues
+ Â Â Â- Fix ManyToMany performance issues
+ Â Â Â- Add missing bidirectional synchronization support
+ Â Â Â- Fix ManyToMany performance issue
+- Make List<> and Set<> use final-keyword to avoid potential problems +during update operations
+- Changed internal URLs, replaced "hateoas-api" with "api".
+- Implemented storing of Precedence.
+- Corrected handling of screening.
+- Corrected _links collection returned for list of mixed entity types +to match the specific entity.
+- Improved several internal structures.
+
If free and open standardized archiving API sound interesting to +you, please contact us on IRC +(#nikita on +irc.oftc.net) or email +(nikita-noark +mailing list).
+ +As usual, if you use Bitcoin and want to show your support of my +activities, please send Bitcoin donations to my address +15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
+