-
Notifications
You must be signed in to change notification settings - Fork 498
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Trying to set up or complete a harvesting client through the API crashes Dataverse #8290
Comments
This was discussed and the decision was made to keep the Create/Edit/Delete APIs superuser-only. (as implemented, a user with edit permission on the host collection was allowed to create and modify clients). kcondon: Would like help on sorting out behavior of harvesting client api. As tested, it allows collection admins to create and modify harvest clients, just not delete them. In the ui only super users can do this. Is this what we want? A significant possible downside, without additional coding, is that two collections harvesting from the same source/set would collide and potentially get partial lists, since a dataset can only exist once in the app. landreev: I can confirm that it’s implemented like this ⬆️ on purpose. But have no recollection of why. (it’s implemented on the command level; but in the ui only the superusers can get to the harvest dashboard) pdurbin: I’m fine with superuser only for all operations. Julian: I agree about making the endpoints superuser only. But does super-user only endpoints conflict with the user story? If all three endpoints are made superuser only, will someone want to create a new issue about letting non-superusers manage harvesting clients? landreev: The more I think about it, the less I can think of any practical value of letting non-superusers create and/or mess with harvesting clients. And, to be clear, “superuser-only” here means that it’ll stay under /api/harvest/clients; so somebody with a superuser api token - like you - would be able to use it remotely; it’s not going to be a localhost-only api) |
What steps does it take to reproduce the issue?
While trying to work around the ListSets command not working in the GUI (see The "ListSets" command fails during the creation of a harvesting client for Zenodo #8289 )...
I tried to first create a harvesting client (here zenodo_lmops).
I retrieved the JSON representation through
curl -H X-Dataverse-key:$API_TOKEN -X PUT -H "Content-Type: application/json" $SERVER_URL/api/harvest/clients/zenodo_lmops
and then tried to update it with the PUT command.
curl -H X-Dataverse-key:$API_TOKEN -X PUT -H "Content-Type: application/json" $SERVER_URL/api/harvest/clients/zenodo_lmops --upload-file client.json
where client.json is like this (I removed only the informations about the last harvests) :
The answer to the curl command was as follows and Dataverse / Payara went down.
The server.log file did not show anything particularly relevant, just stopping at :
Which page(s) does it occurs on?
What happens?
To whom does it occur (all users, curators, superusers)?
What did you expect to happen?
I was
Which version of Dataverse are you using?
Any related open or closed issues to this bug report?
The text was updated successfully, but these errors were encountered: