dataverse icon indicating copy to clipboard operation
dataverse copied to clipboard

8184 preview url changes

Open sekmiller opened this issue 1 year ago • 9 comments

What this PR does / why we need it: Updates the Private URL to Preview URL in Edit Dataset Popup and native api calls. The request was due to confusion over the use of Private URLs.

Which issue(s) this PR closes:

  • Closes #8184 Reviewers using anonymous private URL might learn dataset author's identity from information about the Dataverse installation or collection #8184

  • Closes #8185 Some researches unsure of differences between "Private URL" and "Anonymous Private URL

Special notes for your reviewer: the native api references to privateurl remain and have been marked as deprecated. The classes and service beans, etc. remain with the private url nomenclature.

Suggestions on how to test this: This is the doc I used to guide the update to the Edit Dataset Popup: https://user-images.githubusercontent.com/18374574/151025261-ed70e998-9341-4013-9e0f-3c1d4d2c83e4.jpg

I did make one change to the popup to show the resulting url on create. Please verify with Julian that this makes sense and should remain - it was part of the original popup.

Creation of the "general" preview url will always be available to those that have manage Dataset permission permissions via the "Preview URL" option under the Edit Dataset menu. "Anonymous Preview" is only available if the AnonymizedFieldTypeNames setting has been added to the installation. (Use curl -X PUT -d 'author, datasetContact, contributor, depositor, grantNumber, publication' http://localhost:8080/api/admin/settings/:AnonymizedFieldTypeNames to add the setting)

Verify that the newly created preview url works and indicates to the user that they are viewing an unpublished dataset. Also if the "Anonymous Preview" is used that the Anonymized metadata are displayed as "withheld".

In the native api verify that previewurl and privateurl may be used interchangeably.(curl -H "X-Dataverse-key:35f79221-0fc4-433b-956c-cf20f7f13d87" -X POST "http://localhost:8080/api/datasets/:persistentId/privateUrl?anonymizedAccess=true&persistentId=doi:10.5072/FK2/GNJY26")

  • if you have anonymizedAccess=true and AnonymizedFieldTypeNames are not set you should get an error.

Does this PR introduce a user interface change? If mockups are available, please link/include them here: Yes. See doc above.

Is there a release notes update needed for this change?: Included.

Additional documentation: The app documentation has been updated for this change

sekmiller avatar Oct 23 '24 18:10 sekmiller

Coverage Status

coverage: 22.301% (+0.4%) from 21.852% when pulling 18db323ab6ac8c11390d306536dcd723861da354 on 8184-preview-url-changes into 42d00d1befe73cd8fa4a29cc7507ba8b6e34ffe2 on develop.

coveralls avatar Oct 23 '24 18:10 coveralls

:package: Pushed preview images as

ghcr.io/gdcc/dataverse:8184-preview-url-changes
ghcr.io/gdcc/configbaker:8184-preview-url-changes

:ship: See on GHCR. Use by referencing with full name as printed above, mind the registry name.

github-actions[bot] avatar Oct 23 '24 18:10 github-actions[bot]

Hey @sekmiller. I haven't seen what you've done but from your comments in this PR, shouldn't this PR close the GitHub issue Some researchers unsure of difference between "Private URL" and "Anonymous Private URL" #8185, instead of the GitHub issue it's set to close now, Reviewers using anonymous private URL might learn dataset author's identity from information about the Dataverse installation or collection #8184?

jggautier avatar Oct 23 '24 18:10 jggautier

Hey @jggautier, the reason that I marked it with 8184 was because that is the one that was in the queue- and it has the references to changing the name to "Preview URL". 8185 has "no status", but I can add it to the "Closes" above.

sekmiller avatar Oct 24 '24 18:10 sekmiller

:package: Pushed preview images as

ghcr.io/gdcc/dataverse:8184-preview-url-changes
ghcr.io/gdcc/configbaker:8184-preview-url-changes

:ship: See on GHCR. Use by referencing with full name as printed above, mind the registry name.

github-actions[bot] avatar Oct 24 '24 18:10 github-actions[bot]

:package: Pushed preview images as

ghcr.io/gdcc/dataverse:8184-preview-url-changes
ghcr.io/gdcc/configbaker:8184-preview-url-changes

:ship: See on GHCR. Use by referencing with full name as printed above, mind the registry name.

github-actions[bot] avatar Oct 24 '24 19:10 github-actions[bot]

:package: Pushed preview images as

ghcr.io/gdcc/dataverse:8184-preview-url-changes
ghcr.io/gdcc/configbaker:8184-preview-url-changes

:ship: See on GHCR. Use by referencing with full name as printed above, mind the registry name.

github-actions[bot] avatar Oct 24 '24 19:10 github-actions[bot]

:package: Pushed preview images as

ghcr.io/gdcc/dataverse:8184-preview-url-changes
ghcr.io/gdcc/configbaker:8184-preview-url-changes

:ship: See on GHCR. Use by referencing with full name as printed above, mind the registry name.

github-actions[bot] avatar Oct 24 '24 20:10 github-actions[bot]

Ah thanks, sorry for the confusion. So this PR is about more than changes to the preview URL. It's also addressing how reviewers using the anonymous private URL might learn about the dataset author's identity, by following the approach that I summarized in that image at https://user-images.githubusercontent.com/18374574/151025261-ed70e998-9341-4013-9e0f-3c1d4d2c83e4.jpg.

Thanks for including #8184 like you did.

But I think there's an issue with how things were moved to the queue. I helped propose and test the redesign that's described in https://github.com/IQSS/dataverse/issues/8184 before @sbarbosadataverse opened https://github.com/IQSS/dataverse/issues/10950. And both of these GitHub issues have the v6.5 milestone on them.

Does this PR account for what's being planned in https://github.com/IQSS/dataverse/issues/10950? For example, does the popup still make sense when the breadcrumbs that the dataset reviewer can see on the dataset page "anonymized".

jggautier avatar Oct 25 '24 17:10 jggautier

:package: Pushed preview images as

ghcr.io/gdcc/dataverse:8184-preview-url-changes
ghcr.io/gdcc/configbaker:8184-preview-url-changes

:ship: See on GHCR. Use by referencing with full name as printed above, mind the registry name.

github-actions[bot] avatar Oct 29 '24 14:10 github-actions[bot]

:package: Pushed preview images as

ghcr.io/gdcc/dataverse:8184-preview-url-changes
ghcr.io/gdcc/configbaker:8184-preview-url-changes

:ship: See on GHCR. Use by referencing with full name as printed above, mind the registry name.

github-actions[bot] avatar Oct 29 '24 14:10 github-actions[bot]

:package: Pushed preview images as

ghcr.io/gdcc/dataverse:8184-preview-url-changes
ghcr.io/gdcc/configbaker:8184-preview-url-changes

:ship: See on GHCR. Use by referencing with full name as printed above, mind the registry name.

github-actions[bot] avatar Oct 29 '24 14:10 github-actions[bot]

@jggautier I incorporated the functionality of #10950 into this PR. I modified the note on the popup to say "Users of the preview URL will be able to see the name of the repository but not the name of the collection that this dataset is in."

I also deviated from the design of the popup that you proposed by including the preview url when it is created/exists. Let me know if you think that's OK. See attached example:

Screen Shot 2024-10-29 at 10 52 58 AM

sekmiller avatar Oct 29 '24 14:10 sekmiller

Thanks! Okay, I'm checking it out today.

I'll ignore the typos but just want to acknowledge here that there are some. I didn't say anything when I saw the "tumbstone" typo in a different PR a while back and I regretted not saying something after it made it through the board and into a release.

jggautier avatar Oct 29 '24 15:10 jggautier

Please fire when ready with typos. Thanks for reviewing it

sekmiller avatar Oct 29 '24 15:10 sekmiller

Cool okay. I'll point out the typos last.

I wrote about other things in a list format so hopefully it's clear.

  • About showing the URL, I agree that's better!

  • Isn't that text above the URL redundant since it should be clear from the layout what that URL does? Is it possible to remove that text and the box it's in?

  • In the mockups, the button names are meant to help address confusion about the differences between the two types of URLs. It looks like the names of the buttons might be different than what they were in the mockups. Is that right? Could you share a screenshot of what the popup looks like before the user clicks either of the two buttons that let them create a URL?

  • Not being able to create an Anonymous Preview URL wasn't something I accounted for and isn't addressed in the mockups since I wasn't aware of it until Jim and Gustavo pointed it out later. Could you share a screenshot showing what the popup looks like when a user tries to create a Preview URL for a dataset whose first version has already been published?

    In the current design, the button is grayed out/disabled and hovering over it shows a tooltip that reads that "Anonymized Access is not available once a version of the dataset has been published". Is that still the case with the redesigned popup?

jggautier avatar Oct 29 '24 16:10 jggautier

Here is what the popup looks like before the dataset owner creates the preview url and this is the mockup I was working from. I used "Create General Preview URL" and "Create Anonymous Preview URL" as the labels from the mockup: Screen Shot 2024-10-30 at 9 39 16 AM Screen Shot 2024-10-30 at 9 38 47 AM

sekmiller avatar Oct 30 '24 13:10 sekmiller

this is what the popup looks like if there's no Anonymous Preview option (There's no setting for :AnonymizedFieldTypeNames): Screen Shot 2024-10-30 at 9 49 11 AM

sekmiller avatar Oct 30 '24 13:10 sekmiller

the tooltip on the disabled Anonymous button will still appear then there's a published version of the dataset.

sekmiller avatar Oct 30 '24 14:10 sekmiller

:package: Pushed preview images as

ghcr.io/gdcc/dataverse:8184-preview-url-changes
ghcr.io/gdcc/configbaker:8184-preview-url-changes

:ship: See on GHCR. Use by referencing with full name as printed above, mind the registry name.

github-actions[bot] avatar Oct 30 '24 14:10 github-actions[bot]

Here's what the popup looks like if there's already a published version and the owner has created a General Preview (non-anonymous) I removed the redundant explanation of the URL Screen Shot 2024-10-30 at 10 26 50 AM

sekmiller avatar Oct 30 '24 14:10 sekmiller

Ah, thanks for the screenshots!

I wondered what the button labels looked like because in the redesign we changed the name of the "Disable Preview URL" button to "Disable Anonymous Preview URL". And we meant for the name of the button for disabling the General Preview URL to be "Disable General Preview URL", although the mockups don't show this.

It looks like the disabled button is always named "Disable Preview URL". Is that right? And is that because it's part of a component that includes the box that shows the URL, and that component is being reused?

jggautier avatar Oct 30 '24 15:10 jggautier

About the text itself, I copied it below and I bolded the text I changed only so that it's easier to see what changes I'm suggesting. Most of it is just typos but I tried to explain the non-typo change I made.

I was also going to ask if I could just suggest the changes myself in your branch, but then I saw that the text seems to be in a .properties file and it might take me a while to understand how to make changes there. So it seemed better to just post the changes in this comment.

You can create a Preview URL to copy and share with others who will not need a repository account to review this unpublished dataset version. Once the dataset is published or if the URL is disabled, the URL will no longer work and will point to a "Page not found" page.

To cite this data in publications, use the dataset's persistent ID instead of this URL. For more information about the Preview URL feature, please refer to the User Guide.

Only one Preview URL can be active for a single dataset.

General Preview

Create a URL that others can use to review this dataset version before it is published. They will be able to access all files in the dataset and see all metadata, including metadata that may identify the dataset's authors.

Anonymous Preview

Create a URL that others can use to access an anonymized view of this unpublished dataset version. Metadata that could identify the dataset author will not be displayed. Non-identifying metadata will be visible.

The dataset's files are not changed and will be accessible if they're not restricted. Users of the Anonymous Preview URL will not be able to see the name of the Dataverse that this dataset is in but will be able to see the name of the repository, which might expose the dataset authors' identities.

You won't be able to create an Anonymous Preview URL once a version of this dataset has been published.

I changed that second to last sentence to be more explicit that the name of the repository might expose the identities of the dataset authors. Probably less likely to happen when using a repository like Harvard Dataverse, but others in the community mentioned that it might be possible with smaller or more focused Dataverse repositories.

I added a paragraph break before the last sentence since it's mentioning something different than what's in the paragraph above it.

I also changed "collection" to "Dataverse". I know that at least in the core team, there's consensus to use the term collection or Dataverse collection, but many other parts of the UI and the User Guides still refer to it as Dataverse. And last I heard, this switch from "Dataverse" to "collection" would happen with the SPA.

jggautier avatar Oct 30 '24 15:10 jggautier

@jggautier I can change the label of the disable buttons to correspond to the type of preview. There's also a confirmation popup that you have to accept in order to actually disable it. Right now it is the same for both. (see below). Should I customize it as well?

Screen Shot 2024-10-30 at 2 56 37 PM

sekmiller avatar Oct 30 '24 18:10 sekmiller

Thanks! Yeah we want to make sure users know which URL they're creating and disabling, so it should help to have the disable buttons and the buttons in the confirmation popups also correspond to the type of preview.

I'll assume that I'm way off with my question about those disabled buttons being part of a component that's being reused 😂

jggautier avatar Oct 30 '24 19:10 jggautier

:package: Pushed preview images as

ghcr.io/gdcc/dataverse:8184-preview-url-changes
ghcr.io/gdcc/configbaker:8184-preview-url-changes

:ship: See on GHCR. Use by referencing with full name as printed above, mind the registry name.

github-actions[bot] avatar Nov 01 '24 17:11 github-actions[bot]

:package: Pushed preview images as

ghcr.io/gdcc/dataverse:8184-preview-url-changes
ghcr.io/gdcc/configbaker:8184-preview-url-changes

:ship: See on GHCR. Use by referencing with full name as printed above, mind the registry name.

github-actions[bot] avatar Nov 05 '24 14:11 github-actions[bot]

:package: Pushed preview images as

ghcr.io/gdcc/dataverse:8184-preview-url-changes
ghcr.io/gdcc/configbaker:8184-preview-url-changes

:ship: See on GHCR. Use by referencing with full name as printed above, mind the registry name.

github-actions[bot] avatar Nov 06 '24 18:11 github-actions[bot]

:package: Pushed preview images as

ghcr.io/gdcc/dataverse:8184-preview-url-changes
ghcr.io/gdcc/configbaker:8184-preview-url-changes

:ship: See on GHCR. Use by referencing with full name as printed above, mind the registry name.

github-actions[bot] avatar Nov 06 '24 19:11 github-actions[bot]

:package: Pushed preview images as

ghcr.io/gdcc/dataverse:8184-preview-url-changes
ghcr.io/gdcc/configbaker:8184-preview-url-changes

:ship: See on GHCR. Use by referencing with full name as printed above, mind the registry name.

github-actions[bot] avatar Nov 07 '24 14:11 github-actions[bot]