Skip to content

Commit 2fff36e

Browse files
authored
Merge branch 'develop' into 12178_CSRF_session_cookie_CSRF_protections
2 parents 7962c3c + 430037c commit 2fff36e

34 files changed

Lines changed: 1623 additions & 262 deletions

conf/solr/solr-driver.sh

Lines changed: 1066 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
### Breaking Changes
2+
3+
All endpoints related to storage drivers have been moved out of the Admin API.
4+
5+
- The GET, PUT, and DELETE endpoints for `/api/admin/dataverse/{alias}/storageDriver` have been moved to `/api/dataverses/{alias}/storageDriver`. Write operations continue to be accessible only to superusers, while GET methods are public.
6+
- The endpoint `/api/admin/dataverse/storageDrivers` has been made public, moved, and renamed to `/api/dataverses/{alias}/allowedStorageDrivers`. Regarding the name change, this endpoint will in the future only display the storage drivers that are allowed on the specified collection. For now, it will display the entire list of available drivers on the installation.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
This release offers improved support for Handles as persistent ids.
2+
3+
The following issues are fixed:
4+
- When pid registration of persistent ids for files is enabled, Dataverse will create the handle as soon as the file is created (similary to other persistent id providers) (issue #12174);
5+
- When a new handle is created, for a dataset or file that is still a draft, it will be reserved and registered, but not visible publicly. The handle will become visible and the redirects will start working once it is published. This is also in line with how DOI providers work (issue #8881).
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
A new query parameter (`ignoreSettingExcludeEmailFromExport`) has been added to the ["View a Dataverse Collection"](https://guides.dataverse.org/en/latest/api/native-api.html#view-a-dataverse-collection) API (`/api/dataverses/{collectionId}`).
2+
This query parameter prevents the contact emails from being excluded when the setting `ExcludeEmailFromExport` is set to true and the user has EditDataverse permissions.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
## Bug
2+
Guest requesting file download using :persistentId with guestbook response is now working.
3+
4+
"persistentId" will be replaced by the actual fileId in the signed url that is returned by the POST call containing the guestbook response.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
## Feature
2+
3+
Added Submit for Review dialog disclaimer messages (similar to Publish disclaimer messages). Can be set using setting :SubmitForReviewDatasetDisclaimerText
4+
Also added :DatasetSubmitForReviewPopupCustomText to allow for custom text to be displayed in the dialog similar to the Publish dialog

doc/sphinx-guides/source/admin/dataverses-datasets.rst

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,31 +50,31 @@ Recursively assigns the users and groups having a role(s),that are in the set co
5050
Configure a Dataverse Collection to Store All New Files in a Specific File Store
5151
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
5252

53-
To direct new files (uploaded when datasets are created or edited) for all datasets in a given Dataverse collection, the store can be specified via the API as shown below, or by editing the 'General Information' for a Dataverse collection on the Dataverse collection page. Only accessible to superusers. ::
53+
To direct new files (uploaded when datasets are created or edited) for all datasets in a given Dataverse collection, the store can be specified via the API as shown below, or by editing the 'General Information' for a Dataverse collection on the Dataverse collection page. Requires permission to edit the Dataverse collection (for example, the ``EditDataverse`` permission). ::
5454
55-
curl -H "X-Dataverse-key: $API_TOKEN" -X PUT -d $storageDriverLabel http://$SERVER/api/admin/dataverse/$dataverse-alias/storageDriver
55+
curl -H "X-Dataverse-key: $API_TOKEN" -X PUT -d $storageDriverLabel http://$SERVER/api/dataverses/$dataverse-alias/storageDriver
5656

5757
(Note that for ``dataverse.files.store1.label=MyLabel``, you should pass ``MyLabel``.)
5858

5959
A store assigned directly to a collection can be seen using::
6060

61-
curl -H "X-Dataverse-key: $API_TOKEN" http://$SERVER/api/admin/dataverse/$dataverse-alias/storageDriver
61+
curl -H "X-Dataverse-key: $API_TOKEN" http://$SERVER/api/dataverses/$dataverse-alias/storageDriver
6262

6363
This may be null. To get the effective storageDriver for a collection, which may be inherited from a parent collection or be the installation default, you can use::
6464

65-
curl -H "X-Dataverse-key: $API_TOKEN" http://$SERVER/api/admin/dataverse/$dataverse-alias/storageDriver?getEffective=true
65+
curl -H "X-Dataverse-key: $API_TOKEN" http://$SERVER/api/dataverses/$dataverse-alias/storageDriver?getEffective=true
6666

6767
This will never be null.
6868

6969
(Note that for ``dataverse.files.store1.label=MyLabel``, the JSON response will include "name":"store1" and "label":"MyLabel".)
7070

7171
To delete a store assigned directly to a collection (so that the colllection's effective store is inherted from it's parent or is the global default), use::
7272

73-
curl -H "X-Dataverse-key: $API_TOKEN" -X DELETE http://$SERVER/api/admin/dataverse/$dataverse-alias/storageDriver
73+
curl -H "X-Dataverse-key: $API_TOKEN" -X DELETE http://$SERVER/api/dataverses/$dataverse-alias/storageDriver
7474
75-
The available drivers can be listed with::
75+
The available drivers within a collection can be listed with::
7676

77-
curl -H "X-Dataverse-key: $API_TOKEN" http://$SERVER/api/admin/dataverse/storageDrivers
77+
curl -H "X-Dataverse-key: $API_TOKEN" http://$SERVER/api/dataverses/$dataverse-alias/allowedStorageDrivers
7878
7979
(Individual datasets can be configured to use specific file stores as well. See the "Datasets" section below.)
8080

doc/sphinx-guides/source/admin/metadatacustomization.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -549,8 +549,9 @@ You will need to reload your Solr schema via an HTTP-API call, targeting your So
549549

550550
``curl "http://localhost:8983/solr/admin/cores?action=RELOAD&core=collection1"``
551551

552-
You can easily roll your own little script to automate the process (which might involve fetching the schema bits
553-
from some place else than your Dataverse installation).
552+
You can easily roll your own little script to automate the process
553+
(which might involve fetching the schema bits from some place else than your Dataverse installation).
554+
For your convenience, an example script :download:`solr-driver.sh <../../../../conf/solr/solr-driver.sh>` has been added.
554555

555556
Please note that reconfigurations of your Solr index might require a re-index. Usually release notes indicate
556557
a necessary re-index, but for your custom metadata you will need to keep track on your own.

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,15 @@ This API changelog is experimental and we would love feedback on its usefulness.
1010
v6.11
1111
-----
1212

13+
- The endpoints GET, PUT AND DELETE for `/api/admin/dataverse/{alias}/storageDriver` have been moved to `/api/dataverses/{alias}/storageDriver`.
14+
- The endpoint `/api/admin/dataverse/storageDrivers` has been moved and renamed to `/api/dataverses/{alias}/allowedStorageDrivers`. Regarding the change of the name, this endpoint will in the future only display the storageDrivers that are allowed on the specified collection, as of now, it will display the entire list of available Drivers on the installation.
1315
- The following API will now return ``403`` if the ``requireFilesToPublishDataset`` flag is set and the dataset version contains 0 files.
1416

1517
- **/api/datasets/{Id}/submitForReview**
1618

1719
- The Croissant :ref:`metadata export format <metadata-export-formats>` has been updated from version 1.0 to 1.1, which is reflected in the ``conformsTo`` property. The unused ``wd`` property has been dropped.
1820

21+
1922
v6.10
2023
-----
2124
- The following GET APIs will now return ``400`` if a required Guestbook Response is not supplied. A Guestbook Response can be passed to these APIs in the JSON body using a POST call. See the notes under :ref:`basic-file-access` and :ref:`download-by-dataset-by-version` for details.
@@ -38,7 +41,6 @@ v6.10
3841

3942
- **/api/access/datafile/{id}/requestAccess**
4043

41-
4244
v6.9
4345
----
4446

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

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,13 @@ Usage example:
185185
186186
curl "https://demo.dataverse.org/api/dataverses/root?returnChildCount=true"
187187
188+
If a user with EditDataverse permissions wants to ignore the setting ``ExcludeEmailFromExport`` in order to see the contact emails, they must include the ``ignoreSettingExcludeEmailFromExport`` query parameter.
189+
190+
Usage example:
191+
192+
.. code-block:: bash
193+
194+
curl -H "X-Dataverse-key:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" "https://demo.dataverse.org/api/dataverses/root?ignoreSettingExcludeEmailFromExport=true"
188195
189196
To view an unpublished Dataverse collection:
190197

@@ -6635,6 +6642,28 @@ The fully expanded example above (without environment variables) looks like this
66356642
66366643
curl "https://demo.dataverse.org/api/info/settings/:DatasetPublishPopupCustomText"
66376644
6645+
.. _show-custom-popup-for-submitting-for-review-datasets:
6646+
6647+
Show Custom Popup Text for Submitting Datasets For Review
6648+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6649+
6650+
For now, only the value for the :ref:`:DatasetSubmitForReviewPopupCustomText` setting from the Configuration section of the Installation Guide is exposed:
6651+
6652+
.. note:: See :ref:`show-disclaimer-for-submit-for-review-datasets` if you want the user to acknowledge before submitting for review.
6653+
.. note:: See :ref:`curl-examples-and-environment-variables` if you are unfamiliar with the use of export below.
6654+
6655+
.. code-block:: bash
6656+
6657+
export SERVER_URL=https://demo.dataverse.org
6658+
6659+
curl "$SERVER_URL/api/info/settings/:DatasetSubmitForReviewPopupCustomText"
6660+
6661+
The fully expanded example above (without environment variables) looks like this:
6662+
6663+
.. code-block:: bash
6664+
6665+
curl "https://demo.dataverse.org/api/info/settings/:DatasetSubmitForReviewPopupCustomText"
6666+
66386667
.. _show-disclaimer-for-publishing-datasets:
66396668
66406669
Show Disclaimer for Publishing Datasets
@@ -6657,6 +6686,27 @@ The fully expanded example above (without environment variables) looks like this
66576686
66586687
curl "https://demo.dataverse.org/api/info/settings/:PublishDatasetDisclaimerText"
66596688
6689+
.. _show-disclaimer-for-submit-for-review-datasets:
6690+
6691+
Show Disclaimer for Submitting For Review Datasets
6692+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6693+
6694+
The setting :ref:`:SubmitForReviewDatasetDisclaimerText`, when set, will prevent a draft dataset from being submitted for review through the UI without the user acknowledging the disclaimer.
6695+
6696+
.. note:: See :ref:`curl-examples-and-environment-variables` if you are unfamiliar with the use of export below.
6697+
6698+
.. code-block:: bash
6699+
6700+
export SERVER_URL=https://demo.dataverse.org
6701+
6702+
curl "$SERVER_URL/api/info/settings/:SubmitForReviewDatasetDisclaimerText"
6703+
6704+
The fully expanded example above (without environment variables) looks like this:
6705+
6706+
.. code-block:: bash
6707+
6708+
curl "https://demo.dataverse.org/api/info/settings/:SubmitForReviewDatasetDisclaimerText"
6709+
66606710
.. _api-get-app-tou:
66616711
66626712
Get Application Terms of Use (General Terms of Use)
@@ -8872,7 +8922,7 @@ A curl example using allowing access to a dataset's metadata
88728922
88738923
curl -H "X-Dataverse-key:$API_KEY" -H 'Content-Type:application/json' -d "$JSON" "$SERVER_URL/api/admin/requestSignedUrl"
88748924
8875-
Please see :ref:`dataverse.api.signature-secret` for the configuration option to add a shared secret, enabling extra
8925+
Please see :ref:`dataverse.api.signing-secret` for the configuration option to add a shared secret, enabling extra
88768926
security.
88778927
88788928
.. _send-feedback-admin:

0 commit comments

Comments
 (0)