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 ModelBuilder to be compatible with changes introduced by the schema service #214

Closed emetsger closed 5 years ago

emetsger commented 5 years ago

Required changes

ModelBuilder reads the Submission.metadata (i.e. metadata blob) and parses it when creating a DepositSubmission. The changes introduced by the schema service to the metadata blob will require updating the ModelBuilder to read and interpret the new blob format.

Because the information contained in the blob is staying the same, there shouldn't be any need to adjust the internal model (e.g. DepositSubmission or DepositMetadata) used by Deposit Services: fields shouldn't need to be added, removed, or moved.

Optional changes

Backwards compatibility with existing Submission resources

Do we want Deposit Services to be backwards-compatible with metadata blobs present in the PASS repository today?

Making this decision depends if we expect Deposit Services to process any Submissions that have the old metadata blob format in the repository:

If yes, then that work must be implemented by any code for this issue, and must be illustrated in unit tests and integration tests. The schema version or identity can be used to decide how to parse the blob.

Impact on other issues

Issue #215 documents the changes required to sample Submission graphs in the shared-resources module. While #215 asks for all sample submission graphs to be updated to the latest metadata blob version, this issue will require at least one sample submission graph be added that uses the old metadada blob format.

Backwards compatibility with future Submission resources

If we anticipate the format or information contained in the blob to change in the future, then I would suggest that the parsing logic be selected based on the schema identity or version. That way backward compatibility can be maintained as the format of the blob evolves.

emetsger commented 5 years ago

This doc provides some more information about the metadata blob (the blob as it stands prior to the metadata schema service changes) and its relationship to the internal Deposit Services model.

htpvu commented 5 years ago

@emetsger we'll by pass the optional change in 2 ways:

with that said is there enough information to estimate this ticket and its associated ticket #215 ?

emetsger commented 5 years ago

0.5 LE (a total of 1.0 LE for #214 and #215)