You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are several sharp edges here IMO (ordered by my perception of their importance and my workflow agenda):
There is no opportunity to provide additional information/help/links/etc....
Upgrade messages meant for viewing by users are generated on the backend - the backend should generate a structured description of what is happening and defer to the client to generate views.
The word "Problem" appears even if the upgrade message is more of an "INFO" sort of thing.
The display of these things is not uniform.
The display of these things is not pretty.
The Proposal
I think we should be generating structured data not error messages on the backend, some examples could be:
Then I think on the frontend more engineering should go into that modal - including backbone models and views based on types. It should be more consistent - such as not duplicating the tool name multiple times as shown if the first screenshot above.
We should change the header text of the modal also based on whether each upgrade is a warn, error, or info.
Finally we should polish up the display - add icons for step type and message type. So for step labels for instance instead of "Step 2: multiple_versions" above something like "[tool_icon] 2: <step_label or tool_name>" to match the run form changes in #3369. For the actual messages there should be a visual indication of the level of the message and there should be an oppertunity for expanded help describing what happened in detail (maybe a mouseover or a help icon that would drop down a paragraph of HTML below the message).
I think we're well on our way to doing these things. Structured messages are the way to go, I've also added these for workflow invocation issues in #14846, and I think we've long switched at least a part of these over for the workflow editor.
Current State
Here is a Selenium-generated screenshot of a workflow with a tool state upgrade message and tool version upgrade message given the current code:
Here is a screenshot from my work on replacing names with labels:
This information is based on API calls which return information in the form:
"<order_index>": {"upgrade_messages": [{"<tool_name>": <message>}"]}
The Issues
There are several sharp edges here IMO (ordered by my perception of their importance and my workflow agenda):
The Proposal
I think we should be generating structured data not error messages on the backend, some examples could be:
"<order_index>": {"upgrade_messages": [<structured_message>*]}
So
structured_message
examples could be:{"type": "state_correction", "param_label": "Alpha Threshold", "level": "warn"}
{"type": "upgrade", "tool_name": "Tophat", "level": "info"}
{"type": "name_to_label", "name": "FASTA Input", "level": "info"}
{"type": "missing", "content_id": "Tophat", "level": "error"}
Then I think on the frontend more engineering should go into that modal - including backbone models and views based on types. It should be more consistent - such as not duplicating the tool name multiple times as shown if the first screenshot above.
We should change the header text of the modal also based on whether each upgrade is a
warn
,error
, orinfo
.Finally we should polish up the display - add icons for step type and message type. So for step labels for instance instead of "Step 2: multiple_versions" above something like "[tool_icon] 2: <step_label or tool_name>" to match the run form changes in #3369. For the actual messages there should be a visual indication of the level of the message and there should be an oppertunity for expanded help describing what happened in detail (maybe a mouseover or a help icon that would drop down a paragraph of HTML below the message).
xref #3369 #1325
The text was updated successfully, but these errors were encountered: