-
Notifications
You must be signed in to change notification settings - Fork 332
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
Add better logic for routing Dataverse files and their stupid duplicate #9963
Add better logic for routing Dataverse files and their stupid duplicate #9963
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks legit. Worth a try. :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. I like the move to the dataverse model. One tiniest of questions.
osf/models/files.py
Outdated
@@ -191,10 +191,14 @@ def create(cls, **kwargs): | |||
return cls(**kwargs) | |||
|
|||
@classmethod | |||
def get_or_create(cls, target, path): | |||
def get_or_create(cls, target, path, **kwargs): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you still using these kwargs?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Passing the splatted query params universally but only using them in the Dataverse case. Standard linting procedure here would be to prepend unused
here. Sound good?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Works for me
…OpenScience/osf.io into load-lincenses * 'feature/django_upgrade' of https://github.com/CenterForOpenScience/osf.io: remove post-migrate signals from migration stream (CenterForOpenScience#9964) Add better logic for routing Dataverse files and their stupid duplicate (CenterForOpenScience#9963) [ENG-3872] Fix dataverse 502s and pass version info to FE (CenterForOpenScience#9959) Fix File `show_as_unviewed` behavior (CenterForOpenScience#9960) Fix OSFUser.has_resources ensure VOL users always get read perms (CenterForOpenScience#9952) make types correspond more to serializer code (CenterForOpenScience#9955) remove special casing from DV permissions (CenterForOpenScience#9947)
…OpenScience/osf.io into signal-storage-region * 'feature/django_upgrade' of https://github.com/CenterForOpenScience/osf.io: remove post-migrate signals from migration stream (CenterForOpenScience#9964) Add better logic for routing Dataverse files and their stupid duplicate (CenterForOpenScience#9963) [ENG-3872] Fix dataverse 502s and pass version info to FE (CenterForOpenScience#9959) Fix File `show_as_unviewed` behavior (CenterForOpenScience#9960) Fix OSFUser.has_resources ensure VOL users always get read perms (CenterForOpenScience#9952) make types correspond more to serializer code (CenterForOpenScience#9955) remove special casing from DV permissions (CenterForOpenScience#9947) Add a generic demo institution on the test server Don't send empty affiliations list to Datacite or Crossref Update pre-commit config to specify py version Fix DOI conditional Bump version and update CHANGELOG Update sc to use new SSO IdP [ENG-3832] Add redirect based for unauthed files page user (CenterForOpenScience#9948) [ENG-3781] Admin Registration Schemas (CenterForOpenScience#9937)
…OpenScience/osf.io into investigate-waffle-flags * 'feature/django_upgrade' of https://github.com/CenterForOpenScience/osf.io: move createcachetable to post migrate signal (CenterForOpenScience#9944) remove post-migrate signals from migration stream (CenterForOpenScience#9964) Add better logic for routing Dataverse files and their stupid duplicate (CenterForOpenScience#9963) [ENG-3872] Fix dataverse 502s and pass version info to FE (CenterForOpenScience#9959) Fix File `show_as_unviewed` behavior (CenterForOpenScience#9960) # Conflicts: # osf/apps.py # osf/migrations/0137_transfer_preprint_service_permissions.py # osf/migrations/__init__.py
…OpenScience/osf.io into signal-deny-list * 'feature/django_upgrade' of https://github.com/CenterForOpenScience/osf.io: move createcachetable to post migrate signal (CenterForOpenScience#9944) remove post-migrate signals from migration stream (CenterForOpenScience#9964) Add better logic for routing Dataverse files and their stupid duplicate (CenterForOpenScience#9963) [ENG-3872] Fix dataverse 502s and pass version info to FE (CenterForOpenScience#9959) Fix File `show_as_unviewed` behavior (CenterForOpenScience#9960) # Conflicts: # osf/apps.py # osf/migrations/0137_transfer_preprint_service_permissions.py # osf/migrations/__init__.py
…OpenScience/osf.io into signal-deny-list * 'feature/django_upgrade' of https://github.com/CenterForOpenScience/osf.io: move createcachetable to post migrate signal (CenterForOpenScience#9944) remove post-migrate signals from migration stream (CenterForOpenScience#9964) Add better logic for routing Dataverse files and their stupid duplicate (CenterForOpenScience#9963) [ENG-3872] Fix dataverse 502s and pass version info to FE (CenterForOpenScience#9959) Fix File `show_as_unviewed` behavior (CenterForOpenScience#9960) # Conflicts: # osf/apps.py # osf/migrations/0137_transfer_preprint_service_permissions.py # osf/migrations/__init__.py
into fix-mailchimp * 'develop' of https://github.com/CenterForOpenScience/osf.io: (73 commits) [ENG-3898][ENG-3899]Model support for OutcomeArtifact update and delete (CenterForOpenScience#9989) Make OutcomeArtifact.identifier nullable (CenterForOpenScience#9986) [ENG-3894] Outcome models (CenterForOpenScience#9975) revert color picker to working version (CenterForOpenScience#9968) Instrument the ORCiD SSO affiliation flow * Existing user with verified ORCiD ID * Existing user confirmation of linking ORCiD ID * New user confirmation of account creation with ORCiD ID Add a django command script to handle instn sso email domain changes Bump version and CHANGELOG Add better logic for routing Dataverse files and their stupid duplicate (CenterForOpenScience#9963) [ENG-3872] Fix dataverse 502s and pass version info to FE (CenterForOpenScience#9959) Fix File `show_as_unviewed` behavior (CenterForOpenScience#9960) Fix OSFUser.has_resources ensure VOL users always get read perms (CenterForOpenScience#9952) make types correspond more to serializer code (CenterForOpenScience#9955) remove special casing from DV permissions (CenterForOpenScience#9947) Add a generic demo institution on the test server Don't send empty affiliations list to Datacite or Crossref Update pre-commit config to specify py version Fix DOI conditional Bump version and update CHANGELOG Update sc to use new SSO IdP ... # Conflicts: # website/templates/profile/notifications.mako
into add-doi-domain * 'develop' of https://github.com/CenterForOpenScience/osf.io: (126 commits) [ENG-3898][ENG-3899]Model support for OutcomeArtifact update and delete (CenterForOpenScience#9989) Make OutcomeArtifact.identifier nullable (CenterForOpenScience#9986) [ENG-3894] Outcome models (CenterForOpenScience#9975) revert color picker to working version (CenterForOpenScience#9968) Instrument the ORCiD SSO affiliation flow * Existing user with verified ORCiD ID * Existing user confirmation of linking ORCiD ID * New user confirmation of account creation with ORCiD ID Add a django command script to handle instn sso email domain changes Bump version and CHANGELOG Add better logic for routing Dataverse files and their stupid duplicate (CenterForOpenScience#9963) [ENG-3872] Fix dataverse 502s and pass version info to FE (CenterForOpenScience#9959) Fix File `show_as_unviewed` behavior (CenterForOpenScience#9960) Fix OSFUser.has_resources ensure VOL users always get read perms (CenterForOpenScience#9952) make types correspond more to serializer code (CenterForOpenScience#9955) remove special casing from DV permissions (CenterForOpenScience#9947) Add a generic demo institution on the test server Don't send empty affiliations list to Datacite or Crossref Update pre-commit config to specify py version Fix DOI conditional Bump version and update CHANGELOG Update sc to use new SSO IdP ...
into update-README * 'develop' of https://github.com/CenterForOpenScience/osf.io: Only redirect to cas if not logged in OSFI: Update Shared SSO and Add MagLab/FSU [ENG-3654] [ENG-3898][ENG-3899]Model support for OutcomeArtifact update and delete (CenterForOpenScience#9989) Make OutcomeArtifact.identifier nullable (CenterForOpenScience#9986) [ENG-3894] Outcome models (CenterForOpenScience#9975) revert color picker to working version (CenterForOpenScience#9968) Instrument the ORCiD SSO affiliation flow * Existing user with verified ORCiD ID * Existing user confirmation of linking ORCiD ID * New user confirmation of account creation with ORCiD ID Add a django command script to handle instn sso email domain changes Bump version and CHANGELOG Add better logic for routing Dataverse files and their stupid duplicate (CenterForOpenScience#9963) [ENG-3872] Fix dataverse 502s and pass version info to FE (CenterForOpenScience#9959)
into remove-quickfiles-code * 'develop' of https://github.com/CenterForOpenScience/osf.io: (44 commits) Re-add non-anonymized fields removed in CenterForOpenScience#10009 (CenterForOpenScience#10022) Update shield logo for colorado (UC Boulder) Update description for maglab [ENG-3249] Improve registration anonymization (CenterForOpenScience#10009) "backport" artifact changes and swap schema_response.justification (CenterForOpenScience#10003) Add new instn purdue Ensure BitBucket token is string, not bytes Only redirect to cas if not logged in OSFI: Update Shared SSO and Add MagLab/FSU [ENG-3654] [ENG-3898][ENG-3899]Model support for OutcomeArtifact update and delete (CenterForOpenScience#9989) Make OutcomeArtifact.identifier nullable (CenterForOpenScience#9986) [ENG-3894] Outcome models (CenterForOpenScience#9975) revert color picker to working version (CenterForOpenScience#9968) Instrument the ORCiD SSO affiliation flow * Existing user with verified ORCiD ID * Existing user confirmation of linking ORCiD ID * New user confirmation of account creation with ORCiD ID Add a django command script to handle instn sso email domain changes Bump version and CHANGELOG Add better logic for routing Dataverse files and their stupid duplicate (CenterForOpenScience#9963) [ENG-3872] Fix dataverse 502s and pass version info to FE (CenterForOpenScience#9959) Fix File `show_as_unviewed` behavior (CenterForOpenScience#9960) Fix OSFUser.has_resources ... # Conflicts: # api_tests/files/views/test_file_detail.py # osf/models/nodelog.py # osf/models/user.py # tests/test_addons.py # website/static/js/anonymousLogActionsList.json # website/static/js/logActionsList.json
into remove-quickfiles-code * 'develop' of https://github.com/CenterForOpenScience/osf.io: (44 commits) Re-add non-anonymized fields removed in CenterForOpenScience#10009 (CenterForOpenScience#10022) Update shield logo for colorado (UC Boulder) Update description for maglab [ENG-3249] Improve registration anonymization (CenterForOpenScience#10009) "backport" artifact changes and swap schema_response.justification (CenterForOpenScience#10003) Add new instn purdue Ensure BitBucket token is string, not bytes Only redirect to cas if not logged in OSFI: Update Shared SSO and Add MagLab/FSU [ENG-3654] [ENG-3898][ENG-3899]Model support for OutcomeArtifact update and delete (CenterForOpenScience#9989) Make OutcomeArtifact.identifier nullable (CenterForOpenScience#9986) [ENG-3894] Outcome models (CenterForOpenScience#9975) revert color picker to working version (CenterForOpenScience#9968) Instrument the ORCiD SSO affiliation flow * Existing user with verified ORCiD ID * Existing user confirmation of linking ORCiD ID * New user confirmation of account creation with ORCiD ID Add a django command script to handle instn sso email domain changes Bump version and CHANGELOG Add better logic for routing Dataverse files and their stupid duplicate (CenterForOpenScience#9963) [ENG-3872] Fix dataverse 502s and pass version info to FE (CenterForOpenScience#9959) Fix File `show_as_unviewed` behavior (CenterForOpenScience#9960) Fix OSFUser.has_resources ... # Conflicts: # api_tests/files/views/test_file_detail.py # osf/models/nodelog.py # osf/models/user.py # tests/test_addons.py # website/static/js/anonymousLogActionsList.json # website/static/js/logActionsList.json
into remove-quickfiles-code * 'develop' of https://github.com/CenterForOpenScience/osf.io: (44 commits) Re-add non-anonymized fields removed in CenterForOpenScience#10009 (CenterForOpenScience#10022) Update shield logo for colorado (UC Boulder) Update description for maglab [ENG-3249] Improve registration anonymization (CenterForOpenScience#10009) "backport" artifact changes and swap schema_response.justification (CenterForOpenScience#10003) Add new instn purdue Ensure BitBucket token is string, not bytes Only redirect to cas if not logged in OSFI: Update Shared SSO and Add MagLab/FSU [ENG-3654] [ENG-3898][ENG-3899]Model support for OutcomeArtifact update and delete (CenterForOpenScience#9989) Make OutcomeArtifact.identifier nullable (CenterForOpenScience#9986) [ENG-3894] Outcome models (CenterForOpenScience#9975) revert color picker to working version (CenterForOpenScience#9968) Instrument the ORCiD SSO affiliation flow * Existing user with verified ORCiD ID * Existing user confirmation of linking ORCiD ID * New user confirmation of account creation with ORCiD ID Add a django command script to handle instn sso email domain changes Bump version and CHANGELOG Add better logic for routing Dataverse files and their stupid duplicate (CenterForOpenScience#9963) [ENG-3872] Fix dataverse 502s and pass version info to FE (CenterForOpenScience#9959) Fix File `show_as_unviewed` behavior (CenterForOpenScience#9960) Fix OSFUser.has_resources ... # Conflicts: # api_tests/files/views/test_file_detail.py # osf/models/nodelog.py # osf/models/user.py # tests/test_addons.py # website/static/js/anonymousLogActionsList.json # website/static/js/logActionsList.json
into remove-quickfiles-code * 'develop' of https://github.com/CenterForOpenScience/osf.io: (44 commits) Re-add non-anonymized fields removed in CenterForOpenScience#10009 (CenterForOpenScience#10022) Update shield logo for colorado (UC Boulder) Update description for maglab [ENG-3249] Improve registration anonymization (CenterForOpenScience#10009) "backport" artifact changes and swap schema_response.justification (CenterForOpenScience#10003) Add new instn purdue Ensure BitBucket token is string, not bytes Only redirect to cas if not logged in OSFI: Update Shared SSO and Add MagLab/FSU [ENG-3654] [ENG-3898][ENG-3899]Model support for OutcomeArtifact update and delete (CenterForOpenScience#9989) Make OutcomeArtifact.identifier nullable (CenterForOpenScience#9986) [ENG-3894] Outcome models (CenterForOpenScience#9975) revert color picker to working version (CenterForOpenScience#9968) Instrument the ORCiD SSO affiliation flow * Existing user with verified ORCiD ID * Existing user confirmation of linking ORCiD ID * New user confirmation of account creation with ORCiD ID Add a django command script to handle instn sso email domain changes Bump version and CHANGELOG Add better logic for routing Dataverse files and their stupid duplicate (CenterForOpenScience#9963) [ENG-3872] Fix dataverse 502s and pass version info to FE (CenterForOpenScience#9959) Fix File `show_as_unviewed` behavior (CenterForOpenScience#9960) Fix OSFUser.has_resources ... # Conflicts: # api_tests/files/views/test_file_detail.py # osf/models/nodelog.py # osf/models/user.py # tests/test_addons.py # website/static/js/anonymousLogActionsList.json # website/static/js/logActionsList.json
Purpose
Add the ability to differentiate between versions of Dataverse files on the
html
link and related routingChanges
datasetVersion
as theversion
query param in thehtml
link on Dataverse filesget_or_create
method inaddons.base.views.addon_view_or_download_file
get_or_create
inaddons.base.views.addon_view_or_download_file
get_or_create
logic forDataverseFileNode
to validate and use theversion
query paramQA Notes
Deployed to Staging 2 and confirmed that:
?version=latest
or?version=latest-published
query param?version=latest-published
query param if no published version existsDocumentation
Side Effects
Ticket