inbo / checklist

An R package for checking R packages and R code
https://inbo.github.io/checklist
GNU General Public License v3.0
12 stars 2 forks source link

Zenodo communities #125

Closed ThierryO closed 1 month ago

ThierryO commented 1 month ago

The Zenodo API changed. And zen4R is changing to work with the new API. In the past we could specify the Zenodo communities in a draft record. The new API can only attach communities to a published record. This implies that bookdown_zenodo() no longer can work as before (adding communities to a draft record). Have a look at this discussion for some background information.

Two solutions:

1) bookdown_zenodo() creates a publish record instead of a draft records. Pro: we can add the communities as before. Con: The report gets published without a final approval through the Zenodo web-interface. The user must check everything before running bookdown_zenodo(). 2) bookdown_zenodo() creates a draft record as before. Pro: the user must publish the record through the Zenodo web-interface. Con: The user must add the communities manually or run a function after publishing the report. Which they probably will forget to go.

@inbo/bmk, @inbo/oscibio can I get some urgent feedback on this. I need to finalize version 0.3.6 this week. I'll give a talk on it at the upcoming useR!2024 conference.

florisvdh commented 1 month ago

I'd prefer solution 2, because it is more cautious.

Which they probably will forget to go.

Maybe you could lower this risk by giving a conspicious message that reminds the user about next steps, especially adding the INBO community.

hansvancalster commented 1 month ago

I agree solution 2 would be preferable for now. But I hope that in the near future the API will also handle adding communities to drafts upon which the community needs to accept/decline the submission.

peterdesmet commented 1 month ago

I also prefer solution 2. Note that for publishing new versions of existing records, the (manually added) communities are retained 👍.

near future the API will also handle adding communities to drafts upon which the community needs to accept/decline the submission.

Agree, though if it mimics the web interface it will be “adding community” (singular) for review. It’s only after it went to review by one community (and is published), that you can add other communities.

PietrH commented 1 month ago

I prefer playing it safe with solution 2.

ThierryO commented 1 month ago

There is an update on the zen4R side . We could opt to use submitRecordForReview() instead of depositRecord(). The former requires a single community but is only published after review. The latter allows for immediate publication without communities. Note that checklist enforces the INBO community for INBO projects.

ThierryO commented 1 month ago

If you don't specify a community in the yaml, bookdown_zenodo() will create a draft record. Which the user needs to publish.

If you specify one or more communities in the yaml, bookdown_zenodo() creates a review request in the first community. The records gets published when the community manager approves the submission. The user needs to add the other communities manually (after publication).