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

Add Zenodo integration #18022

Merged
merged 11 commits into from
Apr 22, 2024
Merged

Conversation

davelopez
Copy link
Contributor

@davelopez davelopez commented Apr 18, 2024

Requires #18028

This PR adds a new Zenodo file source plugin based on Invenio to make the integration a bit more obvious.

This also uses new schemes for Invenio (invenio://) and Zenodo (zenodo://) file sources as they should have been from the beginning... The previous gxfiles:// scheme in the case of existing exports will still work as expected.

image

How to test the changes?

(Select all options that apply)

  • I've included appropriate automated tests.
  • This is a refactoring of components with existing test coverage.
  • Instructions for manual testing are as follows:
    • Set enable_celery_tasks to true in your galaxy.yml config file.
    • Add to your file_sources_conf.yml
        - type: zenodo
          id: zenodo
          doc: Zenodo is a general-purpose open-access repository developed under the European OpenAIRE program and operated by CERN. It allows researchers to deposit data sets, research software, reports, and any other research-related digital artifacts. For each submission, a persistent digital object identifier (DOI) is minted, which makes the stored items easily citeable.
          label: Zenodo
          url: https://sandbox.zenodo.org # To use the real Zenodo instance replace with https://zenodo.org
          token: ${user.user_vault.read_secret('preferences/zenodo/token')}
          # token: ${user.preferences['zenodo|token']} # Alternatively use this for retrieving the token from user preferences instead of the Vault
          public_name: ${user.preferences['zenodo|public_name']}
          writable: true
    • Add to your user_preferences_extra_conf.yml
          zenodo:
                  description: Your Zenodo Integration Settings
                  inputs:
                      - name: token
                        label: Personal Access Token used to create draft records and to upload files. You can manage your tokens at https://zenodo.org/account/settings/applications/
                        type: secret
                        store: vault # Requires setting up vault_config_file in your galaxy.yml
                        required: False
                      - name: public_name
                        label: Creator name to associate with new records (formatted as "Last name, First name"). If left blank "Anonymous Galaxy User" will be used. You can always change this by editing your record directly.
                        type: text
                        required: False
    • Try to export a history

License

  • I agree to license these and all my past contributions to the core galaxy codebase under the MIT license.

@davelopez davelopez force-pushed the add_zenodo_integration branch from b74edd9 to ed688a3 Compare April 19, 2024 09:07
@davelopez davelopez marked this pull request as ready for review April 19, 2024 09:27
@github-actions github-actions bot added this to the 24.1 milestone Apr 19, 2024
@davelopez davelopez marked this pull request as draft April 19, 2024 10:14
@davelopez davelopez marked this pull request as ready for review April 19, 2024 10:14
@davelopez
Copy link
Contributor Author

API test failure unrelated and fixed in #18026

Copy link
Member

@jmchilton jmchilton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is so ridiculously cool.

@davelopez davelopez force-pushed the add_zenodo_integration branch from 23c5ef8 to c0c893d Compare April 22, 2024 07:18
@davelopez davelopez marked this pull request as draft April 22, 2024 10:16
This is more accurate as the auto-publish option is not available anymore. The publishing must be done through the Zenodo website for extra security.
@davelopez davelopez marked this pull request as ready for review April 22, 2024 10:22
Copy link
Member

@bgruening bgruening left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the rebase @davelopez!

@bgruening bgruening merged commit af49b5d into galaxyproject:dev Apr 22, 2024
54 of 55 checks passed
@davelopez davelopez deleted the add_zenodo_integration branch April 22, 2024 15:27
@jdavcs jdavcs added the highlight Included in user-facing release notes at the top label May 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/backend area/UI-UX highlight Included in user-facing release notes at the top kind/enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants