Introduction

CAST Extend local server includes a text based configuration file that can be used to change some advanced configuration settings that are not exposed in the Administration Center (see Manage CAST Extend local server via Administration Center). This text file is located in the following folder and should exist after starting up the server:

%PROGRAMDATA%\CAST\Extend\config.proxy.json
  • An identically named file is located in %PROGRAMFILES%\CAST\Extend - this file should only be used in ≤ 1.3.0-funcrel. If you are using ≥ 2.0.0-funcrel and you make changes to the file in %PROGRAMFILES%\CAST\Extend, those changes will be ignored.
  • When you have made your changes in this file, save the file and then restart CAST Extend local server to ensure the changes are taken into account.

Synchronization interval

The synchronize action is performed automatically every two hours, Monday to Friday. If you would like to change this schedule (for example to include weekends or to reduce the frequency),to do so, locate the "SYNC_INTERVAL" entry in the config.proxy.json file. This governs this automatic schedule - NULL is the default schedule, equal to a synchronization every two hours, Monday - Friday:iI

{
  "PORT": 8085,
  "STORAGE_DIR": "c:/ProgramData/CAST/Extend",
  "PACKAGE_DIR": null,
  "LOG_DIR": "C:/Program Files/CAST/Extend/logs",
  "PUBLIC_URL": "http://WIN10TEST:8085/",
  "EXTEND_URL": "https://extend.castsoftware.com",
  "LOG_MESSAGE_API": "{EXTEND_URL}/api/delta",
  "PREDICTION_API": "{EXTEND_URL}/api/predict",
  "APIKEY": "<api_key>",
  "ADMI": "admi1a07d05811ff638918fd1ec7f9f363bfb1fba588aa3adf9e602465715844b08891049c42029fceb501a6f2ae91ad1b690bc4eefdcebf9565705cf6bd348e8bf6b",
  "SYNC_TYPE": "auto",
  "SYNC_INTERVAL": null,

This option will accept cron tab syntax within quote marks, for example:

Once per day at 0500 (5am), Monday - Friday:
{
  "PORT": 8085,
  "STORAGE_DIR": "c:/ProgramData/CAST/Extend",
  "PACKAGE_DIR": null,
  "LOG_DIR": "C:/Program Files/CAST/Extend/logs",
  "PUBLIC_URL": "http://WIN10TEST:8085/",
  "EXTEND_URL": "https://extend.castsoftware.com",
  "APIKEY": "<api_key>",
  "ADMI": "admi1b878be2b185ff2ceada943c07b066c3bbfd9f9f5c5d931fe57da43e7b98dd4cad77ad4aacd95141ebb8b27d2edd666b5ab91f76cc95ae4b2e9c7c95121eb5322",
  "SYNC_TYPE": "auto"
  "SYNC_INTERVAL": "0 05 * * 1-5"
}
Every 6 hours, on the hour, Monday - Friday:
{
  "PORT": 8085,
  "STORAGE_DIR": "c:/ProgramData/CAST/Extend",
  "PACKAGE_DIR": null,
  "LOG_DIR": "C:/Program Files/CAST/Extend/logs",
  "PUBLIC_URL": "http://WIN10TEST:8085/",
  "EXTEND_URL": "https://extend.castsoftware.com",
  "APIKEY": "<api_key>",
  "ADMI": "admi1b878be2b185ff2ceada943c07b066c3bbfd9f9f5c5d931fe57da43e7b98dd4cad77ad4aacd95141ebb8b27d2edd666b5ab91f76cc95ae4b2e9c7c95121eb5322",
  "SYNC_TYPE": "auto"
  "SYNC_INTERVAL": 0 0-23/6 * * 1-5"
}
  • CAST does not recommend scheduling a synchronization at a more regular frequency than every two hours.
  • CAST does not usually perform manifest changes at weekends therefore there is no need to schedule synchronization on Saturdays and Sundays.
  • If an extension release is required immediately, please use the manual Synchronization button in the Administration Center.

Telemetry

When using CAST Extend local server and CAST Console, some information is sent to CAST (typically anonymous statistical data - see Administration Center - Settings - Allow CAST to collect anonymous statistical data automatically). If you want to block this data at CAST Extend local server level you can do so by using the following section:

  "TELEMETRY": {
    "AIPC": {
      "ANALYSIS_REPORT": true
    },
    "EXTEND": {
      "DETERMINATOR": true
    }
  },
ANALYSIS_REPORTSet this option to false to block anonymous statistical data being to CAST via CAST Extend local server. This option overrides the Allow CAST to collect anonymous statistical data automatically option in CAST Console (see Administration Center - Settings - Allow CAST to collect anonymous statistical data automatically).
DETERMINATOR

You should leave the setting DETERMINATOR as true unless you are instructed to change this by CAST Support.

Extension icon synchronization

When extensions are displayed in the CAST Console interface, ordinarily an icon will be used to distinguish the extension:

These icons are stored in:

  • GitHub for Product extensions
  • other third-party systems for User Community/Lab extensions

If your environment is heavily firewalled and you do not want to allow CAST Extend local server to fetch these icons from these third party locations, you can configure CAST Extend local server to not download them at all. Use the following section:

  "SYNCHRONIZATION": {
    "ICONS": {
      "SKIP_DOWNLOAD": false,
      "EXTENSIONS": {}
    },
ICONS: SKIP_DOWNLOADSet this option to true to prevent all icons for all releases of all extensions from being downloaded.
ICONS: EXTENSIONS

This option allows you to prevent the download of an icon for a specific extension ID. It should be used only when skip_download is set to false. It can be used as follows:

  "SYNCHRONIZATION": {
    "ICONS": {
      "SKIP_DOWNLOAD": false,
      "EXTENSIONS": {
			"extension.id": true,
			"extension.id": true,
			"extension.id": true
			...
		}
    },

Where:

  • extension.id is the ID of the extension, for example, com.castsoftware.html5, or com.castsoftware.sql
  • true specifies that the icon should not be downloaded for all releases of the specific extension

For example:

  "SYNCHRONIZATION": {
    "ICONS": {
      "SKIP_DOWNLOAD": false,
      "EXTENSIONS": {
			"com.castsoftware.html5": true,
			"com.castsoftware.sql": true,
			"com.castsoftware.jee": true
	  }
    },

Extension synchronization blacklisting

If you want to blacklist the synchronization of a specific extension entirely (i.e. so it is never downloaded), you can do so using the SYNCHRONIZATION: EXTENSIONS section at the bottom of the example below:

  "SYNCHRONIZATION": {
    "ICONS": {
      "SKIP_DOWNLOAD": false,
      "EXTENSIONS": {}
    },
    "EXTENSIONS": {}
  },

It can be used as follows:

  "SYNCHRONIZATION": {
    "ICONS": {
      "SKIP_DOWNLOAD": false,
      "EXTENSIONS": {}
    },
    "EXTENSIONS": {
		"extension.id": true,
		"extension.id": true,
		"extension.id": true
		...
    }
  },

For example:

  "SYNCHRONIZATION": {
    "ICONS": {
      "SKIP_DOWNLOAD": false,
      "EXTENSIONS": {}
    },
    "EXTENSIONS": {
		"com.castsoftware.html5": true,
		"com.castsoftware.sql": true,
		"com.castsoftware.jee": true
    }
  },

Synchronization failure retry

In case of a failure during the synchronization process, the following section configures the retry period:

  "RETRY_POLICY": {
    "COUNT": 3,
    "INTERVAL": [
      3,
      5,
      10
    ]
  }
COUNTThe number of times the synchronization will be attempted after an initial failure.
INTERVALThe time delay (in seconds) between each retry.

Host name update

If the hostname of the server hosting the CAST Extend Local Service is changed, then you should update the "PUBLIC_URL" entry to match the new hostname of the server hosting the service:

{
  ...
  "PUBLIC_URL": "http://WIN10TEST:8085/",
  ...

In addition, you will need to update the CAST Extend URL option with the new hostname, as configured in CAST Console, see Administration Center - Settings - CAST Extend: