Skip to content

Commit 9a0d5f4

Browse files
authored
Merge branch 'develop' into 11998-features-in-guides
2 parents 3ab7708 + 5dc8b47 commit 9a0d5f4

34 files changed

Lines changed: 1148 additions & 203 deletions
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
### Croissant 1.1 (Summary Statistics)
2+
3+
The Croissant metadata export format has been updated from version 1.0 to 1.1.
4+
5+
Summary statistics (mean, min, max, etc.) are now included for tabular files that were successfully ingested.
6+
7+
You can download an example Croissant file from the [Supported Metadata Export Formats](https://dataverse-guide--12214.org.readthedocs.build/en/12214/user/dataset-management.html#supported-metadata-export-formats) section of the guides.
8+
9+
Minor backward-incompatible changes were made, which are noted below.
10+
11+
See #12014 and #12214
12+
13+
## Backward Incompatible Changes
14+
15+
Generally speaking, see the [API Changelog](https://guides.dataverse.org/en/latest/api/changelog.html) for a list of backward-incompatible API changes.
16+
17+
Minor changes in the `croissant` format are noted in the [API changelog](https://dataverse-guide--12214.org.readthedocs.build/en/12214/api/changelog.html).
18+
19+
## Upgrade Instructions
20+
21+
1. Re-export metadata export formats
22+
23+
We re-export because the Croissant format was updated.
24+
25+
`curl http://localhost:8080/api/admin/metadata/reExportAll`
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
Incremental improvements have been made to the process of registering dataset metadata with DataCite. If your instance is using DataCite, please make sure you have a valid DataCite REST API url configured, since it is now required.
2+
3+
The JVM option(s) in question are `dataverse.pid.*.datacite.rest-api-url` if the recommended, new-style pid configuration is used, or `doi.dataciterestapiurlstring` if the legacy settings are in place. In the latter case however, this may be a good occasion to switch to the new configuration setup.
4+
5+
For instances using registered DataCite authorities in production the url should be:
6+
7+
```<jvm-options>-Ddataverse.pid.<providername>.datacite.rest-api-url=https://api.datacite.org</jvm-options>```
8+
9+
Or, for test and development instances:
10+
11+
```<jvm-options>-Ddataverse.pid.<providername>.datacite.rest-api-url=https://api.test.datacite.org</jvm-options>```
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
A new API endpoint for getting the default contributor role of a collection (`GET /api/dataverses/$ID/defaultContributorRole`) was added.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fixed a problem with S3 direct upload to datasets which using lower- or mixed-case PID authority/identifier in the database and to datasets using an alternative identifier for file storage.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Language change for file.deaccessionDialog.reason.selectItem.notValid
2+
3+
"Not a valid dataset." is being changed to "Not valid. This dataset does not comply with repository policies."
4+
This is the default English language version. For installations using customized languages, replacing the Bundle.properties file, please follow these manual instructions to make this modification, if desired.
5+
6+
Make the change to the Bundle_##.properties file with the new verbiage. Either locally or as an update to [dataverse-language-packs Repo](https://github.com/GlobalDataverseCommunityConsortium/dataverse-language-packs/tree/develop)
7+
8+
The SQL statements to modify the datasets is:
9+
10+
- `UPDATE dvobject SET indextime=null WHERE id in (SELECT dataset_id FROM datasetversion WHERE deaccessionnote='Not a valid dataset.');`
11+
12+
- `UPDATE datasetversion SET deaccessionnote='Not valid. This dataset does not comply with repository policies.' WHERE deaccessionnote='Not a valid dataset.';`
13+
14+
Once the database is updated the Solr indexes need to be rebuilt using the following Admin API:
15+
16+
- `curl http://localhost:8080/api/admin/index`

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ This API changelog is experimental and we would love feedback on its usefulness.
77
:local:
88
:depth: 1
99

10+
v6.11
11+
-----
12+
13+
- 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. ``@vocab`` and ``sc`` properties now use "http" as `recommended <https://github.com/mlcommons/croissant/pull/929#pullrequestreview-3079137662>`_. The unused ``wd`` property has been dropped.
14+
1015
v6.10
1116
-----
1217
- 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.

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

Lines changed: 60 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -525,7 +525,7 @@ The fully expanded example above (without environment variables) looks like this
525525
Assign Default Role to User Creating a Dataset in a Dataverse Collection
526526
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
527527

528-
Assign a default role to a user creating a dataset in a Dataverse collection ``id`` where ``roleAlias`` is the database alias of the role to be assigned:
528+
Assign a default role to a user creating a dataset in a Dataverse collection ``id`` where ``roleAlias`` is the database alias of the role to be assigned (requires ``ManageDataversePermissions``):
529529

530530
.. code-block:: bash
531531
@@ -544,6 +544,27 @@ The fully expanded example above (without environment variables) looks like this
544544
545545
Note: You may use "none" as the ``ROLE_ALIAS``. This will prevent a user who creates a dataset from having any role on that dataset. It is not recommended for Dataverse collections with human contributors.
546546

547+
.. _get-default-contributor-role-on-a-dataverse-api:
548+
549+
Get Default Role Assigned to User Creating a Dataset in a Dataverse Collection
550+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
551+
552+
Get the default role that is assigned to a user creating a dataset in a Dataverse collection ``id`` (requires ``ManageDataversePermissions``):
553+
554+
.. code-block:: bash
555+
556+
export API_TOKEN=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
557+
export SERVER_URL=https://demo.dataverse.org
558+
export ID=root
559+
560+
curl -H "X-Dataverse-key:$API_TOKEN" "$SERVER_URL/api/dataverses/$ID/defaultContributorRole"
561+
562+
The fully expanded example above (without environment variables) looks like this:
563+
564+
.. code-block:: bash
565+
566+
curl -H "X-Dataverse-key:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" "https://demo.dataverse.org/api/dataverses/root/defaultContributorRole"
567+
547568
.. _assign-role-on-a-dataverse-api:
548569

549570
Assign a New Role on a Dataverse Collection
@@ -8852,51 +8873,58 @@ Note that this API is probably only useful for testing.
88528873
MyData
88538874
------
88548875
8855-
The MyData API is used to get a list of just the datasets, dataverses or datafiles an authenticated user can edit.
8876+
The MyData API is used to get a list of just the datasets, collections (dataverses), or datafiles an authenticated user has a role on.
88568877
8857-
The API excludes dataverses linked to an harvesting client. This results in `a known issue <https://github.com/IQSS/dataverse/issues/11083>`_ where regular datasets in harvesting dataverses are missing from the results.
8878+
The API excludes collections linked to an harvesting client. This results in `a known issue <https://github.com/IQSS/dataverse/issues/11083>`_ where regular datasets in harvesting collections are missing from the results.
88588879
8859-
A curl example listing objects
8880+
Here is a curl example.
88608881
88618882
.. code-block:: bash
88628883
88638884
export API_TOKEN=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
88648885
export SERVER_URL=https://demo.dataverse.org
8865-
export ROLE_IDS=6
8866-
export DVOBJECT_TYPES=Dataset
8867-
export PUBLISHED_STATES=Unpublished
8886+
export ROLE_ID1=6
8887+
export ROLE_ID2=8
8888+
export DVTYPE1=Dataset
8889+
export DVTYPE2=Dataverse
8890+
export PUBLISHED_STATE1=Unpublished
8891+
export PUBLISHED_STATE2=Published
88688892
export PER_PAGE=10
88698893
8870-
curl -H "X-Dataverse-key:$API_TOKEN" "$SERVER_URL/api/mydata/retrieve?role_ids=$ROLE_IDS&dvobject_types=$DVOBJECT_TYPES&published_states=$PUBLISHED_STATES&per_page=$PER_PAGE"
8871-
8872-
Parameters:
8873-
8874-
``role_id`` Roles are customizable. Standard roles include:
8894+
curl -H "X-Dataverse-key:$API_TOKEN" "$SERVER_URL/api/mydata/retrieve?role_ids=$ROLE_ID1&role_ids=$ROLE_ID2&dvobject_types=$DVTYPE1&dvobject_types=$DVTYPE2&published_states=$PUBLISHED_STATE1&published_states=$PUBLISHED_STATE2&per_page=$PER_PAGE"
88758895
8876-
- ``1`` = Admin
8877-
- ``2`` = File Downloader
8878-
- ``3`` = Dataverse + Dataset Creator
8879-
- ``4`` = Dataverse Creator
8880-
- ``5`` = Dataset Creator
8881-
- ``6`` = Contributor
8882-
- ``7`` = Curator
8883-
- ``8`` = Member
8884-
8885-
``dvobject_types`` Type of object, several possible values among: ``DataFile`` , ``Dataset`` & ``Dataverse`` .
8886-
8887-
``published_states`` State of the object, several possible values among:``Published`` , ``Unpublished`` , ``Draft`` , ``Deaccessioned`` & ``In+Review`` .
8888-
8889-
``per_page`` Number of results returned per page.
8890-
8891-
``metadata_fields`` Includes the requested fields for each dataset in the response. Multiple "metadata_fields" parameters can be used to include several fields. See :doc:`search` for further information on this parameter.
8896+
The fully expanded example above (without environment variables) looks like this:
88928897
8893-
``show_collections`` Whether or not to include a list of parent and linked collections for each dataset search result.
8898+
.. code-block:: bash
88948899
8895-
``sort`` The sort field. Supported values include "name", "date" and "relevance".
8900+
curl -H "X-Dataverse-key:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" "https://demo.dataverse.org/api/mydata/retrieve?role_ids=6&role_ids=8&dvobject_types=Dataset&published_states=Unpublished&published_states=Published&per_page=10"
88968901
8897-
``order`` The order in which to sort. Can either be "asc" or "desc".
8902+
**Parameters:**
88988903
8899-
``fq`` A filter query to filter the list returned. Multiple "fq" parameters can be used.
8904+
- ``role_ids``: Roles are customizable. Multiple "role_ids" parameters can be used to include several roles. Standard roles include:
8905+
- ``1`` = Admin
8906+
- ``2`` = File Downloader
8907+
- ``3`` = Dataverse + Dataset Creator
8908+
- ``4`` = Dataverse Creator
8909+
- ``5`` = Dataset Creator
8910+
- ``6`` = Contributor
8911+
- ``7`` = Curator
8912+
- ``8`` = Member
8913+
- ``dvobject_types``: Type of object. Multiple "dvobject_types" parameters can be used to include several types. Possible values:
8914+
- ``Dataverse``
8915+
- ``Dataset``
8916+
- ``DataFile``
8917+
- ``published_states``: State of the object. Multiple "published_states" parameters can be used to include several states. Possible values:
8918+
- ``Published``
8919+
- ``Unpublished``
8920+
- ``Draft``
8921+
- ``Deaccessioned``
8922+
- ``In+Review`` (the ``+`` represents a space)
8923+
- ``mydata_search_term``: A string used to search for specific data within the user's MyData collection.
8924+
- ``selected_page``: The page number of results to return (used for pagination).
8925+
- ``per_page``: Number of results returned per page.
8926+
- ``order``: The order in which to sort. Can either be "asc" or "desc".
8927+
- ``fq``: A filter query (Solr syntax) to narrow the list returned. Multiple "fq" parameters can be used.
89008928
89018929
MyData Collection List
89028930
~~~~~~~~~~~~~~~~~~~~~~

0 commit comments

Comments
 (0)