Skip to content

Bagit specification version conformance should be configurable. #27

@mikedarcy

Description

@mikedarcy

Bagit spec 1.0 introduces some significant changes from 0.97, most notably the restriction that if multiple checksum types are used, every payload file must be listed in every checksum manifest. This makes creating bags that contain references to remote files with mixed checksum types impossible if bdbag was to only support bagit spec 1.0 moving forward.

For example, when creating bags using a remote-file-manifest, for legacy reasons only an MD5 might be available for a subset of files, whereas others may have newer SHA256 or SHA512 hashes. Creating bags with this type of mixed checksum content is actually a pretty common use case, and one that was supported prior to bdbag release 1.3.0. This issue is described in further detail in #26.

The change proposed here is to create a bdbag.json configuration (and API object) parameter which allows the user to specify the bagit specification conformance level. Specifying 0.97 will allow for the less restrictive payload manifest declarations and specifying 1.0 will enforce strict payload manifest homogeneity. The system will default to 0.97 for backward compatibility. This mechanism will also provide a way to address additional compatibility issues in the future, should they arise.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions