In XIBLE, nodes provide the functionality you need from a flow. Nodes can be hooked up using connectors to request data from another node or to trigger another node after completion.
Nodes are divided into three types;
object; This type of node references an object (any type of data really) which can be used in other nodes.
action; This type of node takes an action. For instance: modifying the filesystem, logging to console, changing the state of a switch, etc.
event; A node which will be triggered by an event.
By either double- or right-clicking the editor, the node selector comes up. Simply click the node you want with the left mouse button to insert it into the current flow. By holding the mouse down while doing so, you can immedaitely drag the new node into the desired position.
You can use the search bar on top of the node selector to quickly filter the visible nodes in the selector. Multiple keywords can be combined to narrow down your search.
After selecting a single node from the editor,
you can hit the
? button to get more details on the node.
The quality of the data found here is up to the developer of the node(pack).
Install new nodes/nodepacks
By entering your search arguments in the node selector and hitting the 'search online' button, an online search is started. This search is similar to what you can find on the XIBLE site.
From the results, select a node to view the nodepack it is part of. A 'Confirm' button will show up to install the nodepack containing the selected node. After installation you can immediately drag the node from the selector.
You can also install nodepacks from the command line.
This section describes connectors, the lines/wires connecting one nodes' output to another nodes' input.
Making a connection
Hold down the mouse on either an in- or output of a node, and drag it to another out- or input, releasing the mouse. Outputs can only be connected to inputs and vice-versa.
Hold down shift while picking up the connector(s) endpoint, dragging it to another input or output on a node.
This can be useful also when you want to remove a bunch of connectors to the same input or output in one go. Simply hold shift on the endpoint and drag all the connectors away, and let go of the mouse button.
For moving a single connector out of a bunch, see move selected connector.
Globals act as a convenient way to hook up all connectors of a certain type to one single output. Setting an output to global prevents you from having to drag a connector between this output and all the related inputs.
Set output as global
Doubleclick an output, to have it act as a global.
Connect input set to receive global
Whenever a direct connection is made to a global input, that input will no longer be connected to the global. If you want this input to receive from the newly created connector and the global output, you can draw another connector between the global output and this input.
Ignore global on input
If an input is receiving from a global output, you can double click that input to ignore the global.
This section covers creating and manipulating selections within the XIBLE editor.
Making a selection
Click on a node or connector to select it. See below for expanding existing selections.
Alternatively, start dragging anywhere on the canvas (not from a node or connector), to initiate a selection box. Everything within the boundaries of the box will be selected when you let the mouse button go.
Adding to a selection
ctrl while clicking on nodes or connectors that are not yet part of the selection.
Removing from a selection
Clicking on a selected node or connector while holding down
ctrl removes the item from the selection.
The key combination
ctrl+j duplicates the current selection.
If multiple nodes are selected with connectors between them, but those connectors are not selected, they will be duplicated anyway.
Selected connectors that link to an unselected node will be duplicated with their link intact to that untouched node. The example demonstrates this feature.
The key combination
ctrl+c copies the current selection.
The key combination
ctrl+v pastes the current selection.
The same rules apply as described in duplicate selection.
You can paste from one flow onto another. Note that in this case selected connectors with an unselected node as endpoint will be ignored. Connectors cannot cross flows.
Move selected connector
Select the desired connector(s) by clicking on them. Hold down shift while picking up the connector(s) endpoint, dragging it to another input or output on a node.
Running in direct mode can have undesired side-effects. Take special note of the caution section.
Direct mode allows you to run a select part of the flow immediately. It only works on "action" nodes, although all required "object" nodes are involved automatically.
While in direct mode, any value (textboxes, dropdowns, etc) of the involved nodes can be changed to take immediate effect.
Start direct mode
Double click the name of an "action" node within a flow to start it in direct mode.
- Direct mode must be allowed through the settings of your XIBLE installation.
- Only nodes that are saved can be run or involved in direct mode.
- Changes made while running in direct mode are not saved, untill you click the flows' save button.
- Any change to the involved nodes while running in direct mode immediately triggers the action node with the made changes. Beware of this!
Stop direct mode
Stop the flow by clicking the "stop" button.
Take care while running direct mode. Direct mode is a powerful feature that will allow you to set desired values without moving back and forth between testing & setting. There can be unwanted side effects to this functionality.
Take for example a flow with a "ssh.client.exec" node that contains the command
rm -Rf /tmp/test.
In direct mode, if for instance you would want to change that command to
rm -Rf /home/something and use backspace to get to
rm -Rf / to continue adding from there,
you would (attempt to) remove your root directory and everything in between!
Direct mode simply passes any changes directly to the directed "action" node.