Skip to content

Global settings

All global settings except some service specific logging settings are located in the %ProgramData%\Arrigo\Arrigo Local\ folder.

globalsettings.json

Contains settings related to the Arrigo Local API and the Arrigo Scada Function. These settings should not be changed unless you are 100% certain of what you're doing, or if you've been ordered to do so by your support representative.

You probably only have the essentials:

{
  "wamp": {
    "securityKey": "[this is a secret key]"
  },
  "jwt": {
    "securityKey": "[this is a secret key]"
  }
}

but a complete file looks like this:

Warning

Remove all the comments (lines beginning with //) from the text before saving!
Comments are not valid json, and leaving them in file might prevent some components from functioning correctly.

{
  "wamp": {
    // The key used by the API when connecting to the
    // Arrigo Scada Function.
    "securityKey": "[secret key]",

    // The host on which the Arrigo Scada Function
    // is available.
    "host": "127.0.0.1",

    // The TCP port on which the
    // Arrigo Scada Function listens on.
    "port": 26488
  },
  "jwt": {
    // The key used by the API when creating, and verifying,
    // access tokens.
    "securityKey": "[secret key]",

    // The lifetime (in minutes) for access tokens.
    // The value can range from 1-99999 but setting a 
    // higher value than 10 (minutes) makes the system
    // less secure and defeats the purpose of having refresh tokens.
    "accessTokenLifetime": 10
  },
  "ConnectionStrings": {
    // The connection string to the database that contains the access tokens
    // and refresh tokens.
    "DefaultConnection": "Data Source=Proj:\\Arrigo\\BMS\\PersistentStore.db"
  },
  "arrigoapi": {
      // Set this to "true" to if you are experiencing database
      // timeouts in the Alarm Widget. With this setting enabled
      // a less complex query is used when fetching alarms but
      // it comes with a caveat:
      // Alarms will show their last alarm time (just like in EXOscada)
      // instead of the last event time.
      "exoscadastyle": "false",

      // If you are
      //   * Using a certificate directly in the IIS
      //   * Redirecting http to https
      //   * Using Arrigo Local from localhost (http://localhost/arrigo)
      //     from time to time
      // you must specify the DNS name (Common Name from the certificate) here,
      // otherwise the User Admin pages wont work.
      //
      // Enter the "base" url (the same as the CN) with no trailing slash.
      // Example: https://www.my-server.com
      "useradminlegacyurl": ""
  },
  "arrigoapiscadafunction": {
    // The number of transpiler instances to be handled by the
    // Arrigo Scada Function.
    // The value can range between 0-20, but setting it to 0 effectively
    // turns off the transpilation of views making the system unusable.
    // The Scada Function watches this file for changes so no restart
    // is needed when changing the value. But if you add this segment
    // to file for the first time you must restart EXOscada for the
    // file watching to kick in.
    "transpilerInstances": 3
  }
}

Warning

Do not edit globalsettings.json unless you know what you're doing. And always use some sort of json validator to verify that you haven't broken the format (https://jsonlint.com/ is good).

Note

For some changes to take effect you might have to restart EXOScada or the ArrigoAppPool.

versions.json

Contains version information about the components in the Arrigo Local software suite.

{
    "arrigo-services-package-version": "1.0.202",
    "arrigoApiVersion": "1.0.205",
    "arrigoAttachProjectVersion": "1.0.93",
    "arrigoConfigTranspilerVersion": "1.0.157",
    "arrigoFrontendVersion": "1.0.300",
    "arrigoLocalInstallerVersion": "1.1.203",
    "previousArrigoLocalInstaller": "1.1.201",
    "arrigoSfVersion": "1.1.111",
    "exoBuildVersion": "4.230"
}

Arrigo Local Installer (ALI) uses this file to determine which components to update. If you delete this file it will be recreated the next time ALI is run, but since ALI then has no version information it will do a full installation and overwrite all existing components.