Introduction
- JOC Cockpit offers a graphical workflow editor for designing workflows, jobs and dependencies.
- Workflows can be designed by drag & drop in a graphical view.
- Workflows can be edited in a JSON source code view.
- Job scripts within a workflow can be edited using a special editor that allows working on longer scripts.
Graphical Workflow Editor
The workflow editor is available from the Configuration->Inventory View. This view has the following panels:
- Left panel: The tree allows navigation to folders and objects. Workflows can be available in any folder from the sub-folder Workflows.
- Middle panel: The design view allows JS7 - Workflow Instructions to be copied from the tool panel to a workflow by drag & drop.
- Right panel: The property editor allows management of instruction properties such as the jobs that are available with a workflow.
Drag and Drop
The middle panel holds a toolbar with icons for the relevant JS7 - Workflow Instructions.
The first instruction icon for a Job can be dragged from the toolbar and dropped in the indicated area:
- The icon is used to add a Job from the toolbar.
- The dropping area has to be touched by the cursor, not by the Job icon.
To add further instructions to a workflow, for example a second Job, the Job is dropped on the connector lines before or after the existing job.
- The connector line has to be touched by the cursor, not by the Job icon.
Adding Fork/Join Instruction Branches
Users can add branches for jobs that run in parallel by dragging and dropping a JS7 - Fork / Join Instruction.
- The toolbar icon is used to add a Fork/Join Instruction.
- In a first step an empty block for Fork and Join is created.
To add a branch to the Fork/Join Instruction, for example a Job, the icon is dragged and dropped directly onto the Fork icon.
- The Fork icon has to be touched by the cursor, not by the icon for the Job that is being added.
When drag and dropping a Job directly onto the Fork icon is repeated, then an additional branch will be created each time as shown below:
Users can add jobs to an existing branch by dragging and dropping the icon onto the connector lines before or after an instruction such as a Job:
Adding If Instruction Branches
Adding a JS7 - If Instruction to a workflow allows conditional execution of jobs and further instructions to be performed.
- The icon is used to add an If Instruction from the toolbar.
- In a first step an empty block for If and If-End is created.
- The property editor is then used to specify the predicate of the If Instruction, i.e. the condition.
To add a branch to an If Instruction for, for example, a Job, the icon is dragged and dropped directly onto the If icon.
If a further Job is dragged and dropped directly onto the If icon, a second branch will be created for the If Instruction as shown in the diagram below.
- The left hand branch will be processed if the condition evaluates to true, the right hand branch will be processed if it evaluates to false.
- The icon has to be touched by the cursor, not by the Job icon.
JSON Object Editor
JS7 stores scheduling objects in JSON format. Users can display and modify the JSON representation of objects such as workflows from the object's action menu:
The action menu items Show JSON and Edit JSON bring forward popup windows to display and modify JSON code respectively.
- The JSON code is created and validated with JSON Schemas that are available per object type, see JS7 - Inventory Storage Format.
- The JSON Editor is explained from JS7 - Inventory Object Editor (JSON)
Job Script Editor
The JOC Cockpit Configuration->Inventory View opens the Script Editor for the modification of job scripts:
- Job scripts can be directly edited from the multi-line input field in the lower right hand corner of the property editor.
- The
The Job Script Editor is explained in more detailed in JS7 - Job Script Editor.