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

Implement instance URLs in Galaxy markdown. #16675

Merged
merged 2 commits into from
Nov 8, 2023

Conversation

jmchilton
Copy link
Member

Working my way through some of the ideas on #16556.

The request was for "current citation for the Galaxy instance it ran on". I think there is a bunch of different things along these lines that would all be useful depending on the application. See the comments on the above issue for more discussion. This adds PR adds 7 new Galaxy markdown link directives - these are for the Galaxy URL, the organization URL, the citation URL, the support URL, the help URL, the terms URL, and the "resources URL" (what we call galaxyproject.org for main).

Most of these are already defined in Galaxy and we just reuse what is there - I did create one new config option and sort of reworked, generalized two existing ones to support this. This is as discussed below:

instance_resources_link() - We define the config value in config_schema.yml called instance_resource_url and we use it for linking to galaxyproject.org in activation e-mails. This seems like a reasonable configuration value to re-use for reports/pages and expose for general statements about learning more about Galaxy and such.

instance_access_link() - I added instance_access_url to mirror instance_resource_url and serve as a way for admins to configure the endpoint URL they want to use for accessing the Galaxy instance. For main, I assume we'd set this to https://usegalaxy.org.

instance_organization_link() - We already had configuration values called ga4gh_service_organization_name and ga4gh_service_organization_url that we needed to expose for GA4GH APIs. All the APIs use similar service endpoint descriptions. I added new configuration values that are more general called organization_url and organization_name for building links that describe the organization hosting Galaxy. The GA4GH values can still be set to more specific things (i.e. if you wanted to define "Evil Corp" as the organization and "Evil Corp - GA4GH Department" as the service provider) but setting the organization-level values make the most sense 99% of the time I think.

instance_citation_link() - Already used in the UI, set via citation_url in Galaxy's config, and defaults to .
https://galaxyproject.org/citing-galaxy

instance_support_link() - Already used in the UI, set via support_url in Galaxy's config, and defaults to https://galaxyproject.org/support/ .

instance_help_link() - Already used in the UI, set via helpsite_url in Galaxy's config, and defaults to https://help.galaxyproject.org/.

instance_terms_link() - Already used in the UI, set via terms_url in Galaxy's config, and has no default.

The inputs:

Screenshot 2023-09-11 at 4 13 46 PM

The result:

Screenshot 2023-09-11 at 4 14 02 PM

The PDF:

Screenshot 2023-09-11 at 4 14 16 PM

These are sort of niche - so I don't expand the toolbox section with these link directives by default - but they are available if you expand that section:

Screenshot 2023-09-11 at 4 13 53 PM

The config.yaml entries I added for this:
Screenshot 2023-09-11 at 4 16 56 PM

How to test the changes?

(Select all options that apply)

  • Instructions for manual testing are as follows:
    1. Create a new page and mimic the screenshots.

License

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

Copy link
Member

@nsoranzo nsoranzo left a comment

Choose a reason for hiding this comment

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

instance_organization_link() - We already had configuration values called ga4gh_service_organization_name and ga4gh_service_organization_url that we needed to expose for GA4GH APIs. All the APIs use similar service endpoint descriptions. I added new configuration values that are more general called organization_url and organization_name for building links that describe the organization hosting Galaxy. The GA4GH values can still be set to more specific things (i.e. if you wanted to define "Evil Corp" as the organization and "Evil Corp - GA4GH Department" as the service provider) but setting the organization-level values make the most sense 99% of the time I think.

Can we add the ga4gh_service_organization_* options to GalaxyAppConfiguration.renamed_options instead of keep supporting them? The GA4GH Department use case seems very theoretical to me.

lib/galaxy/config/schemas/config_schema.yml Show resolved Hide resolved
@jmchilton
Copy link
Member Author

Can we add the ga4gh_service_organization_* options to GalaxyAppConfiguration.renamed_options instead of keep supporting them? The GA4GH Department use case seems very theoretical to me.

I hate that. Really feels like I'm being punished for not putting more time into the specifics examples of the documentation. I will make the change though.

@nsoranzo
Copy link
Member

Can we add the ga4gh_service_organization_* options to GalaxyAppConfiguration.renamed_options instead of keep supporting them? The GA4GH Department use case seems very theoretical to me.

I hate that. Really feels like I'm being punished for not putting more time into the specifics examples of the documentation. I will make the change though.

The goal of my comments is to keep the number of new configuration options as low as possible, to reduce the cognitive load of admins and keep things more maintainable for developers, not to punish you!
Can we please have a less discouraging tone in replies to reviews? It's already an undervalued job.

@jmchilton
Copy link
Member Author

I would rather hide the options in the documentation if that is your concern than eliminate the knobs.

When I do reviews, I generally approve things I disagree with and make it clear I'm okay with changes I dislike unless it is something serious. Even then, I try to make it clear if it is a -0 or a -.9 or a -1. To your point though - my goal is in fact to discourage the request for changes to PRs if I don't agree with them - I have an agenda for the project I am trying to advance.

I don't feel like I have a clear outlet for dissent on a review like this other than to express my disappointment. You're wielding power you've earned and I'm going to submit to it. I try to keep it professional and not personal or directed at you - if I were to make personal directed comments about you - I would say Nicola is brilliant and dedicated and meticulous and an irreplaceable and invaluable asset to the project.

@jmchilton jmchilton force-pushed the report_urls branch 2 times, most recently from a9261a3 to 24facf5 Compare September 13, 2023 14:56
@jmchilton jmchilton force-pushed the report_urls branch 2 times, most recently from 5f4334f to 2b219fe Compare October 20, 2023 14:00
@jmchilton jmchilton marked this pull request as ready for review October 23, 2023 15:24
@github-actions github-actions bot added this to the 23.2 milestone Oct 23, 2023
@assuntad23 assuntad23 requested a review from nsoranzo November 1, 2023 21:28
Copy link
Contributor

@assuntad23 assuntad23 left a comment

Choose a reason for hiding this comment

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

👍🏻

Copy link
Member

@jdavcs jdavcs left a comment

Choose a reason for hiding this comment

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

Looks good! Thanks, @jmchilton!

@jdavcs jdavcs merged commit 7404ed0 into galaxyproject:dev Nov 8, 2023
49 of 50 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants