Skip to content

Commit

Permalink
Merge branch 'develop' into 7980-enhanced-dsd
Browse files Browse the repository at this point in the history
  • Loading branch information
poikilotherm committed Sep 20, 2022
2 parents e81b20c + 9ac2244 commit 5144d16
Show file tree
Hide file tree
Showing 179 changed files with 8,869 additions and 1,464 deletions.
8 changes: 8 additions & 0 deletions doc/release-notes/7000-mpconfig-support.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Broader MicroProfile Config Support for Developers

As of this release, many [JVM options](https://guides.dataverse.org/en/latest/installation/config.html#jvm-options)
can be set using any [MicroProfile Config Source](https://docs.payara.fish/community/docs/Technical%20Documentation/MicroProfile/Config/Overview.html#config-sources).

Currently this change is only relevant to developers but as settings are migrated to the new "lookup" pattern documented in the [Consuming Configuration](https://guides.dataverse.org/en/latest/developers/configuration.html) section of the Developer Guide, anyone installing the Dataverse software will have much greater flexibility when configuring those settings, especially within containers. These changes will be announced in future releases.

Please note that an upgrade to Payara 5.2021.8 or higher is required to make use of this. Payara 5.2021.5 threw exceptions, as explained in PR #8823.
6 changes: 6 additions & 0 deletions doc/release-notes/8535-metadata-types-static-facet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
## Adding new static search facet: Metadata Types
A new static search facet has been added to the search side panel. This new facet is called "Metadata Types" and is driven from metadata blocks. When a metadata field value is inserted into a dataset, an entry for the metadata block it belongs to is added to this new facet.

This new facet needs to be configured for it to appear on the search side panel. The configuration assigns to a dataverse what metadata blocks to show. The configuration is inherited by child dataverses.

To configure the new facet, use the Metadata Block Facet API: <https://guides.dataverse.org/en/latest/api/native-api.html#set-metadata-block-facet-for-a-dataverse-collection>
81 changes: 81 additions & 0 deletions doc/release-notes/8611-DataCommons-related-notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# Dataverse Software 5.12

This release brings new features, enhancements, and bug fixes to the Dataverse Software. Thank you to all of the community members who contributed code, suggestions, bug reports, and other assistance across the project.

## Release Highlights

### Harvard Data Commons Additions

As reported at the 2022 Dataverse Community Meeting, the [Harvard Data Commons](https://sites.harvard.edu/harvard-data-commons/) project has supported a wide range of additions to the Dataverse software that improve support for Big Data, Workflows, Archiving, and interaction with other repositories. In many cases, these additions build upon features developed within the Dataverse community by Borealis, DANS, QDR, TDL, and others. Highlights from this work include:

- Initial support for Globus file transfer to upload to and download from a Dataverse managed S3 store. The current implementation disables file restriction and embargo on Globus-enabled stores.
- Initial support for Remote File Storage. This capability, enabled via a new RemoteOverlay store type, allows a file stored in a remote system to be added to a dataset (currently only via API) with download requests redirected to the remote system. Use cases include referencing public files hosted on external web servers as well as support for controlled access managed by Dataverse (e.g. via restricted and embargoed status) and/or by the remote store.
- Initial support for computational workflows, including a new metadata block and detected filetypes.
- Support for archiving to any S3 store using Dataverse's RDA-conformant BagIT file format (a BagPack).
- Improved error handling and performance in archival bag creation and new options such as only supporting archiving of one dataset version.
- Additions/corrections to the OAI-ORE metadata format (which is included in archival bags) such as referencing the name/mimetype/size/checksum/download URL of the original file for ingested files, the inclusion of metadata about the parent collection(s) of an archived dataset version, and use of the URL form of PIDs.
- Display of archival status within the dataset page versions table, richer status options including success, pending, and failure states, with a complete API for managing archival status.
- Support for batch archiving via API as an alternative to the current options of configuring archiving upon publication or archiving each dataset version manually.
- Initial support for sending and receiving Linked Data Notification messages indicating relationships between a dataset and external resources (e.g. papers or other dataset) that can be used to trigger additional actions, such as the creation of a back-link to provide, for example, bi-directional linking between a published paper and a Dataverse dataset.
- A new capability to provide custom per field instructions in dataset templates

## Major Use Cases and Infrastructure Enhancements

Changes and fixes in this release include:

- Administrators can configure an S3 store used in Dataverse to support users uploading/downloading files via Globus File Transfer. (PR #8891)
- Administrators can configure a RemoteOverlay store to allow files that remain hosted by a remote system to be added to a dataset. (PR #7325)
- Administrators can configure the Dataverse software to send archival Bag copies of published dataset versions to any S3-compatible service. (PR #8751)
- Users can see information about a dataset's parent collection(s) in the OAI-ORE metadata export. (PR #8770)
- Users and administrators can now use the OAI-ORE metadata export to retrieve and assess the fixity of the original file (for ingested tabular files) via the included checksum. (PR #8901)
- Archiving via RDA-conformant Bags is more robust and is more configurable. (PR #8773, #8747, #8699, #8609, #8606, #8610)
- Users and administrators can see the archival status of the versions of the datasets they manage in the dataset page version table. (PR #8748, #8696)
- Administrators can configure messaging between their Dataverse installation and other repositories that may hold related resources or services interested in activity within that installation. (PR #8775)
- Collection managers can create templates that include custom instructions on how to fill out specific metadata fields.

## Notes for Dataverse Installation Administrators

### Enabling Experimental Capabilities

Several of the capabilities introduced in v5.12 are "experimental" in the sense that further changes and enhancements to these capabilities should be expected and that these changes may involve additional work, for those who use the initial implementations, when upgrading to newer versions of the Dataverse software. Administrators wishing to use them are encouraged to stay in touch, e.g. via the Dataverse Community Slack space, to understand the limits of current capabilities and to plan for future upgrades.

## New JVM Options and DB Settings

The following DB settings have been added:

- `:LDNMessageHosts`
- `:GlobusBasicToken`
- `:GlobusEndpoint`
- `:GlobusStores`
- `:GlobusAppUrl`
- `:GlobusPollingInterval`
- `:GlobusSingleFileTransfer`
- `:S3ArchiverConfig`
- `:S3ArchiverProfile`
- `:DRSArchiverConfig`

See the [Database Settings](https://guides.dataverse.org/en/5.12/installation/config.html#database-settings) section of the Guides for more information.

## Notes for Developers and Integrators

See the "Backward Incompatibilities" section below.

## Backward Incompatibilities

### OAI-ORE and Archiving Changes

The Admin API call to manually sumbit a dataset version for archiving has changed to require POST instead of GET and to have a name making it clearer that archiving is being done for a given dataset version: /api/admin/submitDatasetVersionToArchive.

Earlier versions of the archival bags included the ingested (tab-separated-value) version of tabular files while providing the checksum of the original file (Issue #8449). This release fixes that by including the original file and its metadata in the archival bag. This means that archival bags created prior to this version do not include a way to validate ingested files. Further, it is likely that capabilities in development (i.e. as part of the [Dataverse Uploader](https://github/org/GlobalDataverseCommunityConsortium/dataverse-uploader) to allow re-creation of a dataset version from an archival bag will only be fully compatible with archival bags generated by a Dataverse instance at a release > v5.12. (Specifically, at a minimum, since only the ingested file is included in earlier archival bags, an upload via DVUploader would not result in the same original file/ingested version as in the original dataset.) Administrators should be aware that re-creating archival bags, i.e. via the new batch archiving API, may be advisable now and will be recommended at some point in the future (i.e. there will be a point where we will start versioning archival bags and will start maintaining backward compatibility for older versions as part of transitioning this from being an experimental capability).

## Complete List of Changes

## Installation

If this is a new installation, please see our [Installation Guide](https://guides.dataverse.org/en/5.12/installation/). Please also contact us to get added to the [Dataverse Project Map](https://guides.dataverse.org/en/5.12/installation/config.html#putting-your-dataverse-installation-on-the-map-at-dataverse-org) if you have not done so already.

## Upgrade Instructions

8\. Re-export metadata files (OAI_ORE is affected by the PRs in these release notes). Optionally, for those using the Dataverse software's BagIt-based archiving, re-archive dataset versions archived using prior versions of the Dataverse software. This will be recommended/required in a future release.

9\. Standard instructions for reinstalling the citation metadatablock. There are no new fields so Solr changes/reindex aren't needed. This PR just adds an option to the list of publicationIdTypes
4 changes: 3 additions & 1 deletion doc/release-notes/8639-computational-workflow.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
NOTE: These "workflow" changes should be folded into "Harvard Data Commons Additions" in 8611-DataCommons-related-notes.md

## Adding Computational Workflow Metadata
The new Computational Workflow metadata block will allow depositors to effectively tag datasets as computational workflows.

To add the new metadata block, follow the instructions in the user guide: <https://guides.dataverse.org/en/latest/admin/metadatacustomization.html>

The location of the new metadata block tsv file is: `dataverse/scripts/api/data/metadatablocks/computational_workflow.tsv`
The location of the new metadata block tsv file is: `dataverse/scripts/api/data/metadatablocks/computational_workflow.tsv`
1 change: 1 addition & 0 deletions doc/release-notes/8715-importddi-termofuse.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Terms of Use is now imported when using DDI format through harvesting or the native API. (Issue #8715, PR #8743)
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
NOTE: These "workflow" changes should be folded into "Harvard Data Commons Additions" in 8611-DataCommons-related-notes.md

The following file extensions are now detected:

wdl=text/x-workflow-description-language
Expand Down
7 changes: 7 additions & 0 deletions doc/release-notes/8868-fix-json-import.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Under "bug fixes":

Small bugs have been fixed in the dataset export in the JSON and DDI formats; eliminating the export of "undefined" as a metadata language in the former, and a duplicate keyword tag in the latter.

Run ReExportall to update Exports

Following the directions in the [Admin Guide](http://guides.dataverse.org/en/5.12/admin/metadataexport.html#batch-exports-through-the-api)
4 changes: 4 additions & 0 deletions doc/release-notes/8882-shib-affiliation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
## New DB Settings
The following DB settings have been added:
- `:ShibAffiliationOrder` - Select the first or last entry in an Affiliation array
- `:ShibAffiliationSeparator` (default: ";") - Set the separator for the Affiliation array
1 change: 1 addition & 0 deletions doc/sphinx-guides/source/_static/api/dataverse-facets.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
["authorName", "authorAffiliation"]
1 change: 1 addition & 0 deletions doc/sphinx-guides/source/_static/api/ddi_dataset.xml
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@
</method>
<dataAccs>
<notes type="DVN:TOA" level="dv">Terms of Access</notes>
<notes type="DVN:TOU" level="dv">Terms of Use</notes>
<setAvail>
<accsPlac>Data Access Place</accsPlac>
<origArch>Original Archive</origArch>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
["socialscience", "geospatial"]
1 change: 1 addition & 0 deletions doc/sphinx-guides/source/api/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,6 @@ API Guide
client-libraries
external-tools
curation-labels
linkeddatanotification
apps
faq
65 changes: 65 additions & 0 deletions doc/sphinx-guides/source/api/linkeddatanotification.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
Linked Data Notification API
============================

Dataverse has a limited, experimental API implementing a Linked Data Notification inbox allowing it to receive messages indicating a link between an external resource and a Dataverse dataset.
The motivating use case is to support a use case where Dataverse administrators may wish to create back-links to the remote resource (e.g. as a Related Publication, Related Material, etc.).

Upon receipt of a relevant message, Dataverse will create Announcement Received notifications for superusers, who can edit the dataset involved. (In the motivating use case, these users may then add an appropriate relationship and use the Update Curent Version publishing option to add it to the most recently published version of the dataset.)

The ``:LDNMessageHosts`` setting is a comma-separated whitelist of hosts from which Dataverse will accept and process messages. By default, no hosts are allowed. ``*`` can be used in testing to indicate all hosts are allowed.

Messages can be sent via POST, using the application/ld+json ContentType:

.. code-block:: bash
export SERVER_URL=https://demo.dataverse.org
curl -X POST -H 'ContentType:application/ld+json' $SERVER_URL/api/inbox --upload-file message.jsonld
The supported message format is described by `our preliminary specification <https://docs.google.com/document/d/1dqj8_vEcIBeyDIZCaPQvp0FM1eSGO_5CSNCdXOpoUz0/edit?usp=sharing>`_. The format is expected to change in the near future to match the standard for relationship announcements being developed as part of `the COAR Notify Project <https://notify.coar-repositories.org/>`_.

An example message is shown below. It indicates that a resource with the name "An Interesting Title" exists and "IsSupplementedBy" the dataset with DOI https://doi.org/10.5072/FK2/GGCCDL. If this dataset is managed in the receiving Dataverse, a notification will be sent to user with the relevant permissions (as described above).

.. code:: json
{
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://purl.org/coar/notify"
],
"id": "urn:uuid:94ecae35-dcfd-4182-8550-22c7164fe23f",
"actor": {
"id": "https://research-organisation.org/dspace",
"name": "DSpace Repository",
"type": "Service"
},
"context": {
"IsSupplementedBy":
{
"id": "http://dev-hdc3b.lib.harvard.edu/dataset.xhtml?persistentId=doi:10.5072/FK2/GGCCDL",
"ietf:cite-as": "https://doi.org/10.5072/FK2/GGCCDL",
"type": "sorg:Dataset"
}
},
"object": {
"id": "https://research-organisation.org/dspace/item/35759679-5df3-4633-b7e5-4cf24b4d0614",
"ietf:cite-as": "https://research-organisation.org/authority/resolve/35759679-5df3-4633-b7e5-4cf24b4d0614",
"sorg:name": "An Interesting Title",
"type": "sorg:ScholarlyArticle"
},
"origin": {
"id": "https://research-organisation.org/dspace",
"inbox": "https://research-organisation.org/dspace/inbox/",
"type": "Service"
},
"target": {
"id": "https://research-organisation.org/dataverse",
"inbox": "https://research-organisation.org/dataverse/inbox/",
"type": "Service"
},
"type": [
"Announce",
"coar-notify:ReleaseAction"
]
}
Loading

0 comments on commit 5144d16

Please sign in to comment.