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

Backend for workflow readme metadata. #19591

Open
wants to merge 5 commits into
base: dev
Choose a base branch
from

Conversation

jmchilton
Copy link
Member

So far just the first part of #19559.

Added help and readme field. Also added a logo url so we can generate workflow repository readmes using a template like

# {{ workflow.name }}

{% if workflow.logo_url  %}
![{{ workflow.name }} logo]({{ workflow.logo_url }})
{% endif %}

{{ workflow.readme }}

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:
    1. [add testing steps and prerequisites here if you didn't write automated tests covering all your changes]

License

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

Comment on lines +7883 to +7885
readme: Mapped[Optional[str]] = mapped_column(TEXT)
logo_url: Mapped[Optional[str]] = mapped_column(TEXT)
help: Mapped[Optional[str]] = mapped_column(TEXT)
Copy link
Member

Choose a reason for hiding this comment

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

What is the relationship going to be between readme, help and annotation ? And we should probably limit the text size. The largest readme we have in the IWC so far is 3715 characters. Maybe we could start with a 50K char limit in the database and limit this in a setter to 20K chars ? That way we could bump it up without a migration if there are legitimate reasons to have such a long readme ?

Copy link
Member Author

Choose a reason for hiding this comment

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

I would describe it as - readme is a full description of the workflow (WHAT), the help is what we place on the form and it is the in-galaxy description of how to use the workflow (HOW), and the annotation is just a short description for use within the workflow list. Do these three make sense to you? The corresponding things for tools would be like a readme in the tool's repository, the help section for the tool, and the description field. The corresponding things for some piece of software like Galaxy would be the readme, the sphinx help, and the description field in Github. It is a very technical and CS perspective I think that the readme and help should be different - I feel strongly about it but also I'm not a user and I would defer to people who actually use Galaxy if they thought the distinction between a readme and help text or an instruction manual would be wasteful.

I've seen some really intricate workflow help text in the annotation and I think it would be great to migrate it to a markdown field.

I will update this to limit the length to 20K characters. The other way to save database space might be to have an association here and update the link only if the text changes. The database might already do this somehow if it is really smart but I don't know if it is or if there is a way to encourage that.

Copy link
Member Author

Choose a reason for hiding this comment

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

Starting to think about the UI I came up with - the readme is text "researchers looking for your workflow will see" and the help is text "researchers running your workflow will see".

@jmchilton
Copy link
Member Author

Most naive possible UI - definitely could use some love.

Screenshot 2025-02-12 at 11 09 48 AM

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.

2 participants