Skip to content

Commit b8982b6

Browse files
committed
Merge branch 'develop' into 11959-automate-solr-schema-updates
2 parents a502ec0 + 70b6e26 commit b8982b6

118 files changed

Lines changed: 5171 additions & 1228 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
### Support for COAR Notify Relationship Announcement
2+
3+
Dataverse now supports sending and receiving [Linked Data Notification ](https://www.w3.org/TR/ldn/) messages involved in the
4+
[COAR Notify Relationship Announcement Workflow](https://coar-notify.net/catalogue/workflows/repository-relationship-repository/).
5+
6+
Dataverse can send messages to configured repositories announcing that a dataset has a related publication (as defined in the dataset metadata). This may be done automatically upon publication or triggered manually by a superuser. The receiving repository may do anything with the message, with the default expectation being that the repository will create a backlink from the publication to the dataset (assuming the publication exists in the repository, admins agree the link makes sense, etc.)
7+
8+
Conversely, Dataverse can receive notices from other configured repositories announcing relationships between their publications and datasets. If the referenced dataset exists in the Dataverse instance, a notification will be sent to users who can publish the dataset, or, optionally, only superusers who can publish the dataset. They can then decide whether to create a backlink to the publication in the dataset metadata.
9+
10+
(Earlier releases of Dataverse had experimental support in this area that was based on message formats defined prior to finalization of the COAR Notify specification for relationship announcements.)
11+
12+
#### New Settings/JVM Options
13+
14+
Configuration for sending messages involves specifying the
15+
:COARNotifyRelationshipAnnouncementTargets and :COARNotifyRelationshipAnnouncementTriggerFields
16+
17+
Configuration to receive messages involves specifying
18+
DATAVERSE_LDN_ALLOWED_HOSTS (dataverse.ldn.allowed-hosts)
19+
20+
Notifications are sent by default to users who can publish a dataset. The option below can be used to restrict notifications to superusers who can publish the dataset.
21+
22+
DATAVERSE_COAR_NOTIFY_RELATIONSHIP_ANNOUNCEMENT_NOTIFY_SUPERSUSERS_ONLY
23+
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
### Additional licenses
2+
3+
The following Open Data Commons licenses have been added:
4+
5+
- Open Database License (ODbL)
6+
- Open Data Commons Attribution License (ODC-By)
7+
- Open Data Commons Public Domain Dedication and License (PDDL))
8+
9+
The following software license has been added:
10+
11+
- European Union Public License (EUPL)
12+
13+
The following country-specific license has been added:
14+
15+
- Open Government Licence (OGL UK)
16+
17+
The licenses above are widely recognized and used in Europe and beyond to promote data and software sharing. See [the guides](https://dataverse-guide--11522.org.readthedocs.build/en/11522/installation/config.html#configuring-licenses) and #11522.

doc/release-notes/11639-db-opts-idempotency.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,13 @@ The following database settings are were added to the official list within the c
4343
- `:LDNAnnounceRequiredFields`
4444
- `:LDNTarget`
4545
- `:WorkflowsAdminIpWhitelist` - formerly `WorkflowsAdmin#IP_WHITELIST_KEY`
46+
- `:PrePublishDatasetWorkflowId` - formerly `WorkflowServiceBean.WorkflowId:PrePublishDataset`
47+
- `:PostPublishDatasetWorkflowId` - formerly `WorkflowServiceBean.WorkflowId:PostPublishDataset`
48+
49+
### Important Considerations During Upgrade Of Your Installation
50+
51+
1. Running a customized fork? Make sure to add any custom settings to the SettingsServiceBean.Key enum before deploying!
52+
2. Any database settings not contained in the `SettingServiceBean.Key` will be removed from your database during each deployment cycle.
53+
3. As always when upgrading, make sure to backup your database beforehand!
54+
You can also use the existing API endpoint `/api/admin/settings` to retrieve all settings as JSONish data for a quick backup before upgrading.
55+
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
## Get Dataset/Dataverse Storage Driver API
2+
3+
### Changed Json response - breaking change!
4+
5+
The API for getting the Storage Driver info has been changed/extended.
6+
/api/datasets/{identifier}/storageDriver
7+
/api/admin/dataverse/{dataverse-alias}/storageDriver
8+
Rather than returning just the name/id of the driver (with the key "message"), the api call now returns a JSONObject with the driver's "name", "type" and "label", and booleans indicating whether the driver has "directUpload", "directDownload", and/or "uploadOutOfBand" enabled.
9+
10+
This change also affects the /api/admin/dataverse/{dataverse-alias}/storageDriver api call. In addition, this call now supports an optional ?getEffective=true to find the effective storageDriver (the driver that will be used for new datasets in the collection)
11+
12+
See also [the guides](https://dataverse-guide--11664.org.readthedocs.build/en/11664/api/native-api.html#configure-a-dataset-to-store-all-new-files-in-a-specific-file-store), #11695, and #11664.

doc/release-notes/11695-change-api-get-storage-driver.md

Lines changed: 0 additions & 12 deletions
This file was deleted.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
## Notifications API Update
2+
3+
**Endpoint:** `notifications/all`
4+
5+
**Enhancements:**
6+
7+
* When the query parameter `inAppNotificationFormat=true` is set:
8+
9+
* Notifications of types:
10+
11+
* `REQUESTFILEACCESS`
12+
* `REQUESTEDFILEACCESS`
13+
* `GRANTFILEACCESS`
14+
* `REJECTFILEACCESS`
15+
16+
now return both the **dataset display name** and **dataset persistent identifier**.
17+
18+
* Notifications of type `DATASETMENTIONED` now return a **formatted JSON** in the `additionalInfo` field when this field contains a valid persisted JSON string, instead of a raw JSON string.
19+
20+
Related issue: #11804
21+
Related PR: #11851
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
The recommended Payara version has been updated to Payara-6.2025.10
2+
3+
Payara 6.2025.10 cannot be used with earlier versions of Dataverse, e.g. v6.8.
4+
5+
Standard Payara upgrade instructions - as in the 6.7 release notes should be added,
6+
but we should assure the instructions don't have you trying to run 6.8 with the latest Payara
7+
and perhaps should explicitly note that you can't.
8+
9+
We should also change the 'standard' language related to Payara updates to include copying the
10+
*.p12 files from the distributed domain1/config directory into the Dataverse domain1/config directory,
11+
at least if/when they are different. Those files include base certs and over time using the old files
12+
can cause SSL errors. If the domain.xml file is old enough, it may also reference *.jks files instead
13+
of the *.p12 ones. That should also be fixed (domain.xml having those lines updated to reference *.p12 files).
14+
FWIW: I ran across this at TDL where a dev machine stopped being able to contact DataCite because the root
15+
cert used by DataCite today is not in the *.jks files that had been copied forward during Payara updates.)
16+
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
This release adds database indexes on GuestbookResponse and DatasetMetrtics, speeding up Dataset deletes. It also adds a constraint preventing null VersionState, as a matter of good housekeeping practice.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
### Big Data Admin Section
2+
3+
- A new section - Scaling Dataverse with Data Size - has been added to the Admin Guide. It is intended to help administrators configure Dataverse appropriately to handle larger amounts of data.
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
## Notifications API Update
2+
3+
**Endpoint:** `notifications/all`
4+
5+
The user notifications endpoint has been enhanced with new optional query parameters to allow for more specific and
6+
efficient data retrieval.
7+
8+
**1. Filter by Unread Status**
9+
10+
You can now fetch only unread notifications by using the `onlyUnread` boolean parameter.
11+
12+
* **`onlyUnread`**: (Optional, boolean) When set to `true`, the API will only return notifications that the user has not
13+
yet marked as read.
14+
15+
**Example:**
16+
17+
```bash
18+
curl -H "X-Dataverse-key:$API_TOKEN" "$SERVER_URL/api/notifications/all?onlyUnread=true"
19+
```
20+
21+
**2. Pagination Support**
22+
23+
Pagination is now supported through the limit and offset parameters, allowing you to retrieve notifications in smaller,
24+
manageable chunks.
25+
26+
- **`limit`**: (Optional, integer) Specifies the maximum number of notifications to return.
27+
28+
- **`offset`**: (Optional, integer) Specifies the number of notifications to skip before starting to return results.
29+
30+
Example (Retrieve notifications 11 through 20):
31+
32+
```bash
33+
curl -H "X-Dataverse-key:$API_TOKEN" "$SERVER_URL/api/notifications/all?limit=10&offset=10"
34+
```
35+
36+
**3 Breaking Change: API Response Format Updated**
37+
38+
To support pagination and improve consistency across the API, the JSON response format for this endpoint has been
39+
changed. This is a breaking change and will require updates to any client code currently using this endpoint.
40+
41+
**Old Format:**
42+
43+
Previously, the response nested the notification list inside a notifications object within the data field.
44+
45+
```
46+
{
47+
"status": "OK",
48+
"data": {
49+
"notifications": [
50+
/ ... /
51+
]
52+
}
53+
}
54+
```
55+
56+
**New Format:**
57+
58+
The response now includes a top-level totalCount field (required for pagination) and places the notification list
59+
directly in the data field. This flattens the structure and makes it consistent with other paginated endpoints.
60+
61+
```
62+
{
63+
"status": "OK",
64+
"totalCount": 2,
65+
"data": [
66+
/ ... /
67+
]
68+
}
69+
```
70+
71+
Related issue: #11852
72+
Related PR: #11854

0 commit comments

Comments
 (0)