Skip to content

Admin Dashboard Features

Colt McNealy edited this page Mar 6, 2024 · 2 revisions

Admin Dashboard Improvements

The Admin Dashboard is currently in a half-working state.

It successfully accomplishes several very difficult tasks, including:

  • Parsing a WfSpec and displaying it on the screen
  • Parsing a WfRun and displaying it, and also highlighting the nodes that have already been run.
  • Displaying a TaskRun node inside a WfRun. This is very well-done and also tricky.
    • Displaying multiple TaskAttempts
    • Displaying the status/output of each attempt
    • Displaying stacktraces/errors/failures
  • Displaying a UserTaskRun inside a WfRun.
    • Audit log
    • Output/results
    • Ownership
    • Fields

Features to Fix

Workflow Visualizer

  • On the WfSpec page, a Task node only shows the variables of the TaskDef but doesn't yet show the VariableAssignments (which is how the parameters to the TaskRun are assigned from the WfRun variables)

Search Functionality

  • The WfRun search does not have all possible values for the LHStatus enum, for example it is missing EXCEPTION.
  • The TaskRun search does not mirror the TaskStatus enum.
  • For all searches, the calendar is incredibly hard to use, unintuitive, and often buggy.

New Features

Search

  • Ability to search for a WfRun by the value of its Variables, using either rpc SearchWfRun or rpc SearchVariable
  • Clicking on a TaskRun or UserTaskRun from the search bar correctly navigates to the right WfRun, but it does not highlight the right node.

Workflow Visualizer

  • We should display VariableMutations on the Edges.

Failure Handling

  • Failure Handlers should be displayed on every Node type, not just ExternalEvents.
  • For a NodeRun that has a Failure, there should be an icon on that NodeRun to indicate that there was a failure
    • It should be yellow if the Failure has been handled
    • It should be red if the Failure was not handled, and the whole NodeRun failed.
  • The icon to represent that a Node has a FailureHandler shouldn't be a warning light. It should maybe be an overlapping circle, like a BPMN Boundary Event.
  • For a NodeRun that has a Failure with a Handler, clicking on the Failure in the sidebar should take us to the FailureHandler ThreadRun.

Wait for Threads

The WaitForThreads NodeRun should show the status of all of the child ThreadRuns that we are waiting for. Additionally, we should now handle the new feature of a "per-child" FailureHandler, which handles the failure of a child individually. This didn't exist until after the 0.7.2 release, so this is a new node.

WorkflowEvent Nodes

PR #696 introduced the concept of WorkflowEvent, in which a Node can throw a WorkflowEvent. When you click on a WORKFLOW_EVENT NodeRun, you should be able to see the content of the WorkflowEvent that was thrown.

UserTaskRun Events/Triggers

User Tasks have the concept of "Reminder Tasks" which allow engineering teams to schedule tasks to be executed upon certain lifeccyle hooks. These lifecycle hooks are not shown in the current user task sidepanel, nor are the TaskRuns that are scheduled.