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

api: serve updated parameters in spec endpoint #226

Closed
mvidalgarcia opened this issue Feb 28, 2020 · 3 comments · Fixed by #229 or reanahub/reana-ui#88
Closed

api: serve updated parameters in spec endpoint #226

mvidalgarcia opened this issue Feb 28, 2020 · 3 comments · Fixed by #229 or reanahub/reana-ui#88

Comments

@mvidalgarcia
Copy link
Member

mvidalgarcia commented Feb 28, 2020

The spec endpoint returns the original REANA specification but doesn't update its parameters when those are set via reana-client.

Steps to reproduce:

  1. Run (reana-demo-root6-roofit)
 reana-client run -w roofit -p events=1000
  1. Go to UI, workflow details page, Specification tab and check parameters.

Can be addressed at the same time as #227 if possible.

@mvidalgarcia mvidalgarcia changed the title spec: serve updated parameters api: serve updated parameters in spec endpoint Feb 28, 2020
@mvidalgarcia mvidalgarcia self-assigned this Mar 17, 2020
mvidalgarcia added a commit to mvidalgarcia/reana-workflow-controller that referenced this issue Mar 17, 2020
mvidalgarcia added a commit to mvidalgarcia/reana-workflow-controller that referenced this issue Mar 17, 2020
mvidalgarcia added a commit to mvidalgarcia/reana-workflow-controller that referenced this issue Mar 17, 2020
@mvidalgarcia
Copy link
Member Author

As discussed during the standup we decided to keep Workflow.reana_specification as the source of truth and never modify it. Aggregations/overwritings as operational input parameters must be handled per operation basis, as done in the diff operation.

Now the problem arises on how to display this information in the UI. Some ideas that come to my head:

  • a) Create a new tab for input parameters. (Perhaps overkill and mostly empty).
  • b) Display a small box in the specification tab on top of the specification itself with the passed parameters. Return operational params in the same endpoint.
  • c) Display specification using diff format, so user is aware of original and new value.

@reanahub/developers WDYT? 💭

@diegodelemos
Copy link
Member

I agree option a) would be an overkill if it only contains inputs.parameters , however, what if it contains all inputs (reana.yaml speaking it would be parameters and files)? For instance, the alice lego train has many input files see here.

Option b) seems to align with what Travis does, note that the different sections can be expanded and collapsed:
image

Regarding option c) I think we should leave diff views to the diff feature itself (when one could, for instance, select two workflow runs and perform a diff action) otherwise I believe it would be confusing. We could use a visual aid instead, for example, gently highlighting the line and a tooltip to explain the situation (of course better than this 😅):
Screenshot 2020-03-19 at 10 01 24

For me option c) with a different look than diff is the more informative and compact of the three.

P.S. It would be worth moving this discussion to an issue in REANA-UI.

@mvidalgarcia
Copy link
Member Author

I agree that your proposal would be the ideal solution. However, at the moment, our CodeSnippet is very limited (that's why I created this issue to evaluate more powerful options) and adding a tooltip would be too much work and it would involve super tricky and dangerours string comparisons. So IMO we should go for option b), at least for the moment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants