-
Notifications
You must be signed in to change notification settings - Fork 492
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
Dataset status change isn't visible after publish on auto refreshed dataset page (v5.14) #9954
Comments
FWIW: My guess (not confirmed) is that the fix is from #9835. When the page updates to show the publication in progress message the persistentId in the URL is switched to an encoded form e.g. persistentId=doi%3A10.70122%2FFK2%2FLT4HCQ and #9835 is a fix to allow a PID with %3A to be recognized correctly. As far as I know, there were no changes to the signposting code in DatasetPage between 5.14 and 6.0 (where workingversion is null). Whether that fixes all cases where workingversion is null in the signposting call is tbd. Since signposting probably isn't needed during page refreshes, one quick code fix, if needed for other cases, could be to just return null if workingversion is null. |
Thank you @qqmyers for the suggestions. Unfortunately, both fixes do not solve the problem.
The root problem is that workingVersion and dataset must not be null when the dataset page refreshes. But in 5.14, at the end of the refresh phase, they suddenly are. |
From what I can tell, a change in #9725 causes this problem in v5.14 but not in v6.0. It appears that adding a check for versionId being null at and setting it to workingVersion.getId() before workingVersion is set to null is a work-around. In 6.0, it appears that versionId is still set at this point, as is workingVersion itself. |
@qqmyers Thank you, awesome. I will close this issue as this is a fix for an older version which isn't relevant for the current main development branch. |
This behaviour only occurs in v5.14. It seems to be fixed in v6.0.
However, we're looking for a quick fix which we can apply to v5.14.
There's a discussion on Zulip chat about this: https://dataverse.zulipchat.com/#narrow/stream/378866-troubleshooting/topic/dataset.20status.20change.20isn't.20visible.20after.20publish.20.28v5.2E14.29
Normally, when publishing a dataset, the dataset page refreshes every few seconds and then displays the published dataset.
With 5.14 however, the page is still refreshed, but at the end the old draft version is displayed, although the dataset is in status published. If you refresh the page manually, the message "Info – The "DRAFT" version was not found. This is version "1.0". " is displayed. But if you go back to the list, and open the dataset again, it's in the correct state (published)
In the background the log shows a null pointer exception:
The method DatasetPage.getSignPostingLinkHeader (
dataverse/src/main/java/edu/harvard/iq/dataverse/DatasetPage.java
Line 6148 in 9f4ddbb
Fixing this method does not help, because then another NPE is thrown. The actual problem is that methods are called on DatasetPage when the page is refreshed, but workingVersion and dataset are null.
Here's a screencast showing this behaviour:
https://github.com/IQSS/dataverse/assets/5524896/c1262c31-5e12-4312-b0be-618a3112e102
Would be really helpful if anyone is aware which change from v5.14 to v6.0 fixedx this behaviour.
Thank you!
The text was updated successfully, but these errors were encountered: