All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
9.2.1 – 2024-08-13
- Added refresh of newspapers when a work is updated
9.2.0 – 2024-07-08
- Added search slot on all pages
- Fixed delivery of error pages
9.1.0 – 2024-06-17
- Added functionality to edit works
- Retrieval of identifiables, whose namespace contains numbers
9.0.1 – 2024-04-16
- Report errors on broken works and subjects instead of showing incomplete data
9.0.0 – 2024-03-14
- BREAKING: Java version of
dc-cudami-client
&dc-cudami-model
(thus formerdc-model
as well) upgraded to 17 - Integrated previously independent digitalcollections-model
- Integrated several former independent modules from
dc-commons
- Several missing
equals
&hashCode
methods are added to model classes - Order of a website's root webpages is retained
8.0.3 – 2024-01-19
- Update of nodes' children order
- Admin-GUI no longer sorts children webpage alphabetically, but keeps their real order
- User management (create & change an user)
8.0.2 – 2024-01-12
- Fixed production build by including the build assets from
dc-cudami-editor
8.0.1 – 2023-12-20
- Fixed updating RenderingFileResources on DigitalObjects
8.0.0 – 2023-11-29
- Hierarchically filled
DigitalObject
(by UUID or identifier); thelastModified
date of theDigitalObject
is set to the newest of its WMI objects, the WMI objects lose their date therefor - Identifiers of objects enclosed in
Work
,Manifestation
&Item
- SQL function to retrieve an identifiable's identifiers
- SQL function to convert
dbidentifier[]
(composite database type) into json(b) - Filter
Identifiable
s byIdentifier
(namespace & id) - New filter operators for regular expressions, e.g.
?filtering=identifiers.namespace:regex:mdz-obj%28-child%29%3F
(i.e. urlencodedmdz-obj(-child)?
) - Ability to retrieve multiple UniqueObjects by UUIDs within a single request
- Replaced
data-colwidth
withdata-label
in table rendering DigitalObject
is retrieved 90 percent faster by SQL joins instead of singlegetByUuid
calls- Expand
Manifestation
with reduced fields by…- work title
- work of parent of manifestation
- move
PublishingInfo
objects from full fields
- Removed plugin for table column resizing
- Breaking: Objects contained in a
DigitalObject
retrieved by UUID/identifier are not completely filled anymore
- Fixed selection of rendering template for webpages
- Fixed entity to entity relations ordered by
rel.sortindex
- Add existing collection as subcollection to another one
7.1.1 - 2023-10-11
- Added functionality to add a
data-label
attribute to table cells
7.1.0 - 2023-10-10
- Add topic add/remove entities/fileresources
- Add article add/remove creators
- SQL: replace
count
byexists
in trigger functions that check the existence of foreign tables' PKs - Upgrade dc-model(-jackson) to 12.2.1
- Upgrade dc-commons-jdbi to 7.0.3
- Upgrade dc-commons-springmvc to 7.0.3
- Fix missing handling of multivalue filter conversion
- Fix wrong filter type by search for geolocation birth / death
- Fix collection add digitalobjects
- Fixed retrieval of existing images by name in admin GUI
- Saving of UrlAliases of subcollections, subwebpages and subtopics
7.0.0 - 2023-08-28
-
Add GUI for Predicates (CRUD) in administration section
- for table using https://bootstrap-table.com/
- for wysiwyg editor using prosemirror + https://tiptap.dev/
- for forms Spring MVC
- for dynamic (modals, etc.) jQuery
-
Added table sorting to
Articles
,DigitalObjects
,Collections
-
Added dropdown to select number of rows per page in table lists on
Articles
,DigitalObjects
,Collections
-
Added status storing of new tables (navigating back to list shows list in last status)
-
Added highlighting of searched term in result lists in new table lists on
Articles
,DigitalObjects
,Collections
-
Add backend and GUI for
Event
-
Add convenience controller endpoints for items to remove a parent (attribute
partOf
) -
Add or-linked filtering: new request parameter
filtering
with new complex syntax:- single conditions are separated by semicolon
?filtering=lastname:eq:foo;age:gt:30
→ lastname == "foo" AND age > 30 - …and can be surrounded by braces (we call them "FilterCriteria")
?filtering={lastname:eq:foo;age:gt:30}
→ same $AND
and$OR
determines how all of the conditions within braces are logically linked- by default the FilterCriteria are linked by AND, so
$AND
can be omitted?filtering={lastname:eq:foo;age:gt:30}
is same as?filtering={$AND;lastname:eq:foo;age:gt:30}
- several FilterCriteria can be appended, seperated by semicolon; these FilterCriteria are always linked by AND
?filtering={$OR;lastname:eq:foo;firstname:eq:foo};{age:gt:30}
→ (lastname == "foo" OR firstname == "foo") AND age > 30
?filtering={$OR;lastname:eq:foo;firstname:eq:foo};{$OR;age:gt:30;age:lt:20}
→ (lastname == "foo" OR firstname == "foo") AND (age > 30 OR age < 20) - within the value(s) of a condition semicolons and braces (i.e.
;{}
) must be backslash escaped; URL encoding is necessary as usual
- single conditions are separated by semicolon
-
Add Lobid-Clients for missing Lobid objects
-
Add persistence support for new field
Headword.labelNormalized
-
Add sorting to Buckets and Bucket objects handling in
HeadwordRepositoryImpl
-
Add action links to object's view and edit under topic
- WEMI parts: Manifestations, Works
- POST/PUT/PATCH-Requests require the attribute
objectType
in the JSON body. If it is missing, it is heuristically set - Labels of Identifiables must not be empty
- Breaking: Changed runtime dependency from JRE11 to JRE17
- UrlAlias uses
Locale.toLanguageTag()
explicitly to always retrieve a language, even forLocale.ROOT
i.e.und
- Split some controller into API and "not-API"-Controllers to make GUI and REST-methods more visible
- Lists (using Bootstrap-Table component)
- replacing language tabs with dropdown on new lists pages
- for
Articles
list (to proof preview image rendering) - for
DigitalObjects
list (to proof fixing of too many tabs) - for
Collections
list
- Locale handling:
- Switch language of displayed multilanguage data fields now using a select drop down instead of tabs in view and list pages
- Switch language of displayed multilanguage data fields now also handling languages with script
- Thymeleaf Date and TimeValue rendering fragment (date.html) and messages properties moved from cudami admin webapp to cudami client for easy reuse in frontend clients
- Separate
PageRequest
param handling fromListRequest
param handling inBaseRestClient
- Reuse logic from
BaseRestClient
inCudamiHeadwordsClient
- Set keepalive time to 5 minutes
- UrlAlias does actively ignore any script of the target's locale
- SQL migration (can be long running) replaces every emtpy string key in the labels (that comes from
Locale.ROOT
as language) by"und"
getByValue
method inPredicateRepositoryImpl
- Comment not supported sorting throwing warning every time in
EntityToEntityRelationRepositoryImpl
- Fix saveUrlAlias (one question mark placeholder in sql more than given params)
- Fix sql migrations 14.10.00, 14.04.00, 9.02.02
- Fix data language handling in admin webapp
- Fix visibility of long text in collection view
- Fix website label rendering
- Fix CSS for an identifiable's ToC
- Breaking Due to model changes, the tables
item_works
andwork_creators
are removed and their contents, if ever used, are lost. - Method
getItems
fromWorksClient
6.2.3 - 2023-04-14
- Upgraded
dc-model(-jackson)
to11.0.3
6.2.2 - 2023-03-29
- Upgraded
dc-model(-jackson)
to11.0.2
6.2.1 - 2023-02-10
- Fixed syntax to include fragments
6.2.0 - 2022-11-25
- Add parameter
fill-wemi
to return a hierarchically (in directionItem
->Manifestation
->Work
) filledDigitalObject
(currently only with theItem
data)
6.1.4 - 2022-11-07
- Fixed display of ToC navigation
6.1.3 - 2022-11-03
No real changes, but the publishing did not work well...
6.1.2 - 2022-11-03
- Added rendering of ToC if
renderingHints.showInPageNavigation
in the webpage istrue
- Add rendering of ToC links if
renderTocLinks
is set totrue
somewhere in the model
6.1.1 - 2022-08-29
- Dependency update to fix deserialization of corporate bodies
6.1.0 - 2022-07-29
- WEMI part: Item
notes
property toEntity
- DB:
split_label
column toidentifiables
- search by label, optionally limited to the language
- looks for the existence of the single words in arbitrary order by default (optimized and thus to be preferred)
- to search for a phrase embed the term in double quotes (can be much slower)
- Added endpoints to delete collections, corporate bodies, geolocations, humansettlements and persons
- Added rendering of contained digital objects
- Added missing
lastModified
column to the list ofIdentifierType
,RenderingTemplate
andUser
- Added rendering of the list of
License
andWork
and of a singleLicense
- Added validation of the given identifiers on
save
andupdate
against the available identifier types
- find by
searchTerm
looks for the existence of the single words; to look for the words as phrase, embed them in double quotes (but it will be much slower) - retrieval of DigitalObjects for an Item now works with paging
- Breaking: Bumped
dc-model
dependency to version11.0.0
- Fixed "remember me" functionality for login (token is valid for 14 days)
- Fixed retrieval by identifier with slashes
- removed unused fields
language
,publicationDate
,publicationPlace
,publisher
andversion
from items - removed redundant table
item_digitalobjects
6.0.0 - 2022-06-23
- Handling of
LinkedDataFileResources
- Added missing columns for unique objects
- Added sorting of resources in
dc-cudami-admin-webapp
- Added handling of
identifiableObjectType
forIdentifiable
s - Added migration of UrlAliases column from
target_entity_type
totarget_identifiable_objecttype
- Added functionality to modify and delete tables in the editor
- Added possibility to search for human settlements, identifier types, rendering templates and users.
- Breaking Using
digitalcollections-model
in version10
(affects the client) - Database update for the updated
DigitalObject
- Fill new fields of
DigitalObject
, when a singleDigitalObject
is returned - Improved
Identifier
handling by avoiding useless deletions and re-insertions - Test updates
- Fixed handling of IdentifierTypes
- Fixed filtering of
LocalizedUrlAliases
byLocale
- Added collation to
varchar
columns - Changed default sorting of identifiables in
dc-cudami-server-webapp
fromlabel
in default language tolastModified
anduuid
- Updated multiple dependencies
- Normalize method names:
getBy
for returning one object,findBy
for returning a list of objects, "set" for saving a list after deleting previous list - Set default case sensitivity for sorting to
ignoreCase
- Fixed copy&paste of
iframe
,image
andvideo
blocks in the editor - Fixed delivery of multilingual UrlAliases
- Methods returning one object renamed from
find...
togetBy...
:findOne(UUID uuid)
-methods, usegetByUuid
-method insteadfindOne(UUID uuid, Locale locale)
-methods, usegetByUuidAndLocale
-method insteadfindOneByIdentifier(String namespace, String id)
-methods, usegetByIdentifier
-method insteadfindOneByRefId(long refId)
-methods, usegetByRefId
-method insteadfindOneByEmail(String email)
-methods, usegetByEmail
-method insteadfindOneByLabelAndLocale
-methods, usegetByLabelAndLocale
-method insteadfindOne(UUID uuid, Filtering filtering)
-methods, usegetByUuidAndFiltering
-method insteadfindOneByNamespace(String namespace)
-methods, usegetByNamespace
-method instead
- EntityType storage in database (replaced by IdentifiableObjectType)
- Removed deprecated initial param (#1776)
5.2.5 - 2022-05-20
- Updated
dc-model
version to9.1.1
5.2.4 - 2022-04-26
- Missing
ORDER BY
keywords in SQL select statement
5.2.3 - 2022-04-01
- Updated Spring Boot to fix CVE-2022-22965
5.2.2 - 2022-03-15
- Fixed update of own password
5.2.1 - 2022-02-08
- Added indexes on big tables to improve performance of joins and sorting
- Fixed search for a website's rootpages
- Fixed two wrong endpoints endpoints called in the client
- Improved paging: added unique field to sorting
5.2.0 - 2022-02-07
- Added management of UrlAliases
- Added and pre-filled table
url_aliases
via Flyway migration - Improved some parts of the admin GUI
- Bumped
dc-model
dependency to version9.1.0
- Added search for
url
on websites - Added transactions to all SQL statements by annotation on class level in business service layer
- Added config endpoint, mainly for admin GUI
- Added HeadwordEntry and Headword endpoints for management of dictionaries / encyclopedias
- Added
uuid
to allowed sorting fields - Added management of Licenses
- Refactored relation between business service and repository layers
- Refactored most of the class components to function components in dc-cudami-editor
- Fixed search in nested JSONB fields
- Removed foreign keys that do not work with PostgreSQL table inheritance
5.1.0 - 2021-08-17
- Added better error handling with display of an error message
- Added codevov (https://about.codecov.io/) to the CI
- Added functionality to add an attached identifiable by
refId
- Added display of
refId
to view page of collections - Added search functionality to some more identifiable lists
- Improved datepicker design
- Optimised ci caching
- Optimised display of empty language
- Fixed alt text of preview image
- Refactored form for users to react
5.0.1 - 2021-07-26
- Bumped
dc-model
dependency to version9.0.0
5.0.0 - 2021-07-06
- Added filtering for entity-type(s) when loading lists of
Entity
- Added template for table of content rendering
- Implemented list of persons and geolocations
- Added sorting of imports in
dc-cudami-editor
- Added possibility to define mailto links in the editor
- Added search functionality to many identifiable lists
- Added many controller and repository tests
- Added functionality to remove languages from content
- Added
v5
endpoints - Added request id header (if present) to logging
- Added possibility to build releases on the CI
- Migrated to
dc-model
in version9
- Restructured packages in
dc-cudami-client
to be synchronous with other modules - Migrated list of articles, attached entities/files corporate bodies, digital objects, file resources, identifier types, projects, (sub)topics, users to react
- Refactored structure and names of react components
- Fixed deletion for empty identifier lists
- Replaced old sorting syntax with new one
- Refactored webpack configuration
- Refactored design to
AdminLTE
(https://adminlte.io/) - Refactored form for identifier types to react
- Fixed session configuration
- Replaced jsondoc with openapi/swagger
- Refactored to
react
in version 17 - Added usage of
HTTP/1.1
by default indc-cudami-client
- Removed
EntityPart
andSubtopic
- Removed XML stuff
- Removed development application in
dc-cudami-editor
4.5.3 - 2021-06-22
- Added usage of
HTTP/1.1
by default indc-cudami-client
4.5.2 - 2021-06-07
- Fixed an error that happens when a
searchTerm
is inserted into a jsonpathlike_regex
search that contains double quotes (#1045) - Fixed security restriction for
/users/updatePassword
- Fixed check if label should be rendered
- Removed checkbox to activate
remember-me
functionality, as it is not working at the moment
4.5.1 - 2021-05-17
- Fixed sticky button in the navbar
4.5.0 - 2021-04-08
- Migrated all API calls to
latest
endpoints indc-cudami-client
to use the versioned endpoints
4.4.4 - 2021-04-01
- Fixed term search in description and label
4.4.3 - 2021-03-25
- Fixed search for identifiables
4.4.2 - 2021-03-19
- Added possibility to define mailto links
- Fixed removal of digital objects, which contain no identifiers
4.4.1 - 2021-02-24
- Fixed sorting
- Fixed getting of creators of article
- Fixed return of preview image and fileresource type
- Fixed retrieval of fileresource with identifier
4.4.0 - 2021-02-08
- Added functionality to define external http hooks for save and update actions
- Introduced random lists and person family- and givennames
- Refactored the whole SQL backend
- Fixed editing of other users
- Refactored to new sorting param syntax
4.3.0 - 2021-01-22
- Made the edit and save buttons sticky
- Added endpoints for retrieval of websites' and top collections' languages
- Refactored list of top collections and websites to react
- Fixed the query for a digital objects' active collections
4.2.0 - 2021-01-11
- Added a new endpoint to retrieve all related corporate bodies to a collection
- Added publication date and creators to article
- Added possibility to enter the url of a corporate body
- Added endpoints to change the order of (sub) webpages
- Added support for sorting by multiple fields and subfields
- Added functionality for adding a rendering template to a webpage
- Added a switch to the webpage form to activate/deactivate the in-page navigation
- Added person birth and death locations, geo locations and humansettlements
- Removed the field
description
from the search for collections and digital objects
4.1.1 - 2020-11-10
- Add pattern for url validation to also allow relative urls
4.1.0 - 2020-11-03
- Added paged retrieval of a website's rootpages
- Refactored list of webpages to React
4.0.0 - 2020-10-27
- Added custom attributes to entity
- Added filtering possibilities for active webpages
- Added functionality to retrieve a children tree for a webpage
- Added functionality to get relations by predicate
- Renamed "corporation" to "corporate body"
3.7.0 - 2020-10-05
- Added an endpoint that returns a reduced digitalobjects list
- Added handling of items and works
- Added functionality to edit links
- Added GND fetch and save endpoint
- Added get by identifier and refid
- Made form fields optional
- Added handling of entity relations
- Added functionality to insert videos
- Introduced GitHub Actions
- Added functionality to delete a digital object with its dependencies
- Added spinner when autocomplete is loading
- Added publication dates for collections
- Added parent collections and publication status to collection view
- Fixed the removal of iframe, image and link attributes
- Added unique constraint to identifiers
3.6.0 - 2020-09-09
- Added functionality to stay in the same language when switching from the view to the edit page
- Added functionality to add and remove digital objects from a project
- Added the possibility to add, move and remove subcollections
- Added display of identifiers to identifiable list
- Added floating labels instead of placeholders for some input fields, so that the label is still visible when the is content in the field
- Added language tabs for paged list of identifiables
- Fixed external links to open in a new tab
- Fixed link urls containing whitespace
- Made the whole application use the complete width of the screen
- Fixed the filename of images added as url to only contain the last part of the url
3.5.0 - 2020-08-18
- Added a view for digital objects
- Added item numbers to all lists for better referenceability and sorting impression
- Added functionality to add and remove digital objects from a collection
- Added functionality to remove digital objects from a project
- Added a legend for the publication status
- Moved admin rest to cudami client and remove admin webapp layers/modules
- Replaced
feign
with JavaHttpClient
- Made alt text input not required anymore
- Fixed sorting fields
3.4.1 - 2020-07-08
- Added a title for the button to add a preview image
- Added a notification when removing the preview image
- Added mocking of api calls for an easier development of the react parts
3.4.0 - 2020-07-01
- Added image preview for uploaded and selected images
- Added providing the breadcrumb via REST
- Added functionality to edit iframe and image content blocks
- Added functionality to add images without alignment/text wrapping
- Added functionality to create subcollections
- Added a dialog to add and edit a preview image
- Fixed issues with changing the password
3.3.0 - 2020-05-29
- Added possibility to set start/end date of publication
- Added breadcrumbs for webpages and websites
- Added fileresource default preview image
- Added configuration properties for webjar versions
- Added the possibility to define the
title
attribute for iframes - Added the possibility to add images in the editor
- Added a restriction for the editor, which is used for the short description: only the marks (bold, italic, etc.) can be applied
- Added the possibility to change the own password
- Added rendering of horizontal rule
- Renamed
ContentTree
toTopic
andContentNode
toSubtopic
- Fixed language tab sorting (by prioritised languages, if defined, and alphabetically)
- Removed the floating toolbar
- Removed the abort button from forms
3.2.2 - 2019-11-25
- Added param for disabling rendering of webpage label in HTML output
- Added rendering of horizontal rule
- Added styling for blockquotes
- Added possibility for the user for updating his/her own password
- Fixed possible NPE if fileresource is null
- Fixed conversion of multiple languages in localized structured content for xml in v1
- Refactored v1 controller to return
de_DE
instead ofde
- Made database migrations more flexible by setting out of order migrations to
true
- Reformated SQL to make it more readable
- Fixed rendering of html attributes
- Fixed rendering of the mark types
strikethrough
,subscript
,superscript
andunderline
- Disabled insert of footnotes and images for the moment
3.2.1 - 2019-11-13
- Fixed the sorting of the language tabs
- Fixed language switch
- Removed placeholder from editor when content is empty
3.2.0 - 2019-10-28
- Added digital object management (digital objects and contained file resources)
- Added entity to entities relations
- Added entity to file resources relations
- Added
CHANGELOG.md
- Added spotbugs code checks
- Added documentation how to configure and use client
- Added deploy stage to ci configuration
- Added digital objects
- Refactored docker-compose setup to include a iiif server
- Added identifier types management
- Added
LinkedDataFileResource
- Added auto-formatting via google style
- Added prometheus and some more monitoring endpoints
- Added management of
Collection
,Corporation
andProject
- Migrated from Bootstrap 3 to Bootstrap 4
- Migrated database schema and SQL from multiple joins to PostgreSql inheritance (where applicable)
- Bumped versions of various dependencies
- Fixed batch execution to avoid already closed connection
- Fixed link rendering (missing blank after opening a tag)
- Refactored from deprecated jdbi
findOnly
tofindOne
- Refactored
label
,description
andtext
of identifiables to an easier data structure - Refactored locale to language
- Refactored the editor to
React
- Added simplified version of client
- Added webjar versions from
pom
- Refactored logging configuration to log to
STDOUT
- Fixed
v2
endpoint for retrieving webpages and addv3
- Removed
OracleJDK
from build matrix
3.1.1 - 2019-01-23
- Fixed webpage endpoints for
v1
of the model
3.1.0 - 2019-01-23
- Added support for multi-language contents
- Added logic for locale specific content retrieval
- Introduced docker compose setup for local development
- Added hierarchical creation of webpages
- Added creation of content nodes
- Added automatic snapshot deployments to sonatype nexus
- Introduced articles
- Added new objects to main page and new section resources
- Introduced adding of identifiables to
Article
,ContentNode
andWebpage
- Added file upload functionality
- Added
openjdk11
to build matrix - Added endpoint versioning
- Added new template fragments for rendering of identifiables
- Refactored to use new
dc-model
- Fixed query for retrieving the sort index
- Fixed webapp and actuator security configuration for the admin webapp
- Fixed rendering of marks
- Bumped versions of various dependencies
- Fixed badges
- Removed no longer used model module