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. 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 |
---|---|---|
"cache" |
object |
Settings for persisting data received from io.Manager. Defaults to {} . Available since io.Connect Desktop 9.4. |
"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 . |
"requests" |
object |
Settings for the requests sent to io.Manager. Defaults to {} . Available since io.Connect Desktop 9.4. |
"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.
Available since io.Connect Desktop 9.4
The "cache"
object has the following properties:
Property | Type | Description |
---|---|---|
"clearOld" |
boolean |
If true , on opening a new session to io.Manager, all cache files from previous sessions will be deleted. Defaults to false . |
"enabled" |
boolean |
If true , will enable caching and persisting data from io.Manager locally (e.g., in case of connection interruptions). Defaults to false . |
"location" |
string |
Location for the persisted cache files. Defaults to "%LocalAppData%/interop.io/io.Connect Desktop/UserData/%GLUE-ENV%-%GLUE-REGION%/ioManagerCache" . |
The "requests"
object has the following properties:
Property | Type | Description |
---|---|---|
"closeSessionTimeout" |
number |
Interval in milliseconds to wait for a response to the closeSession request to io.Manager. Defaults to 10000 . |
"openSessionTimeout" |
number |
Interval in milliseconds to wait for a response to the openSession request to io.Manager before proceeding from cache. Defaults to 60000 . |
"timeout" |
number |
Interval in milliseconds to wait for a response from io.Manager. Defaults to 60000 . |
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. |