The graph is the basic building block for customer journey execution within Xponent Journey Hub.
Each graph represents a series of logical steps that are executed from the Start Node to an end node. A node is either a piece of business logic or an adaptor - the graph executes and each node updates schema and public variable locations to make decisions and to orchestrate events. The graph proceeds from node to node based on the outcome of the node and the Links available to: Error, Conditional or Goto.
A single graph can be executed many times in parallel by the Xponent Journey Hub Engine. The Xponent Journey Hub Engine will only deploy or visual test graphs that are valid.
A graph is considered valid if it passes all of the following conditions:
A graph can optionally have a Listener or Parameters - it can only have one of these things. The options to add a Listener or Parameters to a graph are shown in the top right hand corner of the window.
A Listener is a special type of graph that receives input from an external source and places it into the schema for processing by the graph. The graph will be executed separately for each listener event. A listener graph is the only type of graph that can be deployed. The supported Listener types are currently:
A Listener Graph can not be used as a sub-graph.
To add a Listener to a graph click on the Add Listener button and then follow the specific instructions for the desired Listener type. The Listener icon will then be shown in the top left of the graph.
To edit the listener settings either double click on the listener icon in the top left hand corner of the graph or click on the Edit LIstener button at the top right of the graph.
To remove a listener from a graph click on the Remove Listener button at the top right of the graph.
A graph can optionally have parameters. This allows the same piece of busines logic to be re-used with different input values or schema locations as input. Each parameter will be associated with a schema location. When the graph is executed the schema location will be populated with the parameters that have been chosen in the calling graph. The schema locations are passed by value so any modifications made to the schema values will not be changed in the calling graph.
To add parameters to a graph click on the Add Parameters button in the top right hand corner of the graph window.
This button will bring up the Parameter editing window that allows parameters to be added and removed. When adding a new parameter it is necessary to specify the schema location for the parameter when it is passed to the sub graph.
In the window above two parameters: paramA and paramB have been defined for this graph and the schema locations have been defined as request/input1 and request/input2 respectively.
It is recommended that if you need more than 5-9 parameters, you should instead create 1 parameter and pass in the values as objects. This should then set the values in the schema appropriately.
If a graph has parameters then the Edit Parameters icon will appear in the top left of the graph window. Clicking on this icon will bring up the Parameters window where parameter schema locations can be edited. The window is closed by the 'Close' button at the bottom of the Parameters editor pop-up
Parameters are removed from a graph by clicking on the trash can icon next to the parameter name in the Parameters window.