konveyor/tackle2-ui

Modify application table to better accommodate language discovery and task management

Closed this issue · 10 comments

Summary

With the addition of automatic language discovery, and general task management, the application table needs to be enhanced to give a good overview of an application's status across the various tasks.

Enhancement references:

Requirements

Base requirements:

  • Navigation to and the base functionality of the page and table remains the same (table rows, pagination, sorting, filtering, application bulk actions, application individual actions)
  • The all existing and new status columns are evaluated and refactored to allow easy future modification of the column data sources, calculations, and display
  • The new default set of the table columns fit into the horizontal space of a standard user's display (TODO: what is the screen size target?)

Existing columns modified and any new columns created that will provide insight to an application's:

  • assessment status (none, inherited, direct, overridden, ...)
  • review status (none, inherited, direct, overridden, ...)
  • analysis status (none, pending, running, success, fail, ...)
  • language discovery status (none, pending, running, success, fail, result, ...) ⇒ This column could take many forms and what is actually agreed and built will be decided in the near future. The issue will be updated then.

HUB enhancements that may be needed

  • Provide an "applications report" endpoint to align data sent to the UI for display with what the UI needs, and have the endpoint calculate status fields instead of replying on the UI to correlate a lot of data across multiple entities.

Mockups

(pending further discussions about content, look and feel)

This issue is currently awaiting triage.
If contributors determine this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.
The triage/accepted label can be added by org members.

@dymurray, @JustinXHale, @rromannissen, @jortel, @mansam -- for your consideration

Some of the details will change, but the overall structural work will remain consistent.

Does this cover any potential wizard changes as well?

Does this cover any potential wizard changes as well?

I plan on writing another issue just for that change since that work can be done independently.

A technical change: When creating task resources.
When creating TaskGroup.Addon: analyzer replaced with TaskGroup.Kind: analyzer.

To consider:

  • Find a superset of values for status states (all states?, assessment/review vs analysis). Potential base states:
    • None
    • Scheduled
    • Succeeded
    • InProgress
    • Failed
    • ...values for a state inherited from archetype
    • ...value for "analysis worked before but the latest run failed"
  • Consider actions that are enabled/disabled based on a status field → flip that over to the new status states from above

A technical change: When creating task resources. When creating TaskGroup.Addon: analyzer replaced with TaskGroup.Kind: analyzer.

Handled in #1970 / #1971

Does this cover any potential wizard changes as well?

I plan on writing another issue just for that change since that work can be done independently.

Handled in #1950

Mocks. I would imagine that clicking the popover link takes you to a filter list in the task manager.

image
image

Application icon statuses:

  • Running (InProgressIcon)
  • Success (CheckCircleIcon)
  • Failed (ExclamationCircleIcon)
  • Queued/Pending/In-flight (PendingIcon)
  • Canceled (TimesCircleIcon)
  • No Tasks (not sure on this icon, TaskIcon or UnknownIcon are potentials)

The icon will be driven off looking at the most recent task (by createTime) per kind for an application:

  • If there are no tasks for an application, show the application in No Tasks state
  • Else if any are "running", show the application in Running
  • Else if any are "queued", show the application in Queued state
  • Else if any are "failed", show the application as Failed
  • Else if any are "canceled", show the application as Canceled
  • Else if any are "success", show the application as Success

The popover will show the status per task kind and have a link to the task manager page with the application filter already applied.

ref @jortel , @dymurray , @rromannissen