eclipse-pass / pass-deposit-services

Deposit Services are responsible for the transfer of custodial content and metadata from end users to repositories.
Apache License 2.0
1 stars 4 forks source link

Update the FilesystemBuilder to optionally deposit resources to Fedora #243

Closed emetsger closed 5 years ago

emetsger commented 5 years ago

About

The SubmissionBuilder and StreamingSubmissionBuilder are interfaces responsible for building the Deposit Services model of a PASS Submission: a DepositSubmission.

Two concrete implementations exist:

Changes

This PR updates the FilesystemModelBuilder to optionally deposit the test resources in the submission graph to Fedora, and build the DepositSubmission from the Fedora resources. The URIs in the DepositSubmission would therefore point to Fedora resources.

Rationale

The DASH Package Provider includes funding information in the package. It obtains this information from the Grant and Funder resources linked to by the Submission. The Deposit Services model (e.g. DepositSubmission) doesn't contain this information, so the DASH provider must resolve the Submission resource and navigate and retrieve Grant and Funder resources. In order for the DASH provider to resolve these resources without providing special handling for test resources, the FilesystemModelBuilder must present a DepositSubmission with resolvable URIs instead of local test resources.

In other words, a DepositSubmission using local URIs doesn't really behave like linked data, because the local URIs aren't resolvable. The DepositSubmission must be built from Fedora resources in order for linking to work as expected.