Introduction
- JOC Cockpit offers a graphical workflow editor to design 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.
- For job scripts within a workflow a specific editor is provided that allows to work with longer scripts.
Graphical Workflow Editor
The workflow editor is available from the Configuration->Inventory View that offers the following panels:
- Left panel: The tree allows to navigate to folders and objects. Workflows can be available in any folder from the sub-folder Workflows.
- Middle panel: The design view allows to drag & drop JS7 - Workflow Instructions from the tool panel to a workflow.
- Right panel: The property editor allows to manage the properties of instructions such as jobs that are available with a workflow.
Drag and Drop
The middle panel holds a toolbar with icons for the respective JS7 - Workflow Instructions.
From the toolbar the first instruction icon for a Job can be dragged and dropped to the indicated area:
- From the toolbar the icon is used to add a Job.
- The dropping area has to be touched with the cursor, not with the Job icon.
To further add instructions to a workflow, for example a second Job, the Job is dropped to the connector line before or after the existing job.
- The connector line has to be touched with the cursor, not with the Job icon.
Adding Fork/Join Instruction Branches
When a JS7 - Fork / Join Instruction is dragged and dropped then users can add branches for jobs that run in parallel.
- From the toolbar the 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 with the cursor, not with the icon for the Job that should be added.
When the operation to drag and drop a Job directly onto the Fork icon is repeated then each time an additional branch is created like this:
To add jobs to an existing branch users drag and drop the icon onto the connector line before or after an instruction such as a Job in a branch:
Adding If Instruction Branches
Adding a JS7 - If Instruction to a workflow allows to perform conditional execution of jobs and further instructions.
- From the toolbar the icon is used to add an If Instruction.
- In a first step an empty block for If and If-End is created.
- The property editor allows to specify the predicate of the If Instruction, i.e. the condition.
To add a branch to the If Instruction, for example a Job, the icon is dragged and dropped directly onto the If icon
When the operation to drag and drop a Job directly onto the If icon is repeated then a second branch for the If Instruction is created like this:
- The left branch is processed if the condition evaluates to true, the right branch is processed if it evaluates to false.
- The icon has to be touched with the cursor, not with the Job icon.
JSON Object Editor
JS7 stores scheduling objects in JSON format. Users can display and can 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 to 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 offers the Script Editor for modification of job scripts:
- Job scripts can be directly edited from the multiline input field in the lower right corner of the property editor.
- When moving the mouse into the job script input field then the
The Job Script Editor is explained in more detailed with JS7 - Job Script Editor.