Skip to content

Commit 98b2e97

Browse files
committed
Merge remote-tracking branch 'IQSS/develop' into
DANS-QDR-merged_bag_changes_for_QA
2 parents d83b7af + b95ee38 commit 98b2e97

35 files changed

Lines changed: 777 additions & 106 deletions

conf/keycloak/builtin-users-spi/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@
100100
</build>
101101

102102
<properties>
103-
<keycloak.version>26.5.0</keycloak.version>
103+
<keycloak.version>26.5.3</keycloak.version>
104104
<java.version>17</java.version>
105105
<jakarta.persistence.version>3.2.0</jakarta.persistence.version>
106106
<mindrot.jbcrypt.version>0.4</mindrot.jbcrypt.version>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
## Bug Fix ##
2+
3+
JSF UI will no longer display the deleted Dataset/Dataverse. A 1 second delay in the UI page redirect gives Solr time to re-index and remove the deleted object.
4+
5+
See:
6+
- [#11206](https://github.com/IQSS/dataverse/issues/11206)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
The API returning information about datasets (`/api/datasets/{id}`) now includes a `locks` field containing a list of the types of all existing locks, e.g. `"locks": ["InReview"]`.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
It is now possible to configure Dataverse to require an embargo reason when a user creates an embargo on one or more files.
2+
By default the embargo reason is optional.
3+
4+
In addition, with this release, if an embargo reason is supplied, it must not be blank.
5+
6+
New Feature Flag:
7+
8+
dataverse.feature.require-embargo-reason - default false
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
This release fixes a bug which prevents PIDs from being generated when the `identifier-generation-style` is set to `storedProcGenerated`.
2+
3+
Previously, this caused a database error ("ERROR: procedure generateidentifierfromstoredprocedure(unknown) does not exist").
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
## New Globus Features in rdm-integration 2.0.1
2+
3+
[rdm-integration](https://github.com/libis/rdm-integration) is a Dataverse external tool for synchronizing files from various source repositories into Dataverse, with support for background processing, DDI-CDI metadata generation, and high-performance Globus transfers.
4+
5+
Release 2.0.1 brings several new Globus capabilities:
6+
7+
- **Guest downloads** — public datasets can be downloaded via Globus without a Dataverse account
8+
- **Preview URL support** — reviewers can download draft dataset files via Globus using general preview URLs
9+
- **Scoped institutional login**`session_required_single_domain` support enables access to institutional Globus endpoints (e.g., HPC clusters); scopes are automatically removed for guest and preview access
10+
- **Real-time transfer progress** — polling-based progress monitoring with percentage display and status updates (ACTIVE/SUCCEEDED/FAILED)
11+
- **Download filtering** — only datasets where the user can download all files are shown, avoiding failed transfers for restricted or embargoed content
12+
- **Hierarchical file tree** — recursive folder selection and color-coded file status
13+
14+
For full details, see the [README](https://github.com/libis/rdm-integration#readme) and [GLOBUS_INTEGRATION.md](https://github.com/libis/rdm-integration/blob/main/GLOBUS_INTEGRATION.md).
15+

doc/sphinx-guides/source/api/auth.rst

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,24 @@ You can reset your API Token from your account page in your Dataverse installati
6666

6767
.. _bearer-tokens:
6868

69+
Using Preview URL Tokens as API Token
70+
--------------------------------------
71+
72+
If you want to access a dataset's contents shared by a preview URL (see :ref:`previewUrl`, :ref:`get-file-using-preview-url-token`, :ref:`get-dataset-by-preview-url-token` and :ref:`create-a-preview-url-for-a-dataset`) using the API, you can use the token in the preview URL as API_TOKEN.
73+
74+
.. code-block:: bash
75+
76+
SERVER_URL=https://demo.dataverse.org
77+
PREVIEW_URL_TOKEN=a56444bc-7697-4711-8964-e0577f055fd2
78+
79+
# this gets you the file listing with the corresponding file IDs, file names and other file metadata
80+
curl "$SERVER_URL/api/datasets/privateUrlDatasetVersion/$PREVIEW_URL_TOKEN"
81+
82+
# this gets you a specific file
83+
FILE_ID=1111111
84+
FILENAME=example.txt
85+
curl -H "X-Dataverse-key:$PREVIEW_URL_TOKEN" -o "$FILENAME" "$SERVER_URL/api/access/datafile/$FILE_ID"
86+
6987
Bearer Tokens
7088
-------------
7189

doc/sphinx-guides/source/api/dataaccess.rst

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,23 @@ The fully expanded example above (without environment variables) looks like this
168168
169169
curl -H "Range:bytes=0-9" https://demo.dataverse.org/api/access/datafile/42
170170
171+
172+
.. _get-file-using-preview-url-token:
173+
174+
Using a Preview URL Token
175+
~~~~~~~~~~~~~~~~~~~~~~~~~
176+
177+
If you want to access a file in a dataset shared by a preview URL (see :ref:`previewUrl`, :ref:`get-dataset-by-preview-url-token` and :ref:`create-a-preview-url-for-a-dataset`) using the API, you can use the token in the preview URL as API_TOKEN.
178+
179+
.. code-block:: bash
180+
181+
SERVER_URL=https://demo.dataverse.org
182+
PREVIEW_URL_TOKEN=a56444bc-7697-4711-8964-e0577f055fd2
183+
FILE_ID=1111111
184+
FILENAME=example.txt
185+
curl -H "X-Dataverse-key:$PREVIEW_URL_TOKEN" -o "$FILENAME" "$SERVER_URL/api/access/datafile/$FILE_ID"
186+
187+
171188
Multiple File ("bundle") download
172189
---------------------------------
173190

doc/sphinx-guides/source/api/native-api.rst

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2808,6 +2808,8 @@ The fully expanded example above (without environment variables) looks like this
28082808
curl -H "X-Dataverse-key:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -X DELETE "https://demo.dataverse.org/api/datasets/2347/assignments/6"
28092809
28102810
2811+
.. _create-a-preview-url-for-a-dataset:
2812+
28112813
Create a Preview URL for a Dataset
28122814
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28132815

@@ -3695,14 +3697,14 @@ Set an Embargo on Files in a Dataset
36953697

36963698
``/api/datasets/$dataset-id/files/actions/:set-embargo`` can be used to set an embargo on one or more files in a dataset. Embargoes can be set on files that are only in a draft dataset version (and are not in any previously published version) by anyone who can edit the dataset. The same API call can be used by a superuser to add an embargo to files that have already been released as part of a previously published dataset version.
36973699

3698-
The API call requires a Json body that includes the embargo's end date (dateAvailable), a short reason (optional), and a list of the fileIds that the embargo should be set on. The dateAvailable must be after the current date and the duration (dateAvailable - today's date) must be less than the value specified by the :ref:`:MaxEmbargoDurationInMonths` setting. All files listed must be in the specified dataset. For example:
3700+
The API call requires a Json body that includes the embargo's end date (dateAvailable - YYYY-MM-DD format), a short reason (must not consist of whitespace only, optional unless Dataverse is configured to make it required), and a list of the fileIds that the embargo should be set on. The dateAvailable must be after the current date and the duration (dateAvailable - today's date) must be less than the value specified by the :ref:`:MaxEmbargoDurationInMonths` setting. All files listed must be in the specified dataset. For example:
36993701

37003702
.. code-block:: bash
37013703
37023704
export API_TOKEN=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
37033705
export SERVER_URL=https://demo.dataverse.org
37043706
export PERSISTENT_IDENTIFIER=doi:10.5072/FK2/7U7YBV
3705-
export JSON='{"dateAvailable":"2021-10-20", "reason":"Standard project embargo", "fileIds":[300,301,302]}'
3707+
export JSON='{"dateAvailable":"2021-01-20", "reason":"Standard project embargo", "fileIds":[300,301,302]}'
37063708
37073709
curl -H "X-Dataverse-key: $API_TOKEN" -H "Content-Type:application/json" "$SERVER_URL/api/datasets/:persistentId/files/actions/:set-embargo?persistentId=$PERSISTENT_IDENTIFIER" -d "$JSON"
37083710
@@ -3914,6 +3916,8 @@ Like :ref:`get-export-formats`, this API can be used to get URLs to dataset meta
39143916
39153917
curl -H "Accept:application/json" "$SERVER_URL/api/datasets/:persistentId/versions/$VERSION/linkset?persistentId=$PERSISTENT_IDENTIFIER"
39163918
3919+
.. _get-dataset-by-preview-url-token:
3920+
39173921
Get Dataset By Preview URL Token
39183922
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39193923

@@ -3932,6 +3936,8 @@ Usage example:
39323936
39333937
curl "https://demo.dataverse.org/api/datasets/previewUrlDatasetVersion/a56444bc-7697-4711-8964-e0577f055fd2?returnOwners=true"
39343938
3939+
For downloading files using a preview URL token, see the :ref:`Data Access API <get-file-using-preview-url-token>`.
3940+
39353941

39363942
.. _get-citation:
39373943

@@ -3997,6 +4003,7 @@ Get Citation by Preview URL Token
39974003
39984004
curl "$SERVER_URL/api/datasets/previewUrlDatasetVersion/$PREVIEW_URL_TOKEN/citation"
39994005
4006+
40004007
.. _get-dataset-summary-field-names:
40014008

40024009
Get Summary Field Names

doc/sphinx-guides/source/api/search.rst

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ The parameters and JSON response are partly inspired by the `GitHub Search API <
1717

1818
Please note that in Dataverse Software 4.3 and older the "citation" field wrapped the persistent ID URL in an ``<a>`` tag but this has been changed to plaintext. If you want the old value with HTML in it, a new field called "citationHtml" can be used.
1919

20-
2120
Parameters
2221
----------
2322

@@ -27,7 +26,7 @@ Name Type Description
2726
q string The search term or terms. Using "title:data" will search only the "title" field. "*" can be used as a wildcard either alone or adjacent to a term (i.e. "bird*"). For example, https://demo.dataverse.org/api/search?q=title:data . For a list of fields to search, please see https://github.com/IQSS/dataverse/issues/2558 (for now).
2827
type string Can be either "dataverse", "dataset", or "file". Multiple "type" parameters can be used to include multiple types (i.e. ``type=dataset&type=file``). If omitted, all types will be returned. For example, https://demo.dataverse.org/api/search?q=*&type=dataset
2928
subtree string The identifier of the Dataverse collection to which the search should be narrowed. The subtree of this Dataverse collection and all its children will be searched. Multiple "subtree" parameters can be used to include multiple Dataverse collections. For example, https://demo.dataverse.org/api/search?q=data&subtree=birds&subtree=cats .
30-
sort string The sort field. Supported values include "name", "date" and "relevance". See example under "order".
29+
sort string The sort field. Supported values include "name", "date", and "score". Sorting by "score" orders by **relevance** and is the default if this parameter is omitted.
3130
order string The order in which to sort. Can either be "asc" or "desc". For example, https://demo.dataverse.org/api/search?q=data&sort=name&order=asc
3231
per_page int The number of results to return per request. The default is 10. The max is 1000. See :ref:`iteration example <iteration-example>`.
3332
start int A cursor for paging through search results. See :ref:`iteration example <iteration-example>`.

0 commit comments

Comments
 (0)