Configuration

io.Connect Desktop

To configure io.Connect Desktop to connect to io.Manager, use the "server" top-level key of the system.json system configuration file of io.Connect Desktop, located in the %LocalAppData%/interop.io/io.Connect Desktop/Desktop/config folder. Add the following basic configuration to enable connection to io.Manager:

{
    "server": {
        "enabled": true,
        "url": "http://localhost:4356/api"
    }
}

This will add io.Manager as an additional app store and instruct it to store Layouts and App Preferences in io.Manager. If you want io.Manager to be the only app store, set the "appStores" top-level key in the system.json file to an empty array.

The "server" top-level key has the following properties:

Property Type Description
"clientAuth" "no-auth" | "negotiate" | "kerberos" The client authentication mechanism for the REST service. Defaults to "no-auth".
"enabled" boolean If true, will enable connecting to io.Manager.
"features" object Features to be injected automatically in io.Connect Desktop.
"fetchInterval" number Interval in seconds at which the server will be polled for new data (apps, Layouts, commands). Defaults to 30.
"startRetries" number Number of times io.Connect Desktop will try to reconnect to io.Manager. Defaults to 10.
"startRetryInterval" number Interval in seconds at which io.Connect Desktop will try to connect to io.Manager. Defaults to 10.
"tokenRefreshInterval" number Interval in seconds at which io.Connect Desktop will try to refresh the io.Manager token. Defaults to 3600.
"url" string Required. URL pointing to io.Manager.

The "features" object has the following properties:

Property Type Description
"applicationsStore" boolean If true (default), the io.Manager app store will be automatically injected.
"layoutsStore" boolean If true (default), the io.Manager Layout store will be automatically injected.
"commands" boolean If true (default), the io.Manager commands will be automatically injected.
"preferencesStore" boolean If true (default), the io.Manager app preferences store will be automatically injected.

To send client crashes to the io.Manager Server, edit the "output" property of the "crashReporter" top-level key in the system.json file:

{
    "crashReporter": {
        "output": {
            "type": "server",
            "serverUrl": "http://localhost:4356/api/crashes"
        }
    }
}

If you want to support different environments and regions that connect to different io.Manager instances, see the Getting Started > How to > Rebrand io.Connect Desktop > Functionality > Environments & Regions section of the io.Connect Desktop documentation.

io.Connect Browser

Connecting to io.Manager from an io.Connect Browser project requires modifying the configuration for initializing the @interopio/browser-platform library in the Main app.

To specify settings for the connection to the io.Manager, use the manager property of the optional configuration object when initializing the @interopio/browser-platform library. The following example demonstrates configuring the connection to io.Manager with Basic authentication:

import IOBrowserPlatform from "@interopio/browser-platform";

const config = {
    licenseKey: "my-license-key",
    manager: {
        // URL pointing to io.Manager.
        url: "https://my-io-manager.com:4242/api",
        // Basic authentication.
        auth: {
            basic: {
                username: "username",
                password: "password"
            }
        },
        fetchIntervalMS: 10000,
        tokenRefreshIntervalMS: 15000,
        critical: true
    }
};

const { io } = await IOBrowserPlatform(config);

The manager object has the following properties:

Property Type Description
auth object Required. User authentication configuration.
critical boolean If true, the @interopio/browser-platform library will wait for this module to be fully operational before completing its initialization. Defaults to false.
fetchIntervalMS number Interval in milliseconds at which a new snapshot of app definitions and Layouts will be fetched from the io.Manager. Defaults to 60000.
headers object Object containing key/value pairs of headers to be sent with every request.
tokenRefreshIntervalMS number Interval in milliseconds at which the session token will be refreshed. Defaults to 3600000.
url string Required. URL pointing to io.Manager.

The auth object has the following properties:

Property Type Description
basic object Object with required username and password properties for Basic authentication.
username string Username for authentication.
token object Object with an optional bearer property holding an authentication token used in Auth0 authentication.