Skip to content

Commit

Permalink
Merge pull request #43 from VolkerHartmann/prepareForMetaStoreVersion…
Browse files Browse the repository at this point in the history
…1.4.0

MetaStore: Add new release.
  • Loading branch information
VolkerHartmann authored Dec 19, 2023
2 parents 23b115b + 29b27bd commit a1ea3bb
Show file tree
Hide file tree
Showing 4 changed files with 188 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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.

Expand All @@ -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.
Expand All @@ -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.
```
Expand All @@ -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.
```
Expand All @@ -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.
```
Expand All @@ -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.


Expand Down
28 changes: 28 additions & 0 deletions _metastore/documentation/installation/setup-metastore.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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.
###############################################################################
Expand Down
85 changes: 85 additions & 0 deletions _posts/metastore/2023-12-19-metastore-v.1.4.0.md
Original file line number Diff line number Diff line change
@@ -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).

0 comments on commit a1ea3bb

Please sign in to comment.