[Workbench] [UX] Improve findability and display of pipeline component logs
"I can't see errors, I only see empty files when I click on show in the workflow page. Heres the link, I don't know how to share otherwise."
It is not readily obvious to new users where to go to see if their job failed. If they see the log tab up top next to components they can kind of figure out its the complete running log, but for any individual job, its not completely obvious that you can click on the job name, click the uuid, and then get to the job log.
I propose a link next to the output collection of each job on the pipeline instance page that says "View log output".
- In the pipeline components tab, for the pulldown pane header for each component, add a "Log" link for each component with a log recorded that directly opens the Log tab of that component. This link should appear next to the completed/failed tag.
- In the pipeline log tab, in the table of logs for completed components, link to the job log page rather than the log collection page.
#9 Updated by Radhika Chippada over 4 years ago
- I reduced the column offset used for the first column (job name) to 2 and used that to add the new column for Log in the component panel header line
- See note 10 below
Added a “Job log” link that takes the user directly to <job>#Log in the component header line I called this “Job log” instead of “Log” for two reasons. Most importantly, I found it to be quite confusing to have the same link text “Log” for the pipeline instance Log tab as well as the component job log link. A name such as “Job log” made it clear to me that these two are two different logs Spent several hours to make the anonymous_access_test to be able to click on “Log” link without the “found ambiguous Log link” error due to more than one “Log” link in page (pipeline instance Log tab text as well as one ore more jobs log links). I compromised with a name such as “Job log” to make the test pass without suffering “ambiguous Log link” error
- As I was writing this, I realized that the new “Log” link in the component header should honor the “is log readable by user” logic as well. Added this logic also.
- Updated the pipeline_instance Log tab links to point to <job>#Log instead of collection
- the jobs fixture had no log specified for one of the jobs used in a pipeline and the pipeline component itself specified the log data making the test choke. Corrected the fixture also to specify the log
- Updated tests with additional assertions
- There were enough tests already and I only needed to update existing assertions or add a couple more assertions
- While updating anonymous_access_test, noticed that the variable name “page” was incorrectly used and leading to overwriting of the “page” object. Corrected it to “page_link” to avoid future confusion
#13 Updated by Radhika Chippada over 4 years ago
When I am on the page for a single job on the "Status" tab and click on the "Log" link, it doesn't do anything. If possible it should switch to the Log tab while staying on the page.
Yes. When the job is in "Running" state, "log" collection does not yet exist (whose collection uuid is used ensure the user can read the log). Added special handling for "Running" job to ensure the Log link is displayed in this state as well.
Also the "Log" link should show up for running jobs as well.
This was failing because link_to with anchor is not doing page refresh to the tab. Suppressed the Log link in the panel header when it is a job#show. No point in showing it in the panel header while the Log tab is right there and accessible. This is only shown for a pipeline_instance display.