Sake.re: Experiment sharing and publishing

These instructions are not in a final form (2021-04).

See the prerequisite and be sure to be familiar with Sake.re.

Experiments may be published at any point of their lifecyle. They may first be registered in our cakes repository serving as a way to record experiments and the changes made to them. They may later be posted and synchronised with the sake.re web site, but not necessarily made accessible through a published link. Then they may be made visible on the sake.re web site and the results (in fact the full repository content) may be published in a bona fide research data repository: we provide the example for doing this on zenodo.

Sharing experiments in the cakes repository

You will need an account from the cakes git repository. Then you need to ask for the creation of the ${LABEL} repository. Both can be achieved by sending an email to cakes@inria.fr or account@sake.re.

Then perform from your git directory:

$ git remote add origin cakes@felapton.inrialpes.fr:${LABEL}.git
$ git branch --set-upstream-to=origin/master master
$ git push --all
$ git push --tags
alternatively you can clone the empty ${LABEL}.git repo and add your stuff in it.

This can be done early (as early as the design stage). This could play the role of preregistration. In this case, it is useful to push and tag the changes at all steps during design.

Publishing results

Create a zip file containing all results (make sure the folder contains only files of interest):

$ git submodule deinit --all              # JE: beware that there is no stuff there (compile results)
$ git reflog expire --all --expire=now    # next instructions to reduce the size of the zip
$ git gc --prune=now --aggressive
$ cd ..
$ zip -r -q ${LABEL}.zip ${LABEL}/        # Takes the .git as well

Publishing experiments on the sake.re web site

The generated html file can be made available online. The experiment should be found under https://sake.re/${LABEL} as soon as you registered it in the cakes repository.

For that reason, it is good that the notebook provides direct access to the various resources: params.sh and script.sh, input, result and the zip files containing all this.

To have it indexed on the sake.re index, ask for it.

The page can still be updated from the git repository, for instance, for adding within the notebook image a link to the results when published on files.inria.fr or Zenodo.

The result zip file is added to be downloadable, the result directory is added for its content to be downloadable.

Instructions to publish results on Zenodo

In order to record an experiment under Zenodo, you first need to create a zenodo account. All the process can be achieved through the website, we describe the command line approach.

Get zenodo token from this link https://zenodo.org/account/settings/applications/tokens/new/ and assign it to a variable:

TOKEN=<paste_your_token_here>

Declare a new deposition:

$ curl -i -H "Content-Type: application/json" -X POST --data '{"metadata": {"title": "'${LABEL}'", "upload_type": "dataset", "description": "description of experiment here", "creators": [{"name": "creator 1", "affiliation": "inria"}, {"name": "creator 2", "affiliation": "inria"}]}}' https://zenodo.org/api/deposit/depositions\?access_token\=${TOKEN}

Find in the returned json the id of the created deposition under "id" key and assign it to a variable:

ID=<paste_depo_id_here>

Upload the zip with:

curl -i https://zenodo.org/api/deposit/depositions/${ID}/files?access_token=${TOKEN} -F name=${LABEL}.zip -F file=@${LABEL}.zip

Publish the deposition:

curl -i -X POST https://zenodo.org/api/deposit/depositions/${ID}/actions/publish?access_token=${TOKEN}

It is also possible to upload new versions of depositions.