-
Notifications
You must be signed in to change notification settings - Fork 494
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
ability to reserve DOIs through DataCite #5093 #6901
Conversation
- The DataCite MDS API is older, XML-based, and configured using :ref:`doi.baseurlstring`. | ||
- The DataCite REST API is newer, JSON-based, and configured using ``doi.baseurlstringnext``. | ||
|
||
In production, ``doi.baseurlstringnext`` should be set to ``https://api.datacite.org`` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this is specific to DataCite, it might be better to name it for that - doi.dataciteapibaseurl or something. (FWIW - I could swear that at some point I discussed adding a second option versus swapping mds for api in baseurlstring with someone and decided against having a second option, but I can't find code nor conversation...)
The fix required removing the throwing of RuntimeException in DataCiteRESTfullClient. This is considered a system exception and rolls back the entire "create dataset" command and transaction. This commit also remove the temporary fix I had put in to allow datasets to be created when DataCite is down: 9cbd5d3 Basically, it's a better fix. We need the create time to be null if DataCite is down so that we can query for unreserved DOIs and then reserve them.
Conflicts: src/main/java/propertyFiles/Bundle.properties
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. In addition to looking at the code I did some experimenting with the branch, tested some failure condition; files registration, etc. - I believe it does everything we want.
May add some info for QA, to the issue. (specifically, should QA include testing of at least failures to register, with EZID and Handles as well?)
Issues found: |
What this PR does / why we need it:
We want to reserve PIDs from DataCite when we create datasets.
Which issue(s) this PR closes:
Closes #5093
Special notes for your reviewer:
Suggestions on how to test this:
Does this PR introduce a user interface change?:
No.
Is there a release notes update needed for this change?:
No.
Additional documentation:
No.