Dependencies can be created between nodes by using triggers, limits, date and time attributes.These dependencies can all , and can be shown in the tree and table views as attributes.
A more advanced way to see dependencies is to use the Triggers tab in the Info Panel. This provides a powerful place for viewing all detailed information about the dependencies connected related to the currently-selected node.
The Triggers tab contains two further tabs each showing a different kind of dependencyconsists of five sub-panels. These are as follows:
- At the top the trigger expression of the node (if available) is displayed. It can be hidden/shown with the Expression button.
- Just below this, the currently-selected node is visible.
- The area below the currently-selected node is divided into two lists showing
- the triggers of the selected node (on the left)
- the nodes triggered by the selected node (on the right)
- When we click on an item in either list the details about the dependencies will be displayed in textual format at the bottom of the interface. This part can be shown/hidden with the button in top-right corner of the Triggers tab.
The triggers of and triggered by lists form the core of the Triggers panel so we will explain their usage in detail.
Info | ||
---|---|---|
| ||
The graphical representation of the nodes and attributes appearing in the trigger lists are the same as in the tree view. The states of these items are updated with each server sync and they come with a large set of actions in their context menu. |
Info | |||
---|---|---|---|
| |||
Double click on a node/attribute in the trigger list or run action 'Lookup in tree' from the context menu to broadcast this selection to the other views, e.g. to make it selected in the tree view. The dependency details list contains textual information with The text in the Triggers tab contain hyperlinks: when you click on a node/attribute path the selection will be broadcast to the other views. However, please note that the trigger expression itself (see below) does not contain hyperlinks. |
Triggers of the selected node
The first tab list on the left shows the triggers of the currently-selected node. The top part displays the trigger expression of the node itself (if there is any). Below this block the triggers directly triggering the node are listed. This list is constructed by parsing the trigger expression of the node. The limits holding the node and the date and time attributes of the node are also listed here.
By toggling the Dependencies button the dependencies are scanned both upwards (through the ancestors) and downwards (through the children) in the tree and the list gets extended.
In the extended list the Triggers through parent ... blocks show the nodes/attributes triggering each ancestor.
There are the Triggers through child ... blocks as well. These show only those node/attributes that trigger the child node but lie outside all its ancestors.
A direct trigger can be
- a node or attribute that appears in the selected node's trigger expression
- a limit that the currently-selected node consumes
- a date or time attribute of the currently-selected node
Direct triggers are displayed with a white background. For example, in our snapshot the first four items (the generated variables /eda/main:YMD
and /eda/lag:YMD
, and the nodes an
and fc
) are direct triggers because they all appear in the selected node's trigger expression, which reads as:
Code Block |
---|
(/eda/main:YMD gt /eda/lag:YMD) or (/eda/main:YMD eq /eda/lag:YMD and /eda/main/12/an==complete and /eda/main/12/fc==complete) |
When the dependencies are enabled (using the Dependencies button at the top-right corner of this panel) an additional set of triggers will be shown with a grey background. A node or attribute is regarded as a trigger through dependency when it
- directly triggers a parent of the currently-selected node
- directly triggers a child of the currently-selected node and it is not an ancestor of it
To find out more about a trigger through dependency we can click on it to see its dependency details list. For example if we click on limit /eda/limits:mars
we get these dependency details:
In this example, the first line tells us that /eda/limits:mars
triggers the node /eda/lag/12/archive/ansfc,
which is the child of the currently selected node (/eda/lag/12/archive
).
Nodes triggered by the selected node
The second tab list on the right shows the nodes that are triggered by the currently-selected node. Collecting information for this tab requires scanning the whole tree and can take a longer time (a progress bar indicates how the scan proceeds).
By default the tab contains a block showing the nodes directly triggered by the selected node (i.e. the trigger expressions of these nodes contain the selected node).
By toggling the Dependencies button the dependencies are scanned both upwards (through the ancestors) and downwards (through the children) in the tree and the list gets extended.
In the extended list the Triggered through parent ... blocks show the nodes that are triggered by an ancestor.
There are the Triggered through child ... blocks as well. These show only those node/attributes that are triggered by a child node.
A node is directly triggered when the currently-selected node appears in its trigger expression, and is displayed with a white background. For example, in our snapshot the first item (node /eda/lag/12/clean
) is directly triggered by the currently-selected node (/eda/lag/12/archive
) because the former node's trigger expression reads as:
Code Block |
---|
fb == complete and archive == complete |
When the dependencies are enabled an additional set of triggered nodes will be shown with grey background. A node is regarded as a triggered through dependency when either a parent or a child of the currently-selected node triggers it.
To find out more about a node triggered through dependency, we need to click on it and check its dependency details list. For example, if we click on node /eda/lag/logfiles
these dependency details will be listed:
This tells us that /eda/lag/12
, which is the parent of the currently selected node (/eda/lag/12/archive
), directly triggers /eda/lag/logfiles
. The trigger expression of /eda/lag/logfiles
verifies this fact:
Code Block |
---|
./00 == complete and ./12 == complete and /eda/main:YMD gt /eda/lag:YMD |
...