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

Allow terms metadata to be changed with Native API #5899

Closed
jggautier opened this issue May 31, 2019 · 6 comments
Closed

Allow terms metadata to be changed with Native API #5899

jggautier opened this issue May 31, 2019 · 6 comments

Comments

@jggautier
Copy link
Contributor

jggautier commented May 31, 2019

Some users want to be able to change Terms of Use metadata for multiple datasets in bulk (without need to open and edit each dataset's metadata). Users can use the Native API to add or edit metadata in the metadata fields that are in Dataverse's metadata blocks, but as of 4.19 the Native API doesn't let users do the same for Terms of Use and Terms of Access fields (in the Terms tab). In fact, if you use the "Update Metadata" endpoint to create or edit a dataset draft, which will overwrite any existing dataset metadata, all values in the Terms of Use and Terms of Access fields are also removed.

It would also be helpful to document in some brief way which fields can and can't be edited using the Native API.

(This is following discussion from the related issue at #2585)

@jggautier jggautier changed the title Allow terms to be changed via native API (or if it's already possible, document it) Allow terms metadata to be changed with Native API May 31, 2019
@IQSS IQSS deleted a comment from pdurbin May 31, 2019
@djbrooke
Copy link
Contributor

djbrooke commented Feb 5, 2020

  • We want the granular option to edit terms, specifically the values of metadata fields in the "Terms of Use" and "Restricted Files + Terms of Access" panels (see screenshot)
  • Add docs for what works and what does not work
  • We'd want the workflow to be the same as what's in the UI, in that the option to provide terms is only available to those users deselecting CC0 and creating a new dataset version
  • Do we want to just accept terms JSON that people send and automatically waive CC0 (do we do it silently or do we provide info)? - we want to provide info per @djbrooke

Screen Shot 2020-02-05 at 3 13 20 PM

@djbrooke djbrooke added the Medium label Feb 5, 2020
@pdurbin pdurbin self-assigned this Feb 10, 2020
pdurbin added a commit to pdurbin/dataverse that referenced this issue Feb 14, 2020
@pdurbin
Copy link
Member

pdurbin commented Feb 14, 2020

Yesterday at standup I said I'd push what I have (which isn't much) to a branch so here it is: pdurbin@60ff805

One thing I re-discovered along that way is that we already have an API to enable or disable the "Request Access" button: http://guides.dataverse.org/en/4.19/api/dataaccess.html#allow-access-requests

Here's a dump of the doc I stubbed out, which gives an idea of where my head's at:

Changing Terms and Licenses
~~~~~~~~~~~~~~~~~~~~~~~~~~~

curl -X GET /terms

curl -X POST /terms

{
  "specialPermissions": "so special",
  "depositorRequirements": "dance",
  "requestAccess": true,
  "license": "CC-BY"
}

(This would be an error since CC-BY is not supported.)

curl -X DELETE /terms/disclaimer

@pdurbin pdurbin removed their assignment Feb 14, 2020
@jggautier
Copy link
Contributor Author

jggautier commented Feb 20, 2020

Interesting!

(This would be an error since CC-BY is not supported.)

Just posting for consideration that the SWORD API guide describes similar logic, in the section with the crosswalk, where if the given xml file has dcterms:license set to "CC0," the CC0 waiver is retained. Otherwise, "enter “NONE” and fill in the dcterms:rights field".

Could this functionality borrow that logic? E.g. users who don't want to use CC0 for license should enter NONE, and for termsOfUse enter CC-BY (and even better, include the URL https://creativecommons.org/licenses/by/2.0)?

@sekmiller sekmiller self-assigned this Feb 21, 2020
@pdurbin pdurbin self-assigned this Jul 31, 2020
@qqmyers
Copy link
Member

qqmyers commented Aug 3, 2020

@pdurbin -just wanted to mention #6497 work. It would let you set any metadata on a dataset (without having to read the existing metadata, update the one field, and send it back), but it doesn't yet cover bulk operations. It could though - wondering if adding bulk options to this, (or at least thinking that if you write bulk operation code, it could be reused for this) would help. I do have some working code for this - got busy on other things and didn't make a PR yet but I could post what I have if that would help.

@sekmiller sekmiller self-assigned this Aug 17, 2020
@sekmiller sekmiller removed their assignment Aug 17, 2020
@poikilotherm
Copy link
Contributor

There's a new kid on the block with related goals #7440

djbrooke added a commit to GlobalDataverseCommunityConsortium/dataverse that referenced this issue Feb 10, 2021
@pdurbin
Copy link
Member

pdurbin commented Jul 6, 2021

Heads up that pull request #7414 might close this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants