Skip to content

Commit 28f360f

Browse files
committed
Merge remote-tracking branch 'IQSS/develop' into TKLabels
2 parents dae21ec + d2b6a46 commit 28f360f

File tree

86 files changed

+3954
-798
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+3954
-798
lines changed
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: 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: 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
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
### External Vocabulary Mechanism enhancement
2+
3+
- The external vocabulary mechanism (see https://github.com/gdcc/dataverse-external-vocab-support/) now supports
4+
assigning metadatablock dataset field types of fieldType textbox (multiline inputs) as managed fields. This new functionality is
5+
being leveraged to support automated generation of citation text for Related Publications entries. (a url could be added once the work in the external vocabulary repo is done).
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
It is now possible to define storage quotas on individual datasets. See the API guide for more information.
2+
The practical use case is for datasets in the top-level, root collection. This does not address the use case of a user creating multiple datasets. But there is an open dev. issue for adding per-user storage quotas as well.
3+
4+
A convenience API `/api/datasets/{id}/uploadlimits` has been added to show the remaining storage and/or number of files quotas, if present.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
### Bug Fix
2+
3+
Editing a controlled vocabulary field (i.e. one with values specified in the field's metadatablock) that only allows a single selection would also update the value in the prior published version if (and only if) the edit was made starting from the published version (versus an existing draft). This is now fixed.
4+
The bug appears to be 11+ years old and previously unreported. As the value in the database was overwritten, there is no simple way to detect if/when this occurred without looking at backups or archival file copies.
5+

0 commit comments

Comments
 (0)