Skip to content

Commit 6c5194f

Browse files
committed
Merge branch 'develop' into 10623-globus-improvements
Conflicts: doc/sphinx-guides/source/installation/config.rst
2 parents 5d8c760 + cabc9c0 commit 6c5194f

43 files changed

Lines changed: 2490 additions & 768 deletions

Some content is hidden

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

conf/solr/schema.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,7 @@
352352
<field name="productionPlace" type="text_en" multiValued="true" stored="true" indexed="true"/>
353353
<field name="publication" type="text_en" multiValued="true" stored="true" indexed="true"/>
354354
<field name="publicationCitation" type="text_en" multiValued="true" stored="true" indexed="true"/>
355+
<field name="publicationRelationType" type="text_en" multiValued="true" stored="true" indexed="true"/>
355356
<field name="publicationIDNumber" type="text_en" multiValued="true" stored="true" indexed="true"/>
356357
<field name="publicationIDType" type="text_en" multiValued="true" stored="true" indexed="true"/>
357358
<field name="publicationURL" type="text_en" multiValued="true" stored="true" indexed="true"/>
@@ -593,6 +594,7 @@
593594
<copyField source="productionPlace" dest="_text_" maxChars="3000"/>
594595
<copyField source="publication" dest="_text_" maxChars="3000"/>
595596
<copyField source="publicationCitation" dest="_text_" maxChars="3000"/>
597+
<copyField source="publicationRelationType" dest="_text_" maxChars="3000"/>
596598
<copyField source="publicationIDNumber" dest="_text_" maxChars="3000"/>
597599
<copyField source="publicationIDType" dest="_text_" maxChars="3000"/>
598600
<copyField source="publicationURL" dest="_text_" maxChars="3000"/>
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
### Enhanced DataCite Metadata, Relation Type
2+
3+
A new field has been added to the citation metadatablock to allow entry of the "Relation Type" between a "Related Publication" and a dataset. The Relation Type is currently limited to the most common 6 values recommended by DataCite: isCitedBy, Cites, IsSupplementTo, IsSupplementedBy, IsReferencedBy, and References. For existing datasets where no "Relation Type" has been specified, "IsSupplementTo" is assumed.
4+
5+
Dataverse now supports the DataCite v4.5 schema. Additional metadata, including metadata about Related Publications, and files in the dataset are now being sent to DataCite and improvements to how PIDs (ORCID, ROR, DOIs, etc.), license/terms, geospatial, and other metadata is represented have been made. The enhanced metadata will automatically be sent when datasets are created and published and is available in the DataCite XML export after publication.
6+
7+
The additions are in rough alignment with the OpenAIRE XML export, but there are some minor differences in addition to the Relation Type addition, including an update to the DataCite 4.5 schema. For details see https://github.com/IQSS/dataverse/pull/10632 and https://github.com/IQSS/dataverse/pull/10615 and the [design document](https://docs.google.com/document/d/1JzDo9UOIy9dVvaHvtIbOI8tFU6bWdfDfuQvWWpC0tkA/edit?usp=sharing) referenced there.
8+
9+
Multiple backward incompatible changes and bug fixes have been made to API calls (3 of the four of which were not documented) related to updating PID target urls and metadata at the provider service:
10+
- [Update Target URL for a Published Dataset at the PID provider](https://guides.dataverse.org/en/latest/admin/dataverses-datasets.html#update-target-url-for-a-published-dataset-at-the-pid-provider)
11+
- [Update Target URL for all Published Datasets at the PID provider](https://guides.dataverse.org/en/latest/admin/dataverses-datasets.html#update-target-url-for-all-published-datasets-at-the-pid-provider)
12+
- [Update Metadata for a Published Dataset at the PID provider](https://guides.dataverse.org/en/latest/admin/dataverses-datasets.html#update-metadata-for-a-published-dataset-at-the-pid-provider)
13+
- [Update Metadata for all Published Datasets at the PID provider](https://guides.dataverse.org/en/latest/admin/dataverses-datasets.html#update-metadata-for-all-published-datasets-at-the-pid-provider)
14+
15+
Upgrade instructions
16+
--------------------
17+
18+
The Solr schema has to be updated via the normal mechanism to add the new "relationType" field.
19+
20+
The citation metadatablock has to be reinstalled using the standard instructions.
21+
22+
With these two changes, the "Relation Type" fields will be available and creation/publication of datasets will result in the expanded XML being sent to DataCite.
23+
24+
To update existing datasets (and files using DataCite DOIs):
25+
26+
Exports can be updated by running `curl http://localhost:8080/api/admin/metadata/reExportAll`
27+
28+
Entries at DataCite for published datasets can be updated by a superuser using an API call (newly documented):
29+
30+
`curl -X POST -H 'X-Dataverse-key:<key>' http://localhost:8080/api/datasets/modifyRegistrationPIDMetadataAll`
31+
32+
This will loop through all published datasets (and released files with PIDs). As long as the loop completes, the call will return a 200/OK response. Any PIDs for which the update fails can be found using
33+
34+
`grep 'Failure for id' server.log`
35+
36+
Failures may occur if PIDs were never registered, or if they were never made findable. Any such cases can be fixed manually in DataCite Fabrica or using the [Reserve a PID](https://guides.dataverse.org/en/latest/api/native-api.html#reserve-a-pid) API call and the newly documented `/api/datasets/<id>/modifyRegistration` call respectively. See https://guides.dataverse.org/en/latest/admin/dataverses-datasets.html#send-dataset-metadata-to-pid-provider. Please reach out with any questions.
37+
38+
PIDs can also be updated by a superuser on a per-dataset basis using
39+
40+
`curl -X POST -H 'X-Dataverse-key:<key>' http://localhost:8080/api/datasets/<id>/modifyRegistrationMetadata`
41+

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

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -195,12 +195,41 @@ Mints a new identifier for a dataset previously registered with a handle. Only a
195195
196196
.. _send-metadata-to-pid-provider:
197197

198-
Send Dataset metadata to PID provider
199-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
198+
Update Target URL for a Published Dataset at the PID provider
199+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
200200

201-
Forces update to metadata provided to the PID provider of a published dataset. Only accessible to superusers. ::
201+
Forces update to the target URL provided to the PID provider of a published dataset and assures the PID is findable.
202+
Only accessible to superusers. ::
203+
204+
curl -H "X-Dataverse-key: $API_TOKEN" -X POST http://$SERVER/api/datasets/$dataset-id/modifyRegistration
205+
206+
Update Target URL for all Published Datasets at the PID provider
207+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
208+
209+
Forces update to the target URL provided to the PID provider of all published datasets and assures the PID is findable.
210+
Only accessible to superusers. ::
211+
212+
curl -H "X-Dataverse-key: $API_TOKEN" -X POST http://$SERVER/api/datasets/modifyRegistrationAll
213+
214+
Update Metadata for a Published Dataset at the PID provider
215+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
216+
217+
Checks to see that the PID metadata for a published dataset (and any released files in it using file PIDs)
218+
is up-to-date at the provider and updates the metadata if necessary.
219+
Only accessible to superusers. ::
202220

203221
curl -H "X-Dataverse-key: $API_TOKEN" -X POST http://$SERVER/api/datasets/$dataset-id/modifyRegistrationMetadata
222+
223+
Update Metadata for all Published Datasets at the PID provider
224+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
225+
226+
Checks to see that the PID metadata is up-to-date at the provider for all published datasets
227+
(and any released files in them using file PIDs) and updates the metadata if necessary.
228+
Only accessible to superusers. ::
229+
230+
curl -H "X-Dataverse-key: $API_TOKEN" -X POST http://$SERVER/api/datasets/modifyRegistrationPIDMetadataAll
231+
232+
The call returns 200/OK as long as the call completes. Any errors for individual datasets are reported in the log.
204233

205234
Check for Unreserved PIDs and Reserve Them
206235
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

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

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

10+
v6.4
11+
----
12+
13+
- **/api/datasets/$dataset-id/modifyRegistration**: Changed from GET to POST
14+
- **/api/datasets/modifyRegistrationPIDMetadataAll**: Changed from GET to POST
15+
16+
1017
v6.3
1118
----
1219

doc/sphinx-guides/source/installation/config.rst

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,10 @@ Dataverse can be configured with one or more PID providers, each of which can mi
232232
to manage an authority/shoulder combination, aka a "prefix" (PermaLinks also support custom separator characters as part of the prefix),
233233
along with an optional list of individual PIDs (with different authority/shoulders) than can be managed with that account.
234234

235+
Dataverse automatically manages assigning PIDs and making them findable when datasets are published. There are also :ref:`API calls that
236+
allow updating the PID target URLs and metadata of already-published datasets manually if needed <send-metadata-to-pid-provider>`, e.g. if a Dataverse instance is
237+
moved to a new URL or when the software is updated to generate additional metadata or address schema changes at the PID service.
238+
235239
Testing PID Providers
236240
+++++++++++++++++++++
237241

@@ -246,11 +250,11 @@ configure the credentials as described below.
246250

247251
Alternately, you may wish to configure other providers for testing:
248252

249-
- EZID is available to University of California scholars and researchers. Testing can be done using the authority 10.5072 and shoulder FK2 with the "apitest" account (contact EZID for credentials) or an institutional account. Configuration in Dataverse is then analogous to using DataCite.
253+
- EZID is available to University of California scholars and researchers. Testing can be done using the authority 10.5072 and shoulder FK2 with the "apitest" account (contact EZID for credentials) or an institutional account. Configuration in Dataverse is then analogous to using DataCite.
250254

251-
- The PermaLink provider, like the FAKE DOI provider, does not involve an external account.
252-
Unlike the Fake DOI provider, the PermaLink provider creates PIDs that begin with "perma:", making it clearer that they are not DOIs,
253-
and that do resolve to the local dataset/file page in Dataverse, making them useful for some production use cases. See :ref:`permalinks` and (for the FAKE DOI provider) the :doc:`/developers/dev-environment` section of the Developer Guide.
255+
- The PermaLink provider, like the FAKE DOI provider, does not involve an external account.
256+
Unlike the Fake DOI provider, the PermaLink provider creates PIDs that begin with "perma:", making it clearer that they are not DOIs,
257+
and that do resolve to the local dataset/file page in Dataverse, making them useful for some production use cases. See :ref:`permalinks` and (for the FAKE DOI provider) the :doc:`/developers/dev-environment` section of the Developer Guide.
254258

255259
Provider-specific configuration is described below.
256260

@@ -3350,6 +3354,9 @@ please find all known feature flags below. Any of these flags can be activated u
33503354
* - disable-return-to-author-reason
33513355
- Removes the reason field in the `Publish/Return To Author` dialog that was added as a required field in v6.2 and makes the reason an optional parameter in the :ref:`return-a-dataset` API call.
33523356
- ``Off``
3357+
* - disable-dataset-thumbnail-autoselect
3358+
- Turns off automatic selection of a dataset thumbnail from image files in that dataset. When set to ``On``, a user can still manually pick a thumbnail image or upload a dedicated thumbnail image.
3359+
- ``Off``
33533360
* - globus-use-experimental-async-framework
33543361
- Activates a new experimental implementation of Globus polling of ongoing remote data transfers that does not rely on the instance staying up continuously for the duration of the transfers and saves the state information about Globus upload requests in the database. Added in v6.4. Affects :ref:`:GlobusPollingInterval`. Note that the JVM option :ref:`dataverse.globus.taskMonitoringServer` described above must also be enabled on one (and only one, in a multi-node installation) Dataverse instance.
33553362
- ``Off``

scripts/api/data/dataset-create-new-all-default-fields.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,12 @@
331331
"typeClass": "compound",
332332
"value": [
333333
{
334+
"publicationRelationType" : {
335+
"typeName" : "publicationRelationType",
336+
"multiple" : false,
337+
"typeClass" : "controlledVocabulary",
338+
"value" : "IsSupplementTo"
339+
},
334340
"publicationCitation": {
335341
"typeName": "publicationCitation",
336342
"multiple": false,

0 commit comments

Comments
 (0)