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

Problem: Preservation activity task list is too condensed, not very accessible as a table #1077

Open
fiver-watson opened this issue Nov 22, 2024 · 7 comments · Fixed by #1086 · May be fixed by #1107
Open

Problem: Preservation activity task list is too condensed, not very accessible as a table #1077

fiver-watson opened this issue Nov 22, 2024 · 7 comments · Fixed by #1086 · May be fixed by #1107
Assignees
Labels
Client: SFA UI user interface issues and improvements

Comments

@fiver-watson
Copy link
Contributor

fiver-watson commented Nov 22, 2024

The problem

  • Table view of task list does not have enough room to include task STDOUT / STDERR information
  • Table is not very responsive (horizontal scrollbar added on narrow devices is a sub-optimal user experience)
  • Table view will not easily accommodate buttons required for input on Pending tasks, such as reviewing a deletion request
  • If we ever decide to add more information to the task view, there is currently no room - table is already pretty overloaded with the current number of columns
  • Tables are less accessible overall

Proposed solution

After some rounds of discussion and wireframing, we have decided to try implementing cards for tasks, instead of a table. This should:

  • Be more responsive and accessible
  • Allow for additional information to be added in the future
  • Better support potential task inputs, such as approving or rejecting Pending deletion requests
  • Allow us to add Archivematica task STDOUT / STDERR log info to tasks in a visually manageable way

Mockup:

Image

We will add the expandable sections with AM STDOUT/ERR information in a separate ticket. The mockup above should provide a general sense of the card design.

I also included some initial proposals for how these cards would display on narrow device widths - for example:

  • On completed tasks, show only the completed time. If tasks are still in progress, show when it was started
  • When the card is collapsed, use overflow / ellipses for task titles and notes. When expanded, we can switch to wrapping instead to show the full content (if that is possible!)
  • For error and pending messages - as we slowly and incrementally implement updates to these (see Epic, preprocessing-sfa#43), error and pending messages will have a bolded summary first, and then details below. In a condensed view, only show the first line
@fiver-watson fiver-watson added Client: SFA UI user interface issues and improvements labels Nov 22, 2024
@fiver-watson fiver-watson moved this to 🛠 Refining in Enduro Nov 22, 2024
@sallain sallain moved this from 🛠 Refining to 👍 Ready in Enduro Nov 25, 2024
@djjuhasz djjuhasz self-assigned this Nov 28, 2024
@sallain sallain moved this from 👍 Ready to ⏳ In Progress in Enduro Nov 28, 2024
@djjuhasz djjuhasz linked a pull request Nov 30, 2024 that will close this issue
@djjuhasz
Copy link
Collaborator

djjuhasz commented Nov 30, 2024

@fiver-watson are you expecting the circle-down-caret icon to show on cards even when all the output fits on a single line?

@sevein
Copy link
Contributor

sevein commented Dec 3, 2024

Have you considered replacing the "Started" and "Completed" times with a single task duration indicator. This could show the total duration for completed tasks or a dynamic counter for ongoing tasks, while detailed timestamps could be displayed only when the task is expanded.

@fiver-watson
Copy link
Contributor Author

@djjuhasz admittedly, i hadn't fully considered - I assumed that all tasks would have SOME kind of STDOUT that we could display... though perhaps that is not the case.

2 initial thoughts on how we could proceed:

  1. only show if there is in fact further content to display
  2. implement @sevein's suggestion - show only duration on the initial card view, and include start and end timestamps in the pulldown. That way there should always be something to show...

@djjuhasz
Copy link
Collaborator

djjuhasz commented Dec 4, 2024

@sevein @fiver-watson I think what we show on the UI should be determined by what data is most relevant to the operator in the current context, and I think that in most cases task duration will be less relevant than the task start (for running tasks) or completion (for completed tasks) times in the preservation task list view.

I would imagine that in most cases where SIP processing completes successfully the operator won't be looking at the preservation tasks at all. The preservation tasks interface mostly seems relevant when one or more of the tasks failed, and the operator wants to know which ones and why. The second scenario I can imagine where the preservation tasks are relevant is when a SIP is taking a long time to process and the operator is trying to find out why.

For the first scenario (task failed) the time that the task failed could be relevant to correlate it with other activities in the environment (e.g. high network usage, disk issues, concurrent processing). In this scenario duration seems less relevant, but it might be informative if the task timed out.

For the second scenario (long running task) the duration of a long running task seems highly relevant, and the time the task started would be slightly less relevant, but may also be helpful for correlating other events.

In either of the above scenarios clicking on a task to get more details such as start and end time and task duration seems reasonable, and would also be necessary to see detailed error output. If the operator can get all the data they need by clicking the task, then I think the default, collapsed card view should show the start time for any pending or currently running task, or a completed time for any tasks that have completed or failed. I think the timestamps are useful on the list view because the list is ordered in reverse chronological order, and the timestamps reinforce this ordering. I also think that scanning a list of timestamps provides more information than a duration, and you can infer the duration of any particular task based on the timestamps of the preceding and subsequent tasks. Providing a duration is also more computationally expensive (it is a calculated value) and requires more frequent updates of the UI (it changes frequently for a running task).

@fiver-watson
Copy link
Contributor Author

All good points!

djjuhasz added a commit that referenced this issue Dec 11, 2024
Refs #1077

Switch the preservation task list from a table to a list of "cards" to
provide better display on small screens and to facilitate future work
to expand cards to show logs and more error information in the
Dashboard.
djjuhasz added a commit that referenced this issue Dec 12, 2024
Refs #1077

Switch the preservation task list from a table to a list of "cards" to
provide better display on small screens and facilitate future work to
show detailed logs and error information.
djjuhasz added a commit that referenced this issue Dec 12, 2024
Refs #1077

Switch the preservation task list from a table to a list of "cards" to
provide better display on small screens and facilitate future work to
show detailed logs and error information.
@github-project-automation github-project-automation bot moved this from ⏳ In Progress to 🎉 Done in Enduro Dec 12, 2024
@djjuhasz djjuhasz moved this from 🎉 Done to 👍 Ready in Enduro Dec 12, 2024
@sallain sallain moved this from 👍 Ready to 🧐 QA in Enduro Dec 12, 2024
@sallain
Copy link
Collaborator

sallain commented Jan 8, 2025

For the work to date, this is looking good to me! Let's pass it on to the client and see how they feel.

@sallain sallain moved this from 🧐 QA to 🎉 Done in Enduro Jan 8, 2025
@djjuhasz djjuhasz moved this from 🎉 Done to ⏳ In Progress in Enduro Jan 21, 2025
@djjuhasz
Copy link
Collaborator

I'm working on making the task cards expandable when there is more than one line of output.

@djjuhasz djjuhasz reopened this Jan 21, 2025
djjuhasz added a commit that referenced this issue Jan 21, 2025
Fixes #1077.

- Show only the first line of a multi-line task note by default
- Show an icon on task cards with multi-line notes to toggle display of
  the subsequent lines of the note
- Add css animations for the expansion and contraction of the
  additional note content
@djjuhasz djjuhasz linked a pull request Jan 21, 2025 that will close this issue
djjuhasz added a commit that referenced this issue Jan 21, 2025
Fixes #1077.

- Show only the first line of a multi-line task note by default
- Show an icon on task cards with multi-line notes to toggle display of
  the subsequent lines of the note
- Add css animations for the expansion and contraction of the
  additional note content
djjuhasz added a commit that referenced this issue Jan 22, 2025
Fixes #1077.

- Show only the first line of a multi-line task note by default
- Show an icon on task cards with multi-line notes to toggle display of
  the subsequent lines of the note
- Add css animations for the expansion and contraction of the
  additional note content
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Client: SFA UI user interface issues and improvements
Projects
Status: ⏳ In Progress
4 participants