Originally code named “Batch Runner and Diagnostics for Operating/Networking” (BRANDON),
X2Shell was developed as a toolkit to allow sysops and technicians to develop their own
apps for performing various tasks. X2Shell apps can access SQL databases, make HTTP calls, send emails, and of course, work with files.
To make your own X2Shell application, simply copy X2Shell.exe to MyAppName.exe and make a new config file called MyAppName.xml. Then, edit the config file and start building as shown below.
When you run an X2Shell app, the underlying code creates a memory-only working XML file, called the DataCloud,
initially comprised of data collected from the environment. It then walks through the configuration file provided. Any Data elements are copied into the DataCloud(tests permitting) and any Run elements are further stepped through and their executions are performed. Every execution adds its results to the DataCloud and is also able to leverage from the any prior data or execution, as well as the original snapshot of the environment.
By default, the XML-based configuration file, is the given the same name of the EXE that was provided, and can consist of any valid root node, which then contains one or more <Data> or <Run> elements. Both of those elements
may contain a ‘test’ attribute. The test should be in the style of an XPath, where a node
hit is a pass and a miss is a fail. If no test exists, it is an automatic pass.
Each Data element that passes will be copied as is into the Data Cloud.
Each Run element can contain any combination of the below Execution Types.
NOTE: Unless otherwise configured, the resultant data cloud will have a root
element named “X2Shell”. To change this, include an attribute named
“root-node” with a desired value in the root node of your configuration XML,
or include the attribute “use-root” with either “yes” or “true” to
use the name of your configuration XML root node as the data cloud root name.