Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Introduction

The JS7 - Inventory knows of objectsobjects include dependencies that are managed by the inventory: offers objects such as JS7 - WorkflowsJS7 - Job ResourcesJS7 - Resource Locks etc. that implement dependencies. For example, a Workflow references a Job Resource and a Resource Lock.

When deploying objects this must happen in a consistent manner:

  • If a Job Resource is not yet deployed but is referenced by a new Workflow then both the Workflow and the Job Resource must be deployed.
  • If the Job Resource referenced by a deployed Workflow should be revoked or removed, then the Workflow must be revoked or removed too.

JS7 inventory operations on objects automatically consider dependencies:

  • When deploying objects which considers consistent deployment of dependent objects.
  • When renaming objects, for example if a Job Resource is renamed which updates the referencing Workflow.
  • When revoking objects, for example when Controller objects such as Workflows are revoked from the Controller but remain with the inventory.
  • When recalling objects, for example when Automation objects such as Schedules are recalled from the Daily Plan but remain with the inventory.
  • When removing objects, for example when a Job Resource is removed which forces to remove or to revoke referencing Workflows.


Display feature availability
StartingFromRelease2.7.2

Anchor
object_dependencies
object_dependencies
Object Dependencies

Objects hold outgoing references to other objects and incoming references from other objects. The matrix looks like this:

AreaObject TypeIncoming ReferencesOutgoing References
Controller









WorkflowWorkflowScheduleWorkflowJob ResourceNotice BoardResource LockJob TemplateScript Include

File Order Source

Workflow





Job ResourceWorkflow







Notice BoardWorkflow







Resource Lock

Workflow






Automation









Schedule

WorkflowCalendar




CalendarSchedule







Job TemplateWorkflow







Script IncludeWorkflow






...

Object dependencies require that all dependent referenced 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.

The recursive nature of dependencies can cause complexity, for example if a Job Resource or Notice Board should be renamed that is used by hundreds of workflows. To this purpose the JS7 offers automated dependency management.

Dependency Management

Updating Dependencies

The JS7 automatically keeps track of object dependencies.

  • Though it is not required, manual invocation is offered from the action menu of the root folder in the Inventory view.
  • Dependency updates are performed in background. For a larger environment with thousands of workflows this can take a few minutes.

Image Added

Showing Dependencies

For any object users can invoke the "Show dependencies" operation from the object's action menu in the navigation panel of the Inventory view.

...

Results will be displayed from a popup window like this:

Image Added


Explanations:

  • Dependencies are displayed for the given workflow.
  • The workflow holds incoming references from Referencing Objects, for example from a Schedule.
  • The workflow holds outgoing references from Referenced Objects, for example to a Job Resource, Notice Board, other Workflow etc.

Example

The example makes use of the object name pdDependencies-01 for all object types that implement dependencies. Accordingly pdDependencies-02 is the common name of a second set of objects.

Object dependencies are implemented like this:

  • The pdDependencies-01 Workflow references the pdDependencies-01 Job Resource and the pdDependencies-01 Resource Lock.
    • The Workflow references the pdDependencies-02 Workflow from a JS7 - AddOrder Instruction.
    • The Workflow references the pdDependencies-02 Notice Board
  • The pdDependencies-02 Workflow references the pdDependencies-02 Notice Board etc.

Image Added

Deploying Objects

When all objects are in draft status and the deploy operation is performed for the pdDependencies-01 Workflow, then this triggers cascading objects being added to the deployment:

  • Cascading objects are preselected for deployment.
  • Users can unselect objects if they are not required for consistent deployment.

Image Added

Renaming Objects

If objects are renamed then references are updated in referencing objects:

  • If a Job Resource is renamed then the referencing Workflow is updated to hold the correct reference.
  • Both the Job Resource and Workflow are set to draft status.

Image Added


When the Job Resource is deployed then this includes deployment of the Workflow.

  • The referencing workflow is selected and cannot be unselected as both updated objects must make it for a common deployment.
  • Other related objects that are not affected by the Job Resource's new name, remain in the deployed status and are displayed but are not selected.

Image Added

Removing Objects

If objects are removed then referencing objects must be removed too or must be revoked/recalled.

  • If a Job Resource should be removed then the referencing Workflow will similarly be suggested for removal.
  • Users can unselect the Workflow which will revoke the Workflow from the Controller. The Workflow will remain in draft status with the inventory.

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