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
The External/Curation Status Label mechanism has been enhanced:
2
+
3
+
- adding tracking of who creates the status label and when,
4
+
- keeping a history of past statuses
5
+
- updating the CSV report to include the creation time and assigner of a status
6
+
- updating the getCurationStatus api call to return a JSON object for the status with label, assigner, and create time
7
+
- adding an includeHistory query param for these API calls to allow seeing prior statuses
8
+
- adding a facet to allow filtering by curation status (for users able to set them)
9
+
- adding the creation time to solr as a pdate to support search by time period, e.g. current status set prior to a give date
10
+
- standardizing the language around 'curation status' vs 'external status'
11
+
- adding a 'curation-status' class to displayed labels to allow styling
12
+
- adding a dataverse.ui.show-curation-status-to-all feature flag that allows users who can see a draft but not publish it to also view the curation status
13
+
14
+
Due to changes in the solr schema, updating the solr schema and reindexing is required. Background reindexing should be OK.
Copy file name to clipboardExpand all lines: doc/sphinx-guides/source/api/changelog.rst
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,6 +11,8 @@ v6.7
11
11
----
12
12
13
13
- An undocumented :doc:`search` parameter called "show_my_data" has been removed. It was never exercised by tests and is believed to be unused. API users should use the :ref:`api-mydata` API instead.
14
+
- /api/datasets/{id}/curationStatus API now includes a JSON object with curation label, createtime, and assigner rather than a string 'label' and it supports a new boolean includeHistory parameter (default false) that returns a JSON array of statuses
15
+
- /api/datasets/{id}/listCurationStates includes new columns "Status Set Time" and "Status Set By" columns listing the time the current status was applied and by whom. It also supports the boolean includeHistory parameter.
14
16
- Due to updates in libraries used by Dataverse, XML serialization may have changed slightly with respect to whether self-closing tags are used for empty elements. This primiarily affects XML-based metadata exports. The XML structure of the export itself has not changed, so this is only an incompatibility if you are not using an XML parser.
Copy file name to clipboardExpand all lines: doc/sphinx-guides/source/api/curation-labels.rst
+27-6Lines changed: 27 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,16 +1,19 @@
1
-
Dataset Curation Label API
2
-
==========================
1
+
Dataset Curation Status API
2
+
===========================
3
3
4
4
When the :ref:`:AllowedCurationLabels <:AllowedCurationLabels>` setting has been used to define Curation Labels, this API can be used to set these labels on draft datasets.
5
5
Superusers can define which set of labels are allowed for a given datasets in a collection/an individual dataset using the api described in the :doc:`/admin/dataverses-datasets` section.
6
6
The API here can be used by curators/those who have permission to publish the dataset to get/set/change/delete the label currently assigned to a draft dataset.
7
+
If the :ref:`dataverse.ui.show-curation-status-to-all` flag is enabled, users who can see the draft dataset version can use the get API call.
7
8
8
9
This functionality is intended as a mechanism to integrate the Dataverse software with an external curation process/application: it is a way to make the state of a draft dataset,
9
10
as defined in the external process, visible within Dataverse. These labels have no other effect in Dataverse and are only visible to curators/those with permission to publish the dataset.
10
11
Any curation label assigned to a draft dataset will be removed upon publication.
12
+
13
+
Dataverse tracks the Curation Label as well as when it was assigned and by whom. It also keeps track of the history of prior assignments.
11
14
12
-
Get a Draft Dataset's Curation Label
13
-
------------------------------------
15
+
Get a Draft Dataset's Curation Status
16
+
-------------------------------------
14
17
15
18
.. code-block:: bash
16
19
@@ -27,8 +30,13 @@ Get a Draft Dataset's Curation Label
You should expect a 200 ("OK") response and the draft dataset's curation status label contained in a JSON 'data' object.
33
+
You should expect a 200 ("OK") response and the draft dataset's curation status as a JSON object contained in a JSON 'data' object. The status will include a 'label','createTime', and the 'assigner'.
34
+
35
+
If the optional includeHistory query parameter is set to true, the responses 'data' entry will be a JSON array of curation status objects
For draft datasets that were created prior to v6.7, it is possible that curation status objects will have no createTime or assigner.
32
40
33
41
Set a Draft Dataset's Curation Label
34
42
------------------------------------
@@ -53,6 +61,8 @@ To add a curation label for a draft Dataset, specify the Dataset ID (DATASET_ID)
53
61
54
62
You should expect a 200 ("OK") response indicating that the label has been set. 403/Forbidden and 400/Bad Request responses are also possible, i.e. if you don't have permission to make this change or are trying to add a label that isn't in the allowed set or to add a label to a dataset with no draft version.
55
63
64
+
Note that Dataverse will add the current time as the createTime and the user as the 'assigner' of the label.
65
+
56
66
57
67
Delete a Draft Dataset's Curation Label
58
68
---------------------------------------
@@ -98,7 +108,7 @@ You should expect a 200 ("OK") response with a comma-separated list of allowed l
98
108
Get a Report on the Curation Status of All Datasets
To get a CSV file listing the curation label assigned to each Dataset with a draft version, along with the creation and last modification dates, and list of those with permissions to publish the version.
111
+
To get a CSV file listing the curation statuses assigned to each Dataset with a draft version, along with the creation and last modification dates, and list of those with permissions to publish the version.
102
112
103
113
This API call is restricted to superusers.
104
114
@@ -112,3 +122,14 @@ This API call is restricted to superusers.
Copy file name to clipboardExpand all lines: doc/sphinx-guides/source/installation/config.rst
+15Lines changed: 15 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3269,6 +3269,21 @@ Defaults to ``true``.
3269
3269
Can also be set via any `supported MicroProfile Config API source`_, e.g. the environment variable
3270
3270
``DATAVERSE_API_SHOW_LABEL_FOR_INCOMPLETE_WHEN_PUBLISHED``. Will accept ``[tT][rR][uU][eE]|1|[oO][nN]`` as "true" expressions.
3271
3271
3272
+
.. _dataverse.ui.show-curation-status-to-all:
3273
+
3274
+
dataverse.ui.show-curation-status-to-all
3275
+
++++++++++++++++++++++++++++++++++++++++
3276
+
3277
+
By default the curation status assigned to a draft dataset versioncan only be seen by those who can publish it. When this flag is true, anyone who can see the draft dataset can see the assigned status.
3278
+
These users will also get notifications/emails about changes to the status.
3279
+
See :ref:`:AllowedCurationLabels <:AllowedCurationLabels>` and the :doc:`/admin/dataverses-datasets` section for more information about curation status.
3280
+
3281
+
Defaults to ``false``.
3282
+
3283
+
Can also be set via any `supported MicroProfile Config API source`_, e.g. the environment variable
3284
+
``DATAVERSE_API_SHOW_CURATION_STATUS_TO_ALL``. Will accept ``[tT][rR][uU][eE]|1|[oO][nN]`` as "true" expressions.
logger.warning("Unable to change external status to " + status + " for dataset id " + dataset.getId() + ". Message to user: " + msg + " Exception: " + ex);
0 commit comments