Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Case: compatible with BagIt #13

Closed
eocarragain opened this issue May 9, 2019 · 5 comments
Closed

Use Case: compatible with BagIt #13

eocarragain opened this issue May 9, 2019 · 5 comments
Labels
use-case A (potential) use-case for ROLite creation, consumption or integration

Comments

@eocarragain
Copy link
Contributor

eocarragain commented May 9, 2019

As a repository manager, I want a well-defined way of to creating a BagIt bag from an RO-Crate so that I can leverage existing tooling to track fixity the object payload and metadata over time

See, for example, bagit-ro (https://github.com/ResearchObject/bagit-ro), BDBags and the way in which DataCrate distinguishes Working DataCrates from Bagged DataCrates

@stain, is this what you mean by the "json-in-Github" scenario?

@eocarragain eocarragain added the use-case A (potential) use-case for ROLite creation, consumption or integration label May 9, 2019
@ptsefton
Copy link
Contributor

See my comment on #16 - Bagit support is pretty easy to specify but we should also consider other use-cases As a repository manager I want a way to create X packging form from an RO-Crate

where X = OCFL Object | Frictionless Data Package | SWORD wrapper | etc.

@ThomasThelen
Copy link
Member

ThomasThelen commented Oct 29, 2019

Just to add to this use case.

As a repository manager I want to [create a bagged RO-Crate/create a bag containing an RO-Crate] for enhanced interoperability.

A little more background,

Our service is exporting BagIt archives and it seems that we have a few possibilities when it comes to integrating RO-Crate, shown below.

The data exported as a bag looks like the following

zip_name/
   bag-info.txt
   bagit.txt
   fetch.txt
   manifest-md5.txt
   manifest-sha256.txt
   tagmanifest-md5.txt
   tagmanifest-sha256.txt	
   data/
      workspace/
         analysis.R

Adding support for RO-Crate can be done by specifying the RO-Crate Root as the root of the bag, shown below. In this case, the artifacts from our system are placed in data/. This is equivalent to calling the artifact a bagged RO-Crate.

zip_name/
   bag-info.txt
   bagit.txt
   fetch.txt
   manifest-md5.txt
   manifest-sha256.txt
   tagmanifest-md5.txt
   tagmanifest-sha256.txt	
   ro-crate-metadata.jsonld
   data/
      workspace/
         analysis.R

We can also place the RO-Crate metadata file in the bag payload, shown below. This is equivalent to calling the artifact a bag of an RO-Crate.

zip_name/
   bag-info.txt
   bagit.txt
   fetch.txt
   manifest-md5.txt
   manifest-sha256.txt
   tagmanifest-md5.txt
   tagmanifest-sha256.txt	
   data/
      ro-crate-metadata.jsonld
      data/
         workspace/
            analysis.R

Are there any recommendations on which method is preferred? I have more details here

@ptsefton
Copy link
Contributor

ptsefton commented Oct 30, 2019 via email

@ThomasThelen
Copy link
Member

Just to clarify,

You can change the metadata without changing the payload / checksums

I think that ro-crate-metadata.jsonld would be defined as a BagIt tag-file so you'll see changes in the tagmanifest-md5.txt and tagmanifest-sha256.txt files.

@stain
Copy link
Contributor

stain commented Nov 1, 2023

Closing this as https://www.researchobject.org/ro-crate/1.1/appendix/implementation-notes.html#adding-ro-crate-to-bagit has been part of the specification -- it does however have ro-crate-metadata.json inside data/ (which becomes RO-Crate Root) rather than in metadata/ -- see also #78 .

@stain stain closed this as completed Nov 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
use-case A (potential) use-case for ROLite creation, consumption or integration
Projects
None yet
Development

No branches or pull requests

4 participants