User Interface Layout - noetl/noetl GitHub Wiki

This proposed layout for the UI is intended to provide an easy and convenient method for maintaining and overseeing the JSON configuration file, and the execution of jobs. There are 3 main tabs: Maintain Workflow, Execution, and Error Correct. Within Maintain Workflow, the user can edit Job configurations under the Jobs tab, or the user can Specify Job Properties such as OS_ENV, PROJECT, REPORTS, and LOGGING in the configuration file. Each Job will have a separate configuration file. Jobs have a flow of Tasks, which are Step controllers in that they fork certain Step sequences, executing them in parallel, and joining the steps before moving on to the next Task. Jobs and may have multiple versions.

Edit

  1. Create Configurations/ Specify Job Properties

Under Maintain Workflow > Specify Job Properties, you can create and update configurations, using the existing configurations to drag and drop references from the Label Bank on the left hand side. In the example below, the user is creating the REPORT section of the configuration file, and has dragged and dropped references to PROJECT.NAME, PROJECT.HOME, and OS_ENV.HOST

  1. Select a Job

Inside the Maintain Workflow tab, and under the Job tab, all Jobs will be shown. Click on the Job you wish to look at. Click the "New Job" button to create a new Job. In the example, the user has chosen to look into Job 1.

  1. Choose a Job Version

After choosing a Job, you will be taken to a page that shows the different Job versions available for the particular Job you have selected. Click the "New Job Version" button to create a new Job Version. In the example below, the user has decided to edit Job 1 Version 2.

  1. Edit the Job Workflow

Inside a Job, there is a Tasks tab where you can edit the Tasks and Steps. To see a particular Step's details, hover over the Step and a box describing the Step's respective fields will appear. To edit a step, click on the step. Move the mouse into the box, and click on the field you wish to change. Click the "New Step" button to create a new Step, and the "New Task" button to create a new Task. From the Tasks page, the user can also run the Job with the "Run Job" button, click "Save Job", or click "Save as new Job Version". In the example below, the user is hovering over Step A7, and the Step details are shown in the purple pop-up box.

  1. Create a New Step

The "New Task" allows the user to add another Task to the Job, and the "New Step" Button adds a Step to a Task. All the labels in the JSON configuration file are in the Label Bank on the left hand side. The user has drag and drop capabilities, and can drag desired references to other fields into the Step fields to create a variable reference in the configuration file. After making changes to the Job, the user can either click "Save Job", which updates that particular Job version, or the user can click "Save as new Job Version" which creates another Job Version without affecting the current Job Version opened.

In the example, the user has created a new step, dragged it to a different spot on the board, and reordered the steps by pointing the arrows to different steps. In addition, the NAME label under PROJECT is being dragged to the description field for the new Step.

Execution

  1. Visualize Execution

The Execution page illustrates the flow of the current Job's execution, showing the current task's steps in detail. A green check means that Task or Step has successfully completed, a running man means the Task or Step is currently in progress, and a red "X" means that the Task or Step has failed. The user has the option to click the red "Stop Execution" button at any point during the process. In addition, there is a Progress bar showing the execution progress, and the orange box has execution time details, such as Time Elapsed and Estimated Time to Completion.

The example below shows the execution of Sequence A and Sequence B for Job 1 Task 1.

  1. Job Error

If an error occurs, the program waits for the other sequences to complete, marks that Step and Task as a failure, and prompts the user with a pop-up box. In the example below, StepB3 of Task 1 failed, and Sequence A has successfully completed. Task 1 and StepB3 were marked as a failure, and the user is prompted with 3 choices: Error Correct, Re-run Job, and Update Configuration.

Error Correct

  1. Error Correct

When the program encounters an error during execution, the user can choose to be brought to the Error Correction tab where the Log File is shown, as well as the specific configuration for the failed Task and Step(s). In the example below, the Job 1 Log File is shown above the failed Task 1 and failed StepA1.