Skip to content
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

DOI registration is not confirmed by Datacite #7102

Closed
pdurbin opened this issue Jul 20, 2020 · 8 comments · Fixed by #7121
Closed

DOI registration is not confirmed by Datacite #7102

pdurbin opened this issue Jul 20, 2020 · 8 comments · Fixed by #7121
Milestone

Comments

@pdurbin
Copy link
Member

pdurbin commented Jul 20, 2020

Now that pull request #6901 has been merged, a DOI is reserved from DataCite when a dataset is created.

However, what if something goes wrong? What if the DOI is not reserved on the DataCite side? In this case we want to prevent publishing.

As part of the pull request above, the following commit implemented this:

  • 28f3222 grey out publish button if DataCite and no PID create time

However, the code on the xhtml side was removed in a flurry of merge conflict resolution (where render logic was refactored).

#6980 is related in that the button will stay greyed out until someone does something to reserve the DOI.

@landreev
Copy link
Contributor

landreev commented Jul 21, 2020

From the discussion yesterday, it sounds like we never implemented dropping the DOI from the citation shown on the draft page, until the Datacite DOI is reserved. (the idea was, we don't want to encourage the author to start sharing the DOI, if there's a chance it'll have to change).
Should we address that as part of this issue?
EDIT: Yes, we have decided to address it in this PR. And we have decided to address it in a simplest way possible - the citation should simply omit the DOI if it's not reserved; no placeholders, no extra explanations. (in other words, the dataset citation will be like that of a datafile that hasn't got the DOI yet).

@landreev
Copy link
Contributor

And to summarize the "no publish until reserved" part, since there was (somehow?) so much discussion involved:
This is the code that got lost, from the xhtml of the page:

 or (settingsWrapper.dataCiteInstallation and DatasetPage.dataset.globalIdCreateTime == null)

rather than putting it back into the xhtml, it was requested to add it to the bean in which all the rendering logic now lives. Still going to be a one line change or so.

@mheppler mheppler changed the title grey out Publish button DOI from DataCite has not been reserved DataCite Publish Error - Disable Publish button due to DOI not reserved Jul 21, 2020
@landreev landreev changed the title DataCite Publish Error - Disable Publish button due to DOI not reserved Disable Publish button, if the Datacite DOI has not been reserved yet Jul 21, 2020
@landreev
Copy link
Contributor

I've changed the subject back, just to avoid any confusion, and to be boring and a stickler to precision.
This is not about any publish errors. (publish hasn't been attempted yet).
There are two possible scenarios why the DOI may not have been reserved:

  1. This is a Dataverse that has been upgraded from a pre-v5.0 version; and the admin hasn't yet reserved the DOIs for the existing drafts;
  2. There was a Datacite error when the dataset was created.

@pdurbin pdurbin self-assigned this Jul 21, 2020
@pdurbin pdurbin moved this from Up Next 🛎 to IQSS Team - In Progress 💻 in IQSS/dataverse (TO BE RETIRED / DELETED in favor of project 34) Jul 21, 2020
@landreev
Copy link
Contributor

landreev commented Jul 22, 2020

BTW, I verified, and this check - whether the doi is reserved, if "reserveable" - is already inside PublishDatasetCommand. So if we left that publish button un-greyed out and somebody tried, it would fail with a clear message to the user. (it would fail in the first, synchronous and quick, command - the PublishDatasetCommand proper). So by greying it out we are just sparing them some unnecessary heartbreak.

This also means it'll fail cleanly and properly if an API user tries to publish a dataset with an unreserved datacite DOI; without any extra changes needed.

@djbrooke
Copy link
Contributor

Thanks @landreev for the additional info here.

After some discussion with @TaniaSchlatter @mheppler and @pdurbin I now feel it would be better to show the "contact support" message that you mention if publishing is attempted for a non-reserved dataset, instead of greying out the button.

When I previously made the decision to grey out and not show any messaging, I thought that the proposal was that we grey out AND show a message, which I felt would generate too many support contacts whenever there was a short delay with DataCite registration. We should instead show the button and provide the message about being unable to publish and to contact support, as this will handle those actual cases where someone wants to do split second publishing after creating their dataset and will not create unnecessary support cycles of people seeing a message in all cases.

Thanks all for the discussion here, and happy (really!) to discuss further if needed.

@TaniaSchlatter TaniaSchlatter changed the title Disable Publish button, if the Datacite DOI has not been reserved yet DOI registration is not confirmed by Datacite Jul 22, 2020
@pdurbin
Copy link
Member Author

pdurbin commented Jul 22, 2020

better to show the "contact support" message

Without any changes, on the develop branch as of 941d17d, the following two screenshots show the user experience when you click "Publish" and then "Continue":

Screen Shot 2020-07-22 at 1 05 06 PM

Screen Shot 2020-07-22 at 1 05 17 PM

I'm happy to change "Cannot publish dataset because its persistent identifier has not been reserved" to something else if we want. Otherwise, I don't plan to make any changes to how the Publish button works. No greying-out, etc.

Next I'll look into changing the citation but as I mentioned during the design meeting, the DOI will show up in various places such as the URL.

@pdurbin
Copy link
Member Author

pdurbin commented Jul 22, 2020

I just pushed 8e3149c to make a very minimal change to just the citation. The logic checks if "GlobalIdCreateTime" is null, which is what we use to mean if a DataCite DOI has been reserved or not. (I'm not sure how Handle or EZID works.)

Mostly, I just wanted to show some screenshots.

Here's a dataset without a DOI in the citation:

Screen Shot 2020-07-22 at 4 12 05 PM

For comparison, here's a normal dataset.

Screen Shot 2020-07-22 at 4 12 22 PM

@pdurbin
Copy link
Member Author

pdurbin commented Jul 23, 2020

Ultimately, we decided to add a message to the top. I just made pull request #7121.

kcondon added a commit that referenced this issue Jul 30, 2020
add message when DataCite DOI has not been reserved #7102
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants