ro-crate
ro-crate copied to clipboard
Use Case: Have a place to host examples and a way to get them there
As an RO-Crate contributor, I want to be able to post examples to a central site easily so that we have a good set of examples.
I will be leaving UTS and no longer have easy access to the place we're hosting examples.
Real-life examples might have different licenses and not fit under /ro-crate (this repo has Apache license 2.0)
If the crates are under an open license we can still host them as one or more repositories on https://github.com/ResearchObject/{repo} and then they would be published statically as https://www.researchobject.org/{repo} using GitHub Pages.
This could work similar to what we do with /ro-crate and GitHub Pages except we don't need Jekyll processing as there won't be any markdown files (?).
We could have a separate big ro-crate-examples repo with multiple crates in different licenses, or manage them as separate repos, which perhaps is better practice - see for instance https://github.com/biocompute-objects/bco-ro-example-chipseq
We can also post on Zenodo but then it would be as a ZIP/tar.gz and individual files like ro-crate-preview.html are not exposed. Even if uploaded as individual files to Zenodo (which don't support subfolders) *.html becomes a "download" for security reasons, e.g. https://zenodo.org/record/4031327/files/ro-crate-preview.html
In particular all the examples on https://data.research.uts.edu.au/examples/v1.0/
So @stain is your suggestion so have one git repo per example? Seems like that might become a bit unmanageable, and we'd have to maintain more indexes to access them.
But on the other hand, using multiple repositories does make it easy for people to put up their own examples.
If the crates are under an open license we can still host them as one or more repositories on https://github.com/ResearchObject/{repo} and then they would be published statically as https://www.researchobject.org/{repo} using GitHub Pages.
How would we set this up?
If you make single repositories within our org, and enable github pages, then they automatically appear under https://www.researchobject.org/ with the same repo name. However you can't nest these, so we would need to use like example-ro28 as repo name.
Agree it would be nice to navigate all examples in one go, and this could be done using git submodules. I think this could even be used to group github pages, so you could make examples/ro15 - but the problem with git submodules here is that someone would need to run git submodule update in the parent repo whenever a child has been updated..
One reason to split them is that if these are real examples, some of them are large, but people are likely to copy/clone repos to build on them. Another issue is the license.. we could host multiple ROs in the same repo if they are the same license.
Of course RO-Crates themselves indicate their license, but for people using examples they may not look carefully at that and might inadverdently by copying around lots of image data for instance which they would not have permission to relicense.
As separate repos you can also tag/release each RO (and give it a Zenodo DOI), but probably these won't really change except perhaps updating for newer RO-Crate specs?
Did that: https://www.researchobject.org/example-ro-sample-image-crate/
Seems to work - thought here's a bug with the metadata download link I need to fix