You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added a new API for persistent identifier reconciliation. An unpublished dataset can be updated with a new
2
+
pidProvider. If a persistent identifier was already registered when the dataset was registered, this is undone and the
3
+
new provider (if changed in the meantime) is used. Note that this change does not affect the storage repository where the old identifier is still
4
+
used. See [the guides](https://dataverse-guide--10567.org.readthedocs.build/en/10567/api/native-api.html#reconcile-the-pid-of-a-dataset-if-multiple-pid-providers-are-enabled), #10501, and #10567.
Copy file name to clipboardExpand all lines: doc/sphinx-guides/source/api/native-api.rst
+43-17Lines changed: 43 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -819,7 +819,7 @@ In particular, the user permissions that this API call checks, returned as boole
819
819
820
820
curl -H "X-Dataverse-key: $API_TOKEN" -X GET "$SERVER_URL/api/dataverses/$ID/userPermissions"
821
821
822
-
.. _create-dataset-command:
822
+
.. _create-dataset-command:
823
823
824
824
Create a Dataset in a Dataverse Collection
825
825
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1551,7 +1551,7 @@ The optional ``excludeFiles`` parameter specifies whether the files should be li
1551
1551
1552
1552
The optional ``excludeMetadataBlocks`` parameter specifies whether the metadata blocks should be listed in the output. It defaults to ``false``, preserving backward compatibility. (Note that for a dataset with a large number of versions and/or metadata blocks having the metadata blocks included can dramatically increase the volume of the output).
1553
1553
1554
-
The optional ``offset`` and ``limit`` parameters can be used to specify the range of the versions list to be shown. This can be used to paginate through the list in a dataset with a large number of versions.
1554
+
The optional ``offset`` and ``limit`` parameters can be used to specify the range of the versions list to be shown. This can be used to paginate through the list in a dataset with a large number of versions.
1555
1555
1556
1556
1557
1557
Get Version of a Dataset
@@ -2039,13 +2039,13 @@ be available to users who have permission to view unpublished drafts. The api to
@@ -3564,6 +3564,32 @@ The API can also be used to reset the dataset to use the default/inherited value
3564
3564
3565
3565
The default will always be the same provider as for the dataset PID if that provider can generate new PIDs, and will be the PID Provider set for the collection or the global default otherwise.
3566
3566
3567
+
Reconcile the PID of a Dataset (If Multiple PID Providers Are Enabled)
Dataverse supports configuration with multiple Persistent Identifier (PID) providers (refer to the :ref:`pids-configuration` section for further details).
3571
+
This API endpoint assigns new PIDs to a draft Dataset - and, if applicable, to its Datafiles (cf. :ref:`:AllowEnablingFilePIDsPerCollection <:AllowEnablingFilePIDsPerCollection>`) —
3572
+
using the currently configured PIDProvider. In cases where the active PIDProvider differs from the one initially used to mint the dataset’s original PID, this API call facilitates reconciliation.
3573
+
It ensures consistency by reassigning a PID that aligns with the current provider’s specifications. More specifically, for a draft dataset,
3574
+
a new PID is minted through the active provider, and the previously assigned PID is preserved as an alternativePersistentIdentifier.
3575
+
The same procedure applies to associated datafiles, provided that DataFile PIDs are enabled. (Note: If the currently configured PID provider is identical to the one originally used, this API call has no effect. )
3576
+
3577
+
The API is restricted to superusers and to datasets that have not already been published. (It does not make any changes to any PID Provider.)
3578
+
Warning: This change does not affect the storage repository, where the old PID is still
3579
+
used in the name of where files are stored for the dataset. If you want to remove the PID from the name used in storage, you could manually
3580
+
move the files offline and remove the old identifier from the database (by setting storagelocationdesignator to false for the old identifier
3581
+
in the alternativepersistentidentifier table). However, this step is not required for Dataverse to function correctly.
curl -X PUT -H "X-Dataverse-key:$API_TOKEN" "$SERVER_URL/api/datasets/:persistentId/pidReconcile?persistentId=$PERSISTENT_IDENTIFIER"
3592
+
3567
3593
.. _api-dataset-types:
3568
3594
3569
3595
Dataset Types
@@ -5959,21 +5985,21 @@ To create a harvesting client you must supply a JSON file that describes the con
5959
5985
- ``dataverseAlias``: The alias of an existing collection where harvested datasets will be deposited
5960
5986
- ``harvestUrl``: The URL of the remote OAI archive
5961
5987
- ``archiveUrl``: The URL of the remote archive that will be used in the redirect links pointing back to the archival locations of the harvested records. It may or may not be on the same server as the harvestUrl above. If this OAI archive is another Dataverse installation, it will be the same URL as harvestUrl minus the "/oai". For example: https://demo.dataverse.org/ vs. https://demo.dataverse.org/oai
5962
-
- ``metadataFormat``: A supported metadata format. As of writing this the supported formats are "oai_dc", "oai_ddi" and "dataverse_json".
5988
+
- ``metadataFormat``: A supported metadata format. As of writing this the supported formats are "oai_dc", "oai_ddi" and "dataverse_json".
5963
5989
5964
5990
The following optional fields are supported:
5965
5991
5966
5992
- ``sourceName``: When ``index-harvested-metadata-source`` is enabled (see :ref:`feature-flags`), sourceName will override the nickname in the Metadata Source facet. It can be used to group the content from many harvesting clients under the same name.
5967
5993
- ``archiveDescription``: What the name suggests. If not supplied, will default to "This Dataset is harvested from our partners. Clicking the link will take you directly to the archival source of the data."
5968
-
- ``set``: The OAI set on the remote server. If not supplied, will default to none, i.e., "harvest everything". (Note: see the note below on using sets when harvesting from DataCite; this is new as of v6.6).
5994
+
- ``set``: The OAI set on the remote server. If not supplied, will default to none, i.e., "harvest everything". (Note: see the note below on using sets when harvesting from DataCite; this is new as of v6.6).
5969
5995
- ``style``: Defaults to "default" - a generic OAI archive. (Make sure to use "dataverse" when configuring harvesting from another Dataverse installation).
5970
-
- ``schedule``: Defaults to "none" (not scheduled). Two formats are supported, for weekly- and daily-scheduled harvests; examples: ``Weekly, Sat 5 AM``;``Daily, 11 PM``. Note that if a schedule definition is not formatted exactly as described here, it will be ignored silently and the client will be left unscheduled.
5971
-
- ``customHeaders``: This can be used to configure this client with a specific HTTP header that will be added to every OAI request. This is to accommodate a use case where the remote server requires this header to supply some form of a token in order to offer some content not available to other clients. See the example below. Multiple headers can be supplied separated by `\\n` - actual "backslash" and "n" characters, not a single "new line" character.
5996
+
- ``schedule``: Defaults to "none" (not scheduled). Two formats are supported, for weekly- and daily-scheduled harvests; examples: ``Weekly, Sat 5 AM``;``Daily, 11 PM``. Note that if a schedule definition is not formatted exactly as described here, it will be ignored silently and the client will be left unscheduled.
5997
+
- ``customHeaders``: This can be used to configure this client with a specific HTTP header that will be added to every OAI request. This is to accommodate a use case where the remote server requires this header to supply some form of a token in order to offer some content not available to other clients. See the example below. Multiple headers can be supplied separated by `\\n` - actual "backslash" and "n" characters, not a single "new line" character.
5972
5998
- ``allowHarvestingMissingCVV``: Flag to allow datasets to be harvested with Controlled Vocabulary Values that existed in the originating Dataverse Project but are not in the harvesting Dataverse Project. (Default is false). Currently only settable using API.
5973
5999
- ``useOaiIdentifiersAsPids``: Defaults to false; if set to true, the harvester will attempt to use the identifier from the OAI-PMH record header as the **first choice** for the persistent id of the harvested dataset. When set to false, Dataverse will still attempt to use this identifier, but only if none of the ``<dc:identifier>`` entries in the OAI_DC record contain a valid persistent id (this is new as of v6.5).
5974
6000
- ``useListRecords``: Defaults to false; if set to true, the harvester will attempt to retrieve multiple records in a single pass using the OAI-PMH verb ListRecords. By default, our harvester relies on the combination of ListIdentifiers followed by multiple GetRecord calls for each individual record. Note that this option is required when configuring harvesting from DataCite. (this is new as of v6.6).
5975
6001
5976
-
Generally, the API will accept the output of the GET version of the API for an existing client as valid input, but some fields will be ignored.
6002
+
Generally, the API will accept the output of the GET version of the API for an existing client as valid input, but some fields will be ignored.
5977
6003
5978
6004
You can download this :download:`harvesting-client.json <../_static/api/harvesting-client.json>` file to use as a starting point.
@@ -7261,7 +7287,7 @@ Superusers can add a new license by posting a JSON file adapted from this exampl
7261
7287
Licenses must have a "name" and "uri" and may have the following optional fields: "shortDescription", "iconUri", "rightsIdentifier", "rightsIdentifierScheme", "schemeUri", "languageCode", "active", "sortOrder".
7262
7288
The "name" and "uri" are used to display the license in the user interface, with "shortDescription" and "iconUri" being used to enhance the display if available.
7263
7289
The "rightsIdentifier", "rightsIdentifierScheme", and "schemeUri" should be added if the license is available from https://spdx.org ."languageCode" should be sent if the language is not in English ("en"). "active" is a boolean indicating whether the license should be shown to users as an option. "sortOrder" is a numeric value - licenses are shown in the relative numeric order of this value.
0 commit comments