Page tree
Skip to end of metadata
Go to start of metadata

Introduction

The Path Finder feature in default mode will automatically produce a view displaying all the possible paths or the shortest path (depending on the chosen options) from the selected source object to a given destination object - this includes any paths between the source object's child objects and the target object or its child objects. The feature is available at Object level in all scopes.

In addition, it is also possible to display a Call Graph from the selected source object by choosing not to select a target object (via the I don't want to select any targeted object option).

The Path Finder feature is currently in beta mode and is disabled by default. To enable it, see below.

A similar feature called Show Paths is also available - see User Guide - GUI - Menus and Icons.

Enabling/disabling the feature

Out of the box, the Path Finder feature is currently disabled. To enable it, click the Path Finder slider in the display preferences:

Note that in CAST Imaging 2.9.0 only, it is necessary to modify a properties file to enable the feature. To do so, locate the following file:

Microsoft Windows
%PROGRAMFILES%\CAST\ImagingSystem\nginx\html\app-config.js

Docker
/opt/imaging/web/dist/app-config.js
This file is located in a running container. To enter the container, run the following command "docker exec -it server bin/sh" and then locate and edit the required file.

Find the following line in the file:

,pathFinder:!1};

Change the 1 to a 0 to enable the feature:

,pathFinder:!0};

Save the file and then restart the following service/container to ensure the change is taken into account:

Microsoft WindowsCAST Imaging - imaging-service
Dockerserver

Accessing the feature

To access the Path Finder feature, you must be working at Object level in any scope:

Right click an object in the view and select Path Finder from the contextual menu - this object will then be designated the Source object:

Using the feature

When the Path Finder option is clicked, the following dialog box is displayed enabling you to configure how the Path Finder feature will function:

Click to enlarge

Left hand panel

The left hand panel displays the feature configuration options:

I don't want to select any targeted object
Available in ≥ 2.10.0.

This option changes the behaviour of the Path Finder feature:

Not enabled (default)Paths are shown between two objects (source and target).
EnabledNo target object is defined and instead, a call graph is displayed from the chosen source object. All callees of the selected object will be displayed in the view.

Path type

Depending on the selected option:

I don't want to select any targeted object DISABLED
  • Shortest - discover and display the shortest path between the Source and Target objects
  • All - discover and display all possible paths between the Source and Target objects
I don't want to select any targeted object ENABLED
  • Spanning Tree 
  • Expand Config

Two different types of Call Graph display algorithm: these are defined by Neo4j (the third party tool and are explained in more detail in https://neo4j.com/labs/apoc/4.1/graph-querying/path-expander/ (Expand paths with config and Expand a spanning tree).

Number of hops /depths

Depending on the selected option:

I don't want to select any targeted object DISABLED

Number of hops

Defines the maximum number of objects between the Source and Target objects. By default this is set to 4 and can be changed as required. Note that changing to above 10 can impact performance - the higher the number, the more objects need to be discovered, therefore impacting performance.

I don't want to select any targeted object ENABLED

Number of depths

Defines the maximum number of levels in the call graph.  By default this is set to 4 and can be changed as required. Note that changing to above 10 can impact performance - the higher the number, the more objects need to be discovered, therefore impacting performance.

Number of paths

This option is only available when:

  • I don't want to select any targeted object is DISABLED
  • AND the All option has been selected.

It enables you to define the maximum number of paths between the Source and Target objects. By default this is set to 5 and can be changed as required. Note that changing to above 5 can impact performance - the higher the number, the more paths need to be discovered, therefore impacting performance.

Select object types

This option is only available when I don't want to select any targeted object is DISABLED.

It allows you to filter on specific objects and is mandatory - i.e. no potential source objects will be displayed unless you specify at least one object type in this field. You can combine multiple object types if required. Click in the field to select an object type from the drop down list: only those object types available in the current application will be listed.

Right hand panel

This panel displays the list of potential target objects for the Path Finder operation and. Objects will only be listed here when:

  • I don't want to select any targeted object is DISABLED and 
  • AND at least one object type is selected in the left hand panel:

Click to enlarge

If a large number of objects are listed and you know which specific object you want to select as the Target, you can use the search box in the upper right corner - this functions on the object's name and is case sensitive:

When you have located the object you want to set as the Target, tick it and then click Find Path:

Results

When Find Path is clicked the view is updated

Standard Path Finder feature when "I don't want to select any targeted object" is DISABLED

Shows the Source and Target objects and the paths between them (respecting the options that have been configured). In the example below, the "All" option was selected, showing all possible paths between the Source and Target objects:

Call Graph feature feature when "I don't want to select any targeted object" is ENABLED

Shows the Call Graph from the selected source object - all callees from the selected object are displayed:

  • No labels