dataverse icon indicating copy to clipboard operation
dataverse copied to clipboard

request access: when a user requests access to a file and is rejected, that action is saved and should be available via API

Open sbarbosadataverse opened this issue 4 years ago • 20 comments

At this time, rejected users are not saved in any way on the file level permissions page:

  1. This removes and doesn't allow the dataset owner to track their actual numbers of data requests on their restricted file/dataset
  2. This doesn't provide the user with a list of previous requests they can track and keep a record of rejected users
  3. This has been requested in support tickets into Harvard Dataverse repeatedly.

sbarbosadataverse avatar Jul 21 '21 17:07 sbarbosadataverse

@TaniaSchlatter I created this ticket for the request access-rejected user scenario

sbarbosadataverse avatar Jul 21 '21 17:07 sbarbosadataverse

2024/11/18: Upon review, we are keeping this feature request.

cmbz avatar Nov 18 '24 15:11 cmbz

FWIW: The database is tracking granted and rejected requests these days, but there's no UI/API way to retrieve them yet. It would be relatively easy to add a parameter to the https://guides.dataverse.org/en/latest/api/dataaccess.html#list-file-access-requests call, e.g. ?includeHistory=true (mirroring the flag name from #11268 for curationStatus) to at least make the info accessible. It should also be possible to add the info to the current UI or SPA, but some guidance would be needed as to where to display it (showing the history for all files in the dataset page (permissions tab) could be a long list, could show it only on the file page? or?).

qqmyers avatar Feb 25 '25 21:02 qqmyers

Right, as discussed in Slack as of the following PR there are three possible RequestState values that can be saved in the database: CREATED, GRANTED, REJECTED.

  • #9599

Yes, it would be great to expose this via API.

pdurbin avatar Feb 25 '25 22:02 pdurbin

2025/03/03

  • Would require a backend db change
  • Would require UI development

cmbz avatar Mar 03 '25 15:03 cmbz

I don't think this requires a db change. It would require API/UI level work.

qqmyers avatar Mar 03 '25 15:03 qqmyers

2025/03/03

  • Moved to dv backlog column @scolapasta

cmbz avatar Mar 03 '25 15:03 cmbz

Ah, I hadn't realized we were now storing rejected. So yes, if that's the case, no DB change; still needs UI design (especially to handle when large number of rejects exist).

scolapasta avatar Mar 03 '25 15:03 scolapasta

2025-04-09 Next steps for whomever picks up issue

  • Confirm APIs don't exist
  • Implement support in the API
  • Open an SPA issue for the UI part (design and implementation) Sizing at 30 initially

cmbz avatar Apr 09 '25 19:04 cmbz

Based on @cmbz's comment above I retitled this issue.

Also, @DieuwertjeBloemen just opened the following related issue, after a discussion at https://dataverse.zulipchat.com/#narrow/channel/378866-troubleshooting/topic/file.20access.20requests.20in.20a.20collection

  • #11746

pdurbin avatar Aug 14 '25 14:08 pdurbin

Looking for UI comments: ( I still need to consider pagination )

Original without showing history

Image

New showing history

Image Image

stevenwinship avatar Dec 01 '25 14:12 stevenwinship

  • Open an SPA issue for the UI part (design and implementation)

I'm confused. I thought the plan was to work on the UI in the SPA rather than JSF, per above.

pdurbin avatar Dec 01 '25 15:12 pdurbin

I was going off Jim's comment "It should also be possible to add the info to the current UI or SPA". If that's not relevant then I can remove it

stevenwinship avatar Dec 01 '25 15:12 stevenwinship

@pdurbin I'm not sure what the frown face emoji indicates. Should I remove the JSF change or leave it in?

stevenwinship avatar Dec 02 '25 14:12 stevenwinship

@stevenwinship ha! In Firefox, at least, text pops up that says "confused", not "frown". 😄

Thanks for discussing at standup today. I'm not sure if we all reached a consensus or not. 🤷

pdurbin avatar Dec 02 '25 16:12 pdurbin

Created SPA Issue https://github.com/IQSS/dataverse-frontend/issues/895

stevenwinship avatar Dec 03 '25 14:12 stevenwinship

Now that we can see the history of requests I noticed something that may or may not make sense.

A user requests access to a file and that access is granted. The history shows the state of the request as being granted. When the access is then removed the request still shows a state of granted. Should the request be updated to show rejected? It makes sense that the access being removed doesn't have anything to do with the request but it seems odd when viewing both in the UI and having them contradict each other.

stevenwinship avatar Dec 03 '25 19:12 stevenwinship

Hmm, should it show both? Accepted as of a timestamp and rejected as of another timestamp? 🤔

pdurbin avatar Dec 03 '25 19:12 pdurbin

Removing access is not in the fileaccessrequests table since it's not a request. It's removing the file_downloader role. the method (removeRoleAssignments()) doesn't check for existing requests like the grantAccessToRequests() does

stevenwinship avatar Dec 03 '25 19:12 stevenwinship

I don't think revoking access later represents rejecting the request. There is a separate history for roleaccess that should show when access was assigned and removed.

qqmyers avatar Dec 03 '25 20:12 qqmyers