diff --git a/_metastore/documentation/installation/messaging/messaging-configuration.markdown b/_metastore/documentation/installation/messaging/messaging-configuration.markdown index ff12bda..4f63982 100644 --- a/_metastore/documentation/installation/messaging/messaging-configuration.markdown +++ b/_metastore/documentation/installation/messaging/messaging-configuration.markdown @@ -20,11 +20,13 @@ in the following table. Typically, no additional repository-specific configurati |repo.messaging.enabled|Enables (true) or disables (false) the entire messaging functionality.|true or false [true] |repo.messaging.hostname|The hostname where the RabbitMQ instance is running at.|A valid hostname [localhost] |repo.messaging.port|The port on which the RabbitMQ instance is running at.|A numeric port number [5672] +|repo.messaging.username| Credential for RabbitMQ (username)|A string identifying user [guest] +|repo.messaging.password| Credential for RabbitMQ (password)|A string containing password for given user [guest] |repo.messaging.sender.exchange|The RabbitMQ exchange to which all messages are sent.|A string uniquely identifying the exchange [metastore_events] | **The following settings** | **are only needed by** | **receivers** |repo.messaging.receiver.exchange|The RabbitMQ exchange from where messages are received.|A string uniquely identifying the exchange [metastore_events] |repo.messaging.receiver.queue|The name of the queue collecting all messages of the exchange. This queue is used for all handlers installed at the repository itself. External consumers may create an own quene.|A string uniquely identifying the queue [metastoreEventQueue] -|repo.messaging.receiver.routingKeys|The routing key (category.[subcategory] of messages) sent to the configured queue.|A String containing the category (e.g. 'metadata') and subcategory (e.g. '\#' for all) [metadata.\#] +|repo.messaging.receiver.routingKeys|The routing key (category.[subcategory] of messages) sent to the configured queue.|A string containing the category (e.g. 'metadata') and subcategory (e.g. '\#' for all) [metadata.\#] |repo.schedule.rate|The schedule rate in milliseconds at which the repository checks for new messages.|A numeric amount of milliseconds [1000] If you want to buld your own message handler please refer to the following [description](../../../../base-repo/documentation/messaging-handler.html) diff --git a/_metastore/documentation/installation/migration-guide/migration-guide.markdown b/_metastore/documentation/installation/migration-guide/migration-guide.markdown index 1256007..7f40be7 100644 --- a/_metastore/documentation/installation/migration-guide/migration-guide.markdown +++ b/_metastore/documentation/installation/migration-guide/migration-guide.markdown @@ -25,7 +25,8 @@ Add the new settings to 'application.properties' (if not recommended otherwise). If the values should not correspond to the default value, please add the adjusted values to 'config/application.properties'. -### Versions +## Versions +- [v1.4.0](#v140) - [v1.3.0](#v130) - [v1.2.3](#v123) - [v1.2.2](#v122) @@ -34,13 +35,67 @@ If the values should not correspond to the default value, please add the adjuste - [v1.1.0](#v110) - [v1.0.1](#v101) -### v1.3.0 +## v1.4.0 +### Settings +There are new configuration options inside the application.properties: -#### System Requirements +#### Configuration for proxy (search endpoints) (mandatory if search is enabled) + +Due to a new feature in proxy library the below property is ***REQUIRED*** for +the search endpoints to work properly: +``` +############################################################################### +# Due to bug in spring cloud gateway +# https://github.com/spring-cloud/spring-cloud-gateway/issues/3154 +############################################################################### +spring.cloud.gateway.proxy.sensitive=content-length +``` +#### Configuration landing page (optional) + +It allows administrators to define an external landing page in case of an existing +external WebUI: +``` +############################################################################### +# Landing Page (Schema & Metadata Documents) +# Redirect to internal or external landing page. +# The string may contain two placeholders for substitution: +# - $(id) - Identifier of the digital object (mandatory) +# - $(version) - Version of the digital object (optional) +# +# e.g.: https://www.example.org/landingpage?id=$(id)&version=$(version) +# +# For frontend-collection use metastore-landing-page.html?pid=$(id) +# e.g. https://HOSTNAME/metastore-landing-page.html?pid=$(id)&version=$(version) +# +# Defaults: +# - /schema-landing-page?schemaId=$(id)&version=$(version) (schema documents) +# - /metadata-landing-page?id=$(id)&version=$(version) (metadata documents) +############################################################################### +metastore.schema.landingpage:/schema-landing-page?schemaId=$(id)&version=$(version) +metastore.metadata.landingpage:/metadata-landing-page?id=$(id)&version=$(version) +``` +#### Configuration credentials for RabbitMQ (optional) + +Set credentials for RabbitMQ in case of RabbitMQ is public available and therefore +default credentials are not valid: +``` +############################################################################### +# Messaging - RabbitMQ +############################################################################### +repo.[...] +repo.messaging.username:guest +repo.messaging.password:guest +repo.[...] +``` + + +## v1.3.0 + +### System Requirements ATTENTION : MetaStore requires Java 17 or later. Java 8 and 11 are no longer supported. -#### Database changes +### Database changes ATTENTION : There is a minor change in the database structure due to the upgrade to SpringBoot 3. @@ -66,7 +121,7 @@ DATABASE=# SELECT pg_catalog.setval('public.linked_metadata_record_seq', MAX_ID, ``` Replace DATABASE and MAX_ID with the values you determined. -#### Settings +### Settings There is a new configuration option inside the application.properties: Default context path switched from '/' to '/metastore' In case of an update remove this line. @@ -79,10 +134,10 @@ server.servlet.context-path=/metastore ATTENTION : This feature MUSTN'T change afterwards. -### v1.2.3 +## v1.2.3 -#### Settings -There are a new configuration options inside the application.properties: +### Settings +There are new configuration options inside the application.properties: It allows administrators to define directory structure while storing metadata/schema documents. ``` @@ -106,9 +161,9 @@ repo.plugin.storage.id.maxDepth:7 # default: @{year}/@{month} repo.plugin.storage.date.pathPattern:@{year}/@{month} ``` -### v1.2.2 +## v1.2.2 -#### Settings +### Settings There is a new configuration option inside the application.properties: It allows administrators to run MetaStore service behind a proxy. ``` @@ -118,12 +173,12 @@ It allows administrators to run MetaStore service behind a proxy. #server.forward-headers-strategy=framework ``` -### v1.2.1 +## v1.2.1 Nothing to migrate. -### v1.2.0 +## v1.2.0 -#### Settings +### Settings There is a new configuration option inside the application.properties: Add actuators for info and health as default. ``` @@ -141,17 +196,17 @@ management.health.elasticsearch.enabled: false management.health.rabbit.enabled: false ``` -### v1.1.0 +## v1.1.0 Nothing to migrate. -### v1.0.1 +## v1.0.1 -#### Database changes +### Database changes ATTENTION : Please migrate your database if you want to update MetaStore while using h2! See: https://h2database.com/html/migration-to-v2.html -### v1.0.0 +## v1.0.0 First production ready version. diff --git a/_metastore/documentation/installation/setup-metastore.markdown b/_metastore/documentation/installation/setup-metastore.markdown index fbdaa96..a2f9f84 100644 --- a/_metastore/documentation/installation/setup-metastore.markdown +++ b/_metastore/documentation/installation/setup-metastore.markdown @@ -87,6 +87,32 @@ repo.plugin.storage.date.pathPattern:@{year}/@{year}_@{month}_@{day}_@{hour}_@{m ############################################################################### #metastore.metadata.schemaRegistries:http://localhost:8040/api/v1/ ``` +# Landing Page (since v1.4.0) +NOTE +: If you use an external UI for MetaStore (e.g. frontend-collection) which also +provides a landing page you may adopt the settings like explained above. + +``` +############################################################################### +# Landing Page (Schema & Metadata Documents) +# Redirect to internal or external landing page. +# The string may contain two placeholders for substitution: +# - $(id) - Identifier of the digital object (mandatory) +# - $(version) - Version of the digital object (optional) +# +# e.g.: https://www.example.org/landingpage?id=$(id)&version=$(version) +# +# For frontend-collection use metastore-landing-page.html?pid=$(id) +# e.g. https://HOSTNAME/metastore-landing-page.html?pid=$(id)&version=$(version) +# +# Defaults: (internal landing page) +# - /schema-landing-page?schemaId=$(id)&version=$(version) (schema documents) +# - /metadata-landing-page?id=$(id)&version=$(version) (metadata documents) +############################################################################### +metastore.schema.landingpage:/schema-landing-page?schemaId=$(id)&version=$(version) +metastore.metadata.landingpage:/metadata-landing-page?id=$(id)&version=$(version) +``` + # OAI PMH NOTE : Make sure that your service is accessible. Replace 'localhost' by the @@ -157,6 +183,8 @@ Messaging is used to inform indexing-service about new/updated metadata document repo.messaging.enabled: false repo.messaging.hostname:localhost repo.messaging.port:5672 +repo.messaging.username:guest +repo.messaging.password:guest repo.messaging.sender.exchange: metastore_events # Settings for receivers. ############################################################################### diff --git a/_posts/metastore/2023-12-19-metastore-v.1.4.0.md b/_posts/metastore/2023-12-19-metastore-v.1.4.0.md new file mode 100644 index 0000000..1ab3f8d --- /dev/null +++ b/_posts/metastore/2023-12-19-metastore-v.1.4.0.md @@ -0,0 +1,85 @@ +--- +breadcrumbs: /metastore/news/ +layout: default +repository_url: https://github.com/kit-data-manager/metastore2 +repository_name: kit-data-manager/metastore2 +documentation_url: https://kit-data-manager.github.io/ +description: A Research Data Repository Service for Managing Metadata Documents based on JSON or XML. +no_nav: true +tags: metastore +title: "MetaStore v1.4.0 released" +--- + +Today, we like to announce version 1.4.0 of the MetaStore service. Below, you can find the list of changes. +## Bugfixes +* Filter now combines resourceID AND schemaID instead of OR (#401) + +## New Features +* Enable authentication for RabbitMQ (#430) +* Add internal landing page +* Add configuration for redirecting landing page alternatively to external site +* Refine return messages for REST (#399, #402, #403) +* Check usage of schema before deleting (#400) +* Use softlink to jar file in start script +* Metadata schema identifiers support lowercase only +* Endpoints for collections (/api/v1/schemas/, /api/v1/metadata/) are available again. (In addition to /api/v1/schemas and /api/v1/metadata) + +## Dependency Upgrades +* Bump com.networknt:json-schema-validator from 1.0.85 to 1.0.86 by @dependabot in [PR 348](https://github.com/kit-data-manager/metastore2/pull/348) +* Bump com.h2database:h2 from 2.1.214 to 2.2.220 by @dependabot in [PR 349](https://github.com/kit-data-manager/metastore2/pull/349) +* Bump gradle from 7.6.1 to 8.2.1. by @VolkerHartmann in [PR 355](https://github.com/kit-data-manager/metastore2/pull/355) +* Bump to gradle from 7.6.1 to 8.2.1 by @github-actions in [PR 354](https://github.com/kit-data-manager/metastore2/pull/354) +* Bump org.springframework.boot from 3.1.0 to 3.1.1 by @github-actions in [PR 358](https://github.com/kit-data-manager/metastore2/pull/358) +* Bump io.spring.dependency-management from 1.1.0 to 1.1.1 by @dependabot in [PR 356](https://github.com/kit-data-manager/metastore2/pull/356) +* Bump io.spring.dependency-management from 1.1.1 to 1.1.2 by @dependabot in [PR 359](https://github.com/kit-data-manager/metastore2/pull/359) +* Bump io.freefair.maven-publish-java from 8.1.0 to 8.2.2 by @dependabot in [PR 364](https://github.com/kit-data-manager/metastore2/pull/364) +* Bump io.spring.dependency-management from 1.1.2 to 1.1.3 by @dependabot in [PR 362](https://github.com/kit-data-manager/metastore2/pull/362) +* Bump com.google.errorprone:error_prone_core from 2.20.0 to 2.21.1 by @dependabot in [PR 361](https://github.com/kit-data-manager/metastore2/pull/361) +* Bump springDocVersion from 2.1.0 to 2.2.0 by @dependabot in [PR 360](https://github.com/kit-data-manager/metastore2/pull/360) +* Bump io.freefair.lombok from 8.1.0 to 8.2.2 by @dependabot in [PR 363](https://github.com/kit-data-manager/metastore2/pull/363) +* Bump docker/setup-buildx-action from 2 to 3 by @dependabot in [PR 374](https://github.com/kit-data-manager/metastore2/pull/374) +* Bump crazy-max/ghaction-docker-meta from 4 to 5 by @dependabot in [PR 371](https://github.com/kit-data-manager/metastore2/pull/371) +* Bump actions/checkout from 3 to 4 by @dependabot in [PR 370](https://github.com/kit-data-manager/metastore2/pull/370) +* Bump docker/setup-qemu-action from 2 to 3 by @dependabot in [PR 373](https://github.com/kit-data-manager/metastore2/pull/373) +* Bump docker/login-action from 2 to 3 by @dependabot in [PR 372](https://github.com/kit-data-manager/metastore2/pull/372) +* Bump org.apache.tika:tika-core from 2.8.0 to 2.9.0 by @dependabot in [PR 369](https://github.com/kit-data-manager/metastore2/pull/369) +* Bump io.freefair.maven-publish-java from 8.2.2 to 8.3 by @dependabot in [PR 368](https://github.com/kit-data-manager/metastore2/pull/368) +* Bump org.mockito:mockito-core from 5.4.0 to 5.5.0 by @dependabot in [PR 366](https://github.com/kit-data-manager/metastore2/pull/366) +* Bump io.freefair.lombok from 8.2.2 to 8.3 by @dependabot in [PR 365](https://github.com/kit-data-manager/metastore2/pull/365) +* Bump org.owasp.dependencycheck from 8.3.1 to 8.4.0 by @dependabot in [PR 367](https://github.com/kit-data-manager/metastore2/pull/367) +* Bump com.networknt:json-schema-validator from 1.0.86 to 1.0.87 by @dependabot in [PR 376](https://github.com/kit-data-manager/metastore2/pull/376) +* Bump com.h2database:h2 from 2.2.220 to 2.2.224 by @dependabot in [PR 375](https://github.com/kit-data-manager/metastore2/pull/375) +* Bump com.google.errorprone:error_prone_core from 2.21.1 to 2.22.0 by @dependabot in [PR 377](https://github.com/kit-data-manager/metastore2/pull/377) +* Bump commons-io:commons-io from 2.13.0 to 2.14.0 by @dependabot in [PR 379](https://github.com/kit-data-manager/metastore2/pull/379) +* Bump docker/build-push-action from 4 to 5 by @dependabot in [PR 378](https://github.com/kit-data-manager/metastore2/pull/378) +* Bump io.freefair.lombok from 8.3 to 8.4 by @dependabot in [PR 380](https://github.com/kit-data-manager/metastore2/pull/380) +* Bump org.mockito:mockito-core from 5.5.0 to 5.6.0 by @dependabot in [PR 381](https://github.com/kit-data-manager/metastore2/pull/381) +* Bump io.freefair.maven-publish-java from 8.3 to 8.4 by @dependabot in [PR 382](https://github.com/kit-data-manager/metastore2/pull/382) +* Bump org.apache.tika:tika-core from 2.9.0 to 2.9.1 by @dependabot in [PR 385](https://github.com/kit-data-manager/metastore2/pull/385) +* Bump org.owasp.dependencycheck from 8.4.0 to 8.4.2 by @dependabot in [PR 384](https://github.com/kit-data-manager/metastore2/pull/384) +* Bump com.google.errorprone:error_prone_core from 2.22.0 to 2.23.0 by @dependabot in [PR 383](https://github.com/kit-data-manager/metastore2/pull/383) +* Bump org.springframework.boot from 3.1.1 to 3.1.5 by @dependabot in [PR 386](https://github.com/kit-data-manager/metastore2/pull/386) +* Bump commons-io:commons-io from 2.14.0 to 2.15.0 by @dependabot in [PR 389](https://github.com/kit-data-manager/metastore2/pull/389) +* Bump org.apache.commons:commons-text from 1.10.0 to 1.11.0 by @dependabot in [PR 390](https://github.com/kit-data-manager/metastore2/pull/390) +* Bump org.mockito:mockito-core from 5.6.0 to 5.7.0 by @dependabot in [PR 391](https://github.com/kit-data-manager/metastore2/pull/391) +* Bump io.spring.dependency-management from 1.1.3 to 1.1.4 by @dependabot in [PR 392](https://github.com/kit-data-manager/metastore2/pull/392) +* Bump org.owasp.dependencycheck from 8.4.2 to 8.4.3 by @dependabot in [PR 394](https://github.com/kit-data-manager/metastore2/pull/394) +* Bump org.owasp.dependencycheck from 8.4.3 to 9.0.1 by @dependabot in [PR 397](https://github.com/kit-data-manager/metastore2/pull/397) +* Bump org.postgresql:postgresql from 42.6.0 to 42.7.0 by @dependabot in [PR 398](https://github.com/kit-data-manager/metastore2/pull/398) +* Bump actions/setup-java from 3 to 4 by @dependabot in [PR 404](https://github.com/kit-data-manager/metastore2/pull/404) +* Bump org.mockito:mockito-core from 5.7.0 to 5.8.0 by @dependabot in [PR 405](https://github.com/kit-data-manager/metastore2/pull/405) +* Bump commons-io:commons-io from 2.15.0 to 2.15.1 by @dependabot in [PR 406](https://github.com/kit-data-manager/metastore2/pull/406) +* Bump springDocVersion from 2.2.0 to 2.3.0 by @dependabot in [PR 407](https://github.com/kit-data-manager/metastore2/pull/407) +* Bump org.owasp.dependencycheck from 9.0.1 to 9.0.2 by @dependabot in [PR 408](https://github.com/kit-data-manager/metastore2/pull/408) +* Bump org.springframework.boot from 3.1.5 to 3.2.0 by @dependabot in [PR 396](https://github.com/kit-data-manager/metastore2/pull/396) +* Bump com.networknt:json-schema-validator from 1.0.87 to 1.0.88 by @dependabot in [PR 423](https://github.com/kit-data-manager/metastoe2/pull/423) +* Bump org.postgresql:postgresql from 42.7.0 to 42.7.1 by @dependabot in [PR 424](https://github.com/kit-data-manager/metastore2/pull/424) +* Bump org.owasp.dependencycheck from 9.0.2 to 9.0.4 by @dependabot in [PR 425](https://github.com/kit-data-manager/metastore2/pull/425) +* Bump javersVersion from 7.0.0 to 7.3.6 by @dependabot in [PR 433](https://github.com/kit-data-manager/metastore2/pull/433) +* Bump org.springframework.data:spring-data-elasticsearch from 5.1.0 to 5.2.0 by @dependabot in [PR 434](https://github.com/kit-data-manager/metastore2/pull/434) +* Bump github/codeql-action from 2 to 3 by @dependabot in [PR 436](https://github.com/kit-data-manager/metastore2/pull/436) +* Bump org.springframework.data:spring-data-elasticsearch from 5.2.0 to 5.2.1 by @dependabot in [PR 437](https://github.com/kit-data-manager/metastore2/pull/437) +* Bump org.owasp.dependencycheck from 9.0.4 to 9.0.7 by @dependabot in [PR 438](https://github.com/kit-data-manager/metastore2/pull/438) +* Bump com.networknt:json-schema-validator from 1.0.88 to 1.1.0 by @dependabot in [PR 439](https://github.com/kit-data-manager/metastore2/pull/439) + +If you face any issues, please file an [issue at GitHub](https://github.com/kit-data-manager/metastore2/issues).