bagit-profiles / bagit-profiles-specification

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

Expressing restrictions on tag files and tag manifests #3

Closed mjordan closed 11 years ago

mjordan commented 11 years ago

According to the BagIt spec, implementers MAY put whatever they want in local tag files. They SHOULD register their local files in a tag manfiest (but this manifest file is optional).

Currently, the profile spec doesn't provide a way to indicate whether a tag manifest is required, nor does it provide a way to indicate which tag files are required. I propose that we add the following high-level keys to the profile spec to fix these deficiencies:

Tag-Manifests-Required: LIST

Each manifest file in LIST is required. // <- works same as Manifests-Required

Tag-Files-Required: LIST

A list of tag files that must be included in a conformant Bag. Entries are full path names relative to the Bag base directory. As per the BagIt Spec, these tag files need not be listed in tag manifest files.

Anybody got any thoughts on this? It should be simple to test for these conditions in a validator.

ruebot commented 11 years ago

:+1:

I think this captures everything.

Do you want to take the first crack at adding it to the validator?

anarchivist commented 11 years ago

:+1:

awoods commented 11 years ago

Looks great. Thanks for this addition.  1

mjordan commented 11 years ago

Nick, the version in your pull request:

   "Tag-Files-Required":[
     "DPN",
     "DPN/dpnFirstNode.txt",
     "DPN/dpnRegistry"
   ],

raises a question: does Tag-Files-Required need to include directories, or can it just list paths? From the validator's POV, I think paths would do. Any reason to include directories in this list?

ruebot commented 11 years ago

Good question. I interpreted "Entries are full path names relative to the Bag base directory" as including the directories.

If I am interpreting what you're saying correctly, it should look like this:

   "Tag-Files-Required":[
     "DPN/dpnFirstNode.txt",
     "DPN/dpnRegistry"
   ],

If so, yeah. I suppose that makes sense. Inference would take care of it.

I can delete that line from the pull request. Just let me know.

mjordan commented 11 years ago

Yeah, that's more what I have in mind. Redo the pull request and I'll merge it.

mjordan commented 11 years ago

I'll update the validator.

ruebot commented 11 years ago

:+1: