-
Notifications
You must be signed in to change notification settings - Fork 999
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 optional and default_value for workflow input parameters. #8807
Implement optional and default_value for workflow input parameters. #8807
Conversation
1440f85
to
73599d8
Compare
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.
I like this a lot, but we should fix the default values that are selected without user intervention (i.e define a required integer parameter in the workflow editor, it shouldn't default to '0' in the workflow run form imo).
I started working on this in mvdbeek@04c555d but I still need to wrap my head around how we forward invalid parameter selections in the regular tool form and why you can only create a non-optional IntegerToolParameter
with a valid value.
If you can drop the debug statements (assuming they are just for debugging) I'm happy to merge and build on this.
I guess that's just what we say in the schema: https://docs.galaxyproject.org/en/latest/dev/schema.html#id24
I do feel like that's a weird choice for a mandatory workflow integer parameter though, but maybe I'm wrong. |
I should have taken a pass at cleaning up the debug (prints, unneeded try/excpt, etc..) - sorry @mvdbeek. I'll rebase with a cleaning up of all of this - I'll eliminate that extra |
73599d8
to
d3b8987
Compare
I'm well on the record that the tool state interactions are absolutely the most terrifying part of Galaxy in terms of long term technical viability. I'm in no rush to push something through that complicates things and leaves them in a partially implemented state. This can wait for us to implement (or leverage) the concept of "a required value without a default" so we can look at things all together and make judgements. Frankly - I'm uncomfortable with merging this without implementing optional data inputs at the same time 🤷♂. |
We should line out what that would involve and look like. Would this be another attribute on parameters such as |
I don't know - either seems fine to me. Whatever is cleanest?
I'm just worried about more crazy paths through basic.py frankly. This state thing though seems to be a legitimate concern - especially for executed tools - but hopefully we'd catch this problem before getting that far. |
this is now in conflict, please resolve it |
Add abstractions to separate module tool state (for commiunicating with client and tied to tool form rendering) from abstract export state and state in database. The conditionals and such are client details we don't want in the workflow YAML and we don't want in the database.
d3b8987
to
ded5cc2
Compare
Closing in favor of #8807. Applying the workflow module interface changes to a second application clears up I think what I stumbled into here... |
#8232 + transforming workflow state for the tool form client.