ropenscilabs / deposits

R Client for access to multiple data repository services
https://docs.ropensci.org/deposits/
Other
38 stars 3 forks source link

"deposit_publish" method #37

Closed mpadge closed 1 year ago

mpadge commented 1 year ago

Links to zenodo and figshare "Publish" methods.

noamross commented 1 year ago

I imagine we want a UI method that interactively asks "are you sure?" when publishing, that can be overridden by a DEPOSITS_ASK_PUBLISH environment variable.

mpadge commented 1 year ago

Yes, this definitely won't just be a no-questions-asked process. I also intend to have some (likely default) option that merely opens the corresponding web page with the "Publish" button, which would at least be my preferred method.

noamross commented 1 year ago

These also need to include setting and changing the visibility level (such as embargo, requests for data, etc.)

mpadge commented 1 year ago

Zenodo

The metadata themselves then control access, via:

So any pre-publish questions for Zenodo would then examine any values for those variables, and formulate appropriate questions.

Figshare

Figshare has no direct metadata fields like Zenodo for access rights or conditions. Instead it has an "embargo" PUT method which accepts a number of parameters. This formally puts an article under embargo, and conditions can be queries via corresponding "embargo" GET method. An embargoed article is not automatically published, and still requires explicitly calling the "publish" method. Previously-embargoed articles will then not actually be published until the "embargo_date" date has expired. (There is also an "embargo" DELETE method.)


Plan

The only aspect that will not cover will then be access conditions/restrictions for Zenodo. That can then be considered once those aspects have been implemented.

mpadge commented 1 year ago

Those commits implement the embargo method for both Figshare and Zenodo.

mpadge commented 1 year ago

And that is the publish method. Next commit will close by adding tests for embargo methods. Publish methods will not be tested.