Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The config file itself consists of two sections: ConnectionConfig and TrebuchetApps, which are the Connection Details and the App Configuration respectively.

Example appConfiguration.json file:

Code Block
{
  "ConnectionConfig": {
    "DiscoveryIPAddress": "239.69.69.69",
    "DiscoveryInterface": "192.168.0.250",
    "DiscoveryPublishPeriod": 5000,
    "Port": 6317
  },
  "TrebuchetApps": [
    {
      "Name": "change this to name you like",
      "Description": "A description of Trebuchet App",
      "LaunchCommand": "example.exe",
      "ExePath": "C:\\Apps\\example.exe",
      "MutualExclusiveGroups": [],
      "ParameterGroups": [],
      "ExecutionEnv": ""
    }
  ]
}

Connection Details - ConnectionConfig

...

The second section of an appConfiguration.json file - TrebuchetApps, consists primarily of providing a name, description, app location, and parameters for the given app. At the top level, an app entry consists of the following fields:

...

An individual parameter consists of short and long names, whether or not they are required by the app, a default argument, and whether or not they have arguments. For example:

Code Block
{
  "ShortForm": "i",
  "LongForm": "ipaddress",
  "Required": falsetrue,
  "HasArguments": true,
  "DefaultValue": "127192.0168.0.1180",
"HasArguments": true
}

Parameter groups consist of a name (which may be blank i.e. for global options) and any number of parameters. They are designed to represent named groups of arguments that may be passed to the app.

...

Code Block
{
"GroupName": "server",
     "Parameters": [
      {
             "ShortForm": "i",
    "LongForm": "ipaddress",
             "Required": false,
    "HasArguments": true,
              "DefaultValue": "127.0.0.1"
},
          
"HasArguments": true },{
    {            "ShortForm": "p",
              "LongForm": "port",
              "Required": false,
    "HasArguments": true,
              "DefaultValue": "6317",             "HasArguments": true
}
       ]
}

...

When displayed in the launcher, parameters are separated by their group name. Only the long form of the parameter name is given, and the DefaultValue field sets the value of the entry on start up. If the value of Required is set to true, then the launch button is disabled until that parameter is given a value.

...

This does not mean that all apps that connect to the radar may make use of this feature. For example, the Colossus Record and Playback tool only connects to the radar if it is taking a recording, so the ipaddress option is only available within the group Playback. Trebuchet will not recognise this as an app that can connect to the radar.

Example appConfiguration.json file:

Code Block
{
    "ConnectionConfig": {
      "DiscoveryIPAddress": "239.69.69.69",
      "DiscoveryInterface": "0.0.0.0",
      "DiscoveryPublishPeriod": 5000,
      "Port": 6317
    },
    "TrebuchetApps": [
      {
        "Name": "Radar Utilities",
        "Description": "CLI to manage radars and onboard trackers",
        "LaunchCommand": "",
        "ExePath": "C:\\Local\\Tools\\RadarUtilities-1.2.0.88\\RadarUtilities.exe",
        "ParameterGroups": [
          {
            "GroupName": "radar",
            "Parameters": [
              {
                "ShortForm": "i",
                "LongForm": "ipaddress",
                "Required": true,
                "HasArguments": true,
                "DefaultValue": "192.168.0.180"
              }
            ]
          }
        ],
        "MutualExclusiveGroups": [
          {
            "GroupName": "versioninfo",
            "Parameters": [
              {
                "ShortForm": null,
                "LongForm": "versioninfo",
                "Required": true,
                "HasArguments": false,
                "DefaultValue": ""
              }
            ]
          },
          {
            "GroupName": "reboot",
            "Parameters": [
              {
                "ShortForm": null,
                "LongForm": "reboot",
                "Required": true,
                "HasArguments": false,
                "DefaultValue": ""
              }
            ]
          }
        ],
        "ExecutionEnv": null
      },
      {
        "Name": "Radar Utilities 2",
        "Description": "CLI to manage radars and onboard trackers",
        "LaunchCommand": "",
        "ExePath": "C:\\Local\\Tools\\RadarUtilities-1.2.0.88\\RadarUtilities.exe",
        "ParameterGroups": [
          {
            "GroupName": "radar",
            "Parameters": [
              {
                "ShortForm": "i",
                "LongForm": "ipaddress",
                "Required": true,
                "HasArguments": true,
                "DefaultValue": "10.77.5.233"
              }
            ]
          }
        ],
        "MutualExclusiveGroups": [
          {
            "GroupName": "versioninfo",
            "Parameters": [
              {
                "ShortForm": null,
                "LongForm": "versioninfo",
                "Required": true,
                "HasArguments": false,
                "DefaultValue": ""
              }
            ]
          },
          {
            "GroupName": "reboot",
            "Parameters": [
              {
                "ShortForm": null,
                "LongForm": "reboot",
                "Required": true,
                "HasArguments": false,
                "DefaultValue": ""
              }
            ]
          }
        ],
        "ExecutionEnv": null
      }
    ]
  }

...

Related Information

Filter by label (Content by label)
showLabelsfalse
max10
maxCheckboxfalse
reversefalse
cqllabel in ( "tool" , "trebuchet" )