- The JS7 inventory holds all scheduling objects for deployment and submission to one or more Controllers.
- The inventory is the single source for management and deployment of objects.
- JOC Cockpit stores scheduling objects in the JS7 - Database.
- JOC Cockpit allows more than one Controller to be connected, e.g. if the same JOC Cockpit instance is used for production and non-production Controller instances or if Controllers are rolled-out for multi-client capability.
Inventory management includes any tasks to create, to update, to deploy and to delete inventory objects. When invoking the Configuration view the inventory is presented like this:
- The Configuration view shows the following panels:
- Left Panel: The tree of folders and objects is used to store scheduling objects in folder hierarchies.
- Middle Panel: This panel shows the inventory items, for example, a workflow or a schedule.
- Right Panel: This panel shows object properties, for example, for a workflow a user can click on the job icon to display job properties.
- The tree allows to select objects and offers an action menu with operations at the respective folder level or object level, for example the action menu of an individual object can be used to apply the Remove operation for this object and it can be used at folder level to remove any objects and sub-folders in the selected folder.
- Additional management operations are available from the buttons
The JS7 inventory offers the following scheduling objects:
|Object Area||Object Type||Versioning||Documentation|
|Workflow||yes||JS7 - Workflows|
|File Order Sources||no||JS7 - File Watching|
|Job Resources||no||JS7 - Job Resources|
|Notice Boards||yes||JS7 - Notice Boards|
|Resource Locks||no||JS7 - Resource Locks|
|Scripts||no||JS7 - Script Includes|
|Schedules||no||JS7 - Schedules|
|Calendars||no||JS7 - Calendars|
- Controller: all objects in this area are deployed to a Controller, see JS7 - Deployment.
- Objects can exist
- as draft objects: objects with this status are edited by the user and can be valid or invalid. Draft objects are intended for later deployment.
- as deployed objects that are active with a Controller.
- For Workflows and Notice Boards versioning applies:
- The Controller holds an active version of the object as long as an Order or Notice ID respectively is assigned.
- Any number of active versions can co-exist. The Controller will drop earlier active versions if they are no longer assigned Orders or Notice IDs.
- Objects can exist
- Automation: objects in this area are not deployed to a Controller, instead they are released within JOC Cockpit. Such objects are used to automate Workflows, for example by scheduling Orders.
- Objects can exist
- as draft objects: objects with this status are edited by the user and can be valid or invalid. Draft objects are intended for later releasing.
- as released objects that are e.g. actively used by the JS7 - Daily Plan to schedule Orders for workflow execution.
- There is no versioning for such objects as they do not represent Controller objects but are used to automate processing of Workflows with a Controller.
- Objects can exist
- Note that Agents are not inventory items but are added when registering Controllers and Agents during JS7 - Initial Operation.
Object Areas and Object Types are represented with the folder hierarchy:
- Users can create individual folders starting from the root folder indicated with the icon available from the topmost tree element.
- Each individual folder is automatically populated with object folders corresponding to the above object types:
- Scheduling objects can be created from the New operation available with the action menu of the respective object folder.
Object Naming Rules
JS7 basically allows Unicode characters to be used for object names such as Workflows, Job Resources etc.
A number of restrictions apply to object names, see JS7 - Object Naming Rules.
Note: Object names in JS7 are unique across folders. This is required to provide consistent object dependencies, see next chapter.
A number of objects include dependencies that are managed by the inventory:
|Area||Object Type||Required Dependencies||Optional Dependencies|
|Workflow||Agents||Job Resources||Resource Locks||Scripts||Workflows|
|File Order Sources||Workflows|
Object dependencies work across folders that hold the objects. Therefore object names are unique in JS7. This allows to relocate objects to different folders without impact on dependencies and without the need to repeatedly deploy objects just because dependent objects are moved to different folders.
Object dependencies require that all dependent objects are available with a Controller, for example, if a Workflow references a Job Resource then the Job Resource has to be available with the Controller at the point in time of deployment of the Workflow:
- Users can deploy a number of objects in a common operation: for example, a Workflow and a Job Resource can be deployed with a single deployment step using the Deploy operation offered from the tree at folder level.
- Users can deploy objects individually, for example, first deploy the Job Resource and later on deploy Workflows using this Job Resource.
Note: For workflow dependencies, e.g. for conditional execution of jobs, see JS7 - Workflow Instructions.
The deployment process includes to digitally sign and to transfer any number of objects to one or more Controllers.
- More than one Controller can be connected to a JOC Cockpit instance, see JS7 - System Architecture.
- Users choose to which Controllers objects are deployed. For a Controller cluster the deployment process includes synchronization of objects with both Controller instances' journals.
- Objects can be deployed to a number of Controllers at the same time. For example, if the same workflow is deployed to more than one Controller, then any Orders scheduled for this workflow will be submitted to all Controllers that hold a copy of the deployed workflow.
- JOC Cockpit keeps track of the history of deployments, see JS7 - Deployment History.
- Users can repeat deployments and can redeploy (recover to a previous state of deployed objects).
- Users can select specific previously deployed versions of objects for (re)deployment.
- For details see JS7 - Deployment
JOC Cockpit allows to store scheduling objects in folder hierarchies:
- Any number of nesting levels for folders is allowed.
- Objects can be relocated to different folders by use of the rename operation that is available from the tree.
JS7 allows any depth of folder hierarchies. Folder operations available from the tree allow
- to create a folder or sub-folder,
- to read and to display any objects from a folder,
- to remove a folder which includes to remove any objects and sub-folders contained in this folder.
Copy / Cut / Paste Operations
Copy / Cut / Paste for Jobs
Note that jobs are not objects but are available within a workflow from the JS7 - Job Instruction.
Jobs can be copied by using the job's action menu like this:
- The job icon offers a context menu for copy / cut operations.
- Having copied a job then the toolbar in the middle panel activates the icon that allows to drag & drop the copied job.
- Drag & drop of jobs can be performed within the same workflow and across workflows.
Copy / Cut / Paste for Objects
Objects can be copied or moved to the same folder or to a different folder.
- Copy / Cut operations are available from the tree's action menu of an object.
- The Paste operation is available from the action menu of the object folder that should include the target object.
When pasting an object then a new object name has to be specified. Object names in JS7 are unique across folders, for details see chapter Object Naming Rules. Pasting an object: invokes the following popup window:
- Pasting an object requires to specify a new object name by one of the options offered:
- Specify Name: the name of the original object is displayed for modification by the user to specify the unique target object name.
- Add Prefix: the target object name is created from the object's original name that will be prefixed by user input.
- Add Suffix: the target object name is created from the object's original name that will be suffixed by user input.
- Default values for prefix and suffix ("copy") can be specified from the JS7 - Settings.
Deep Copy and Shallow Copy of Objects
Consider the wording used with JS7:
- A Deep Copy includes the object and any dependent objects, for example to copy a Workflow and the Resource Locks used by the workflow.
- A Shallow Copy includes the object only, for example to copy a Workflow and to preserve any references to dependent objects such as references to Resource Locks.
The handling of Deep Copy and Shallow Copy is performed like this:
- When copying objects individually by using the object's action menu then a Shallow Copy is created.
- When copying objects by folder then the folder's action menu offers the (Deep) Copy operation and the Shallow Copy operation.
Consider the wording for JS7 inventory operations:
- Remove: move the respective object to the trash. The trash allows to restore removed objects, therefore any remove operations can be undone.
- Delete: permanently erases an object. This operation cannot be undone.
The trash is available from an icon with the topmost level of the inventory tree:
In trash mode the inventory offers to Restore or to permanently Delete objects from the trash.
- Restore operations can be performed for individual objects and for any objects stored within a folder hierarchy.
- Restore operations include to restore an object with its original name or to restore using a prefix/suffix should an object with the same name exist.
JSON based Operations
The JS7 stores scheduling objects in JSON notation.
- The JSON representation of an object is available from the object's action menu:
- Show JSON
- Displays the JSON notation of an object with the option to copy the JSON source code.
- Edit JSON
- Offers to modify the JSON source code. Changes from an updated JSON object notation are applied immediately.
- Upload JSON
- Offers to upload a file that includes the object configuration in JSON notation.
- Download JSON
- Offers to download the JSON source code to a .json file.
- Show JSON
- The JS7 makes use of JSON Schema to specify the structure and grammar of JSON objects.
Object Area Object Type JSON Schema Controller Workflows JSON Workflow Schema File Order Sources JSON File Order Source Schema Job Resources JSON Job Resource Schema Notice Boards JSON Notice Board Schema Resource Locks Job Classes JSON Job Class Schema Jobs JSON Job Schema Automation Scripts Schedules JSON Schedule Schema Calendars JSON Calendar Schema