bagit-profiles / bagit-profiles-specification

https://bagit-profiles.github.io/bagit-profiles-specification/
Other
35 stars 11 forks source link

Beyond the Repository (BtR) Spec Change Proposal V1.3.0 #21

Closed tdilauro closed 4 years ago

tdilauro commented 4 years ago

The BagIt Team of the Beyond the Repository project is recommending changes to the BagIt Profiles specification.

This PR updates the BagIt Profiles specification to:

These changes are non-breaking for v1.2.0, thus packages built to that specification would not require changes (aside from BagIt-Profile-Identifier tag in bag-info.txt).

Description Property

The description property enables the conveyance of any information that might be helpful to either the producer or the consumer of a bag to understand how to provide or interpret the information associated with a particular tag. There is no restriction on the length of description, so it may be less than ideal to use as a tooltip for its associated tag.

Manifests-Allowed and Tag-Manifests-Allowed Properties

With Manifests-Required and Tag-Manifests-Required, the current BagIt Profiles specification (v1.2.0) supports the enumeration of any algorithms for which a corresponding payload or tag manifest, respectively, MUST be present in a bag. If these lists are specified, though, all listed algorithms must be represented.

We needed an additional mechanism through which to designate the set of algorithms supported (rather than required) by the consumer of a bag, so that producers are able create bags appropriately. Manifests-Allowed and Tag-Manifests-Allowed fulfill this need. If unspecified, these properties impose no constraints on the algorithms available to a producer. If Manifests-Required is specified, then if Manifests-Allowed is specified, it must include at least those algorithms listed in Manifests-Required. The same relationship applies for Tag-Manifests-Required/Tag-Manifests-Allowed.

ruebot commented 4 years ago

@tdilauro thanks for the PR! Can you send a note to digital curation list and ask folks for input/feedback? Let's say put a deadline of November 30, 2019 in the message, and we can go from there once we get input.

jwestgard commented 4 years ago

I would like to register my support for this PR. The manifests-allowed would offer some additional flexibility and and precision and has no downside that I can see.

ruebot commented 4 years ago

@tdilauro could you update one or both the example profiles as well? ..and can you also update the validator?

jscancella commented 4 years ago

I would like to register my support for this PR. The manifests-allowed would offer some additional flexibility and and precision and has no downside that I can see.

+1

ruebot commented 4 years ago

@tdilauro pinging again on the comment above. Once we sort that out, I'm happy to get this merged.

tdilauro commented 4 years ago

@ruebot Took a look at the validator today. It seems a little loose, but I can certainly add functionality to validate the Manifests-Allowed and Tag-Manifests-Allowed behaviors.

ruebot commented 4 years ago

@tdilauro great! thanks!

ruebot commented 4 years ago

@tdilauro caught the validator PR this morning. thanks! Still looking for an update to one or both of the example profiles as well. Which may affect the tests on the validator. Can we get this sorted out?

tdilauro commented 4 years ago

@ruebot I am waiting on a response from one of my BtR colleagues to review and merge my changes. Also, I would advise against updating one of the existing profiles to a new Bagit-Profile-Version, as it would break tests in other branches of the validator, since they all refer to a profile in the master branch. Ideally, the example profiles used by the validator would live in the validator repo, so that they could stay in sync with the branch they're on.

Thoughts?

ruebot commented 4 years ago

the example profiles used by the validator would live in the validator repo, so that they could stay in sync with the branch they're on.

Yeah, that's a good point.