Open cscheid opened 10 years ago
so should we go ahead and and add a .meta
file to each gist, with json content for now just {"notebook_version"="1.0"}
?
ping @cscheid
Agh, I want to defer this to the next release. It's an important decision that needs careful thinking...
Not to make this a meta-issue, but other metadata we might include:
Those are much more complicated issues. Some people have written entire theses on trying to figure those out :)
@cscheid wrote:
how about simply notebook_metadata.json? It's long, I know, but we all type fast :p
So how about that file contains an object. One of the fields is rcloud_version
, say, and perhaps rcloud_build
for the hash.
And then let's reserve a subobject in there for domain-specific data, say domain
.
Another thing we talked about putting in there is possibly provenance tracking for when a notebook gets imported or copied and loses its history.
But let's keep this ticket for the original purpose of versioning, and leave space open in the json for arbitrary metadata.
I'm ok with that proposal. Note that if this is a well-formed json object, we can have RCloud API that manipulates the metadata; so if the notebook execution opens a curated object (via a well-specified API), we can have the execution actually update the metadata.
We'll eventually have to move to different notebook versions (we already have), and if different versions of RCloud open the same gist, Bad Things Happen. We should try to prevent that by warning the user that they need to upgrade RCloud or something like that.