Introduction

  • 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. For example, if the same JOC Cockpit instance is used for production and for non-production Controller instances, or if a number of Controllers are rolled-out for multi-client capability.

Inventory Objects

Inventory management includes tasks for creating, updating, deploying and deleting inventory objects. When invoking the Configuration view the inventory is presented like this:


Explanation:

  • 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, allowing a user to click on the job icon for a workflow to display job properties.
  • The tree allows objects to be selected and offers an action menu with operations at the relevant folder or object level. This allows, for example, the action menu of an individual object to be used to apply the Remove operation for this object. The tree can also be used at the folder level to remove any objects and sub-folders in a selected folder.
  • Additional management operations are available with the buttons:

Object Types

The JS7 inventory offers the following scheduling object types:

Object AreaObject TypeVersioningDocumentation
Controller



WorkflowyesJS7 - Workflows

File Order SourcesnoJS7 - File Watching

Job ResourcesnoJS7 - Job Resources

Notice BoardsyesJS7 - Notice Boards

Resource LocksnoJS7 - Resource Locks
Automation



Script IncludesnoJS7 - Script Includes

SchedulesnoJS7 - Schedules

CalendarsnoJS7 - Calendars

Job TemplatesnoJS7 - Job Templates

ReportsnoJS7 - Reports


Explanation:

  • Controller: all objects in this area are deployed to a Controller, see JS7 - Deployment of Scheduling Objects.
    • 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 a relevant Order or Notice ID 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.
  • 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.
  • 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, which is indicated by 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 in the action menu of the rerelevant 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 per object type. This is required to ensure consistent object dependencies, as described in the next section. For example, a workflow and a job resource with the same name can co-exist, two workflows with the same name are not allowed.

Object Dependencies

A number of objects include dependencies that are managed by the inventory:

AreaObject TypeRequired DependenciesOptional Dependencies
Controller







WorkflowAgent
Job ResourceResource LockScript IncludeWorkflow

File Order SourceWorkflow





Notice BoardWorkflow




Automation







ScheduleWorkflowCalendar




Object dependencies work across folders that hold the objects. Therefore object names are unique within the scope of an object type in JS7. This allows objects to be relocated to different folders without impact on dependencies and without the need for repeated deployment of objects just because dependent objects have been 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 for 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, which is available in the tree at folder level.
  • Users can deploy objects individually, for example, first deploying the Job Resource and later on deploying Workflows using this Job Resource.

Note: For workflow dependencies, for example for the conditional execution of jobs, see JS7 - Workflow Instructions.

Object Deployment

The deployment process includes digitally signing and transferring 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 the Controllers which objects are deployed to. For a Controller cluster the deployment process includes synchronization of objects with the journals of both Controller instances.
    • 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 of Scheduling Objects

Folder Operations

JOC Cockpit allows scheduling objects to be stored 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:

  • creation of a folder or sub-folder,
  • reading and displaying any objects from a folder,
  • removing a folder which includes removing any objects and sub-folders contained in this folder.

Object Creation

New

The New action menu item allows to add the following new objects:

Clipboard Operations

Copy / Cut / Paste

Folders including any objects can be copied or moved to a different folder.

  • Copy / Cut operations are available from a folder's action menu.
  • The Paste operation is available from the action menu of the target folder that is to receive the source folder including any sub-folders and objects. 

When pasting a folder then prefixes or suffixes for objects must be specified. Object names in JS7 are unique across folders - for details see  Object Naming Rules. Pasting a folder invokes the following popup window:


Explanation:

  • Pasting a folder requires specification of a prefix or suffix using one of the options offered:
    • Add Prefix: target object names will be created from each object's original name that will be prefixed by user input.
    • Add Suffix: target object names will be created from each 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.
  • After pasting a folder it can be renamed using the Rename operation that applies to the folder name and optionally to any included objects.

Deep Copy and Shallow Copy of Objects

Note the wording used with JS7:

  • A Deep Copy includes an object and any dependent objects and allows, for example, a Workflow and the Resource Locks used by the workflow to be copied together.
  • A Shallow Copy only includes an object, and allows, for example, a Workflow to be copied and any references to dependent objects such as references to Resource Locks to be preserved.

The handling of Deep Copy and Shallow Copy is performed like this:

  • When copying objects individually using an 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 and the Shallow Copy operations.

Naming Operations

Rename

A folder can be renamed and included objects can be renamed:

  • Renaming a folder includes to modify the folder's name or to relocate the folder:
    • Renaming: modify a folder's name.
    • Relocation: modify a folder's location in the folder hiearchy.
  • Objects can be renamed
    • by use of a prefix,
    • by use of a suffix.

When invoking the Rename operation for a folder then the following popup window is displayed that gives a choice to rename the folder or the objects included with the folder.

Change Folder Name

The popup window asks for a new name for an existing folder:

  • Object references are consistently maintained.
  • Any objects that hold references to objects in a renamed folder can continue to use such references.

Change Folder Path

The popup window allows the folder's name and path to be changed, i.e. to relocate the folder:

  • Relative paths can be used and absolute paths can be used starting with a slash "/".
  • Should folders in the path not exist then they will be created.

Change Object Names in Folder

The popup window allows the names of objects available with the indicated folder to be changed:

  • A Search and Replace operation is offered that replaces any occurrence of the string searched for in object names.
  • This operation is case-sensitive and acts on any position of the string searched for in object names.

Tag Operations

Manage Tags

Tag operations are offered for JS7 - Tagging - Workflows.

Operations offered include

  • to add tags
  • to expand the list of workflows assigned the given tag use the 
  • to collapse the list of workflows
  • to delete the given tag

Rollout Operations

Such operations are used for JS7 - Rollout of Scheduling Objects across environments.

Export

Export operations include exporting scheduling objects starting from the relevant folder level.

Find details from JS7 - Inventory Export and Import.

Git Repository

Repository operations include storing, updating and deleting scheduling objects from a Git repository.

Find details from JS7 - Inventory Git Integration

Deployment Operations

The operations in this section are related to JS7 - Deployment of Scheduling Objects.

The operations work recursively for all sub-folders.

Deploy

This operation transfers scheduling objects to Controllers and respective Agents.

Revoke

This operation allows the deletion of previously deployed objects from Controllers and respective Agents.

The objects in question are not removed from the inventory.

Redeploy

Any objects that have been previously deployed are deployed once again. This operation is based on the history of previous deployments to a Controller.

This operation can be applied for example after the loss of Controller journals.

Revalidate

In a situation when objects become invalid, for example if Agent references changed, then they can be validated once again.

The operation will update the status of objects being valid or invalid in the JS7 inventory. The operation does not repair invalid objects but brings in sync the objects' validity status. The result of the operation will be displayed like this:

  • The resulting category Validity denied shows inventory objects that previously have been considered valid and now are considered invalid.
  • The resulting category Validity approved shows inventory objects that previously have been considered invalid and now are considered valid.
  • The resulting category Validity not verifiable holds inventory objects that could not be parsed, for example empty draft workflows that hold no objects.


Synchronize

This operation retrieves the deployment status for each object by synchronizing the status in the Controller and the inventory.

Release

This operation is available for Automation objects that are not deployed to Controllers and Agents but which are used by the JOC Cockpit.

For example, if a Schedule is released, then it will be considered by JOC Cockpit when creating the Daily Plan.

  • A Schedule that has never been released will not be considered.
  • A draft is created for a Schedule which has previously been released and which has been changed later on. Such drafts are not used by the Daily Plan unless they have been released. The Daily Plan will use the previously released version of such Schedules for the lifetime of the drafts.

Recall

This operation is available for Automation objects that have previously been released. In fact it is an "undo" operation that reverts the release operation:

  • When an object such as a Schedule is recalled then it is no longer considered by the Daily Plan.
  • There is no versioning in place when recalling objects, instead the object's status is set to draft and the object can be released at a later point in time.

Trash Operations

Remove Draft

Note the wording for JS7 inventory operations:

  • Remove: moves an object to the trash. The trash allows removed objects to be restored and therefore any remove operations can be undone.
  • Restore: makes a removed object available from the trash.
  • 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:


The  icon indicates the trash. When clicking this icon then the tree switches to display objects available with the trash:


In trash mode the inventory allows objects from the trash to be Restored or to permanently Deleted.

  • Restore operations can be performed for individual objects and for any objects stored within a folder hierarchy.
  • Restore operations include restoration of an object with its original name or restoration using a prefix/suffix should an object with the same name exist.

Revert Draft

The operation is applicable to draft objects of workflows, schedules etc. in the given folder hiearchy.

All changes applied to draft objects will be dropped and the drafts will be replaced by the previously deployed or released version of the related object. The operation does not affect deployed/released objects.

Job Template Operations

Update Jobs from Templates

The operation is applied to all workflows and jobs in the current folder and sub-folders recursively. Workflows and jobs will be updated from JS7 - Job Templates independently from the location of related job templates in the folder hierarchy.

Apply Templates to Jobs

The operation is applied starting from all JS7 - Job Templates in the current folder and sub-folders recursively. Workflows and jobs will be updated from job templates independently from their location in the folder hiearchy.

Object Operations

A number of operations are offered that act on individual objects.

Such operations are available from an individual object's action menu like this:

Clipboard Operations

Copy / Cut / Paste

An object can be copied or moved to the same folder or to a different folder.

  • Copy / Cut operations are available from an object's action menu.
  • The Paste operation is available from the action menu of the folder that is to receive the 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:


Explanation:

  • Pasting an object requires specification of a new object name using 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.

Naming Operations

Rename

Objects can be renamed:

  • from the Name input field in the right upper corner of the properties editor in the right panel,
  • from the object action menu in the tree in the left panel.


An object's name and path can be changed when renaming an object from its action menu.

Change Object Name

The popup window asks for the new name for an existing object:

  • Object references are consistently maintained.
  • For example, if a Job is assigned a Job Resource and the name of the Job Resource is changed then references of Jobs to the Job Resource are updated accordingly.

Change Object Path

The popup window allows an object's name and path to be changed:

  • Relative paths can be used and absolute paths can be used starting from a slash "/".
  • Should folders in the path not exist then they will be created.

Tag Operations

Tag operations on individual objects are managed similarly to Tag Operations for Folders.

Deployment Operations

Deployment operations on individual objects are managed similarly to Deployment Operations for Folders.

Trash Operations

Trash operations on individual objects are managed similarly to Trash Operations for Folders.

Object Creation

New Draft

The operation creates a new draft of the object based on a previously deployed/released version of the object.

  • The current draft is replaced by a previous version. Consider that changes added to the current draft will be lost.
  • Users can select the previous version that is used as a baseline for the new draft:

  • If no previously deployed/released version is selected then the most recently deployed/released version is used.
  • Consider that the number of available versions is limited by the JS7 - Cleanup Service.

Job Template Operations

Job Template operations on individual objects are managed similarly to Job Template Operations for Folders.

JSON based Operations

The JS7 stores scheduling objects in JSON notation.

The JS7 makes use of JSON Schema to specify the structure and grammar of JSON objects:


Object AreaObject TypeJSON Schema
Controller


WorkflowJSON Workflow Schema

File Order SourceJSON File Order Source Schema

Job ResourceJSON Job Resource Schema

Notice BoardJSON Notice Board Schema

Resource Lock

JSON Resource Lock Schema


JobJSON Job Schema
Automation


Script IncludeJSON Script Include Schema

ScheduleJSON Schedule Schema

CalendarJSON Calendar Schema


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 of copying the JSON source code.

Edit JSON

Allows the JSON source code to be modified. Changes from an updated JSON object notation are applied immediately.

Upload JSON

Allows a file that includes the object configuration in JSON notation to be uploaded.

For further infromation see JS7 - How to upload .json examples.

Download JSON

Allows the JSON source code to be downloaded to a .json file.

Job Operations

Job operations are available from JS7 - Workflow Editor that offers to design workflows from JS7 - Workflow Instructions.

Clipboard Operations

Copy / Cut / Paste

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:


Explanation:

  • 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 drag & drop for the copied job.
  • Drag & drop of jobs can be performed both within a workflow and across workflows.

Further Resources



  • No labels