Glue42 Enterprise is now io.Connect Desktop! The new documentation site for all interop.io products is located at docs.interop.io.

Configuration

Defining Channels

Channels are based on Shared Contexts - named objects, holding cross-app data in the form of key/value pairs. The Glue42 Channels are defined in a channels.json file located in %LocalAppData%\Tick42\GlueDesktop\config. It contains an array of objects, each one defining a different Channel.

The following example demonstrates a minimal definition of two Channels - red and blue:

[
    {
        "name": "Red",
        "meta": {
            "color": "red"
        }
    },
    {
        "name": "Blue",
        "meta": {
            "color": "#66ABFF"
        }
    }
]

Each Channel object must have the following required properties:

Property Type Description
"name" string Required. Unique ID of the Channel.
"meta" object Required. Meta data about the Channel. The minimum you must specify here is the Channel color. You can also define other meta data which will be visible to all apps using the Channel.

The "meta" object has the following required property:

Property Type Description
"color" string Required. The Channel color, displayed on the Channel Selector UI and on each app using that Channel. Can be either an HTML color name or a hexadecimal color code.

You can define any number of Channels in Glue42 Enterprise for your apps to use.

The following example demonstrates adding a custom black Channel to the already existing list of Channels in Glue42 Enterprise:

{
    "name": "Black",
    "meta": {
        "color": "black"
    }
}

Custom Channel

Channel Selector

To add the Channel Selector to your window, set "allowChannels" to true in your app configuration file under the "details" top-level key:

{
    "title": "Client List 🔗",
    "type": "window",
    "name": "channelsclientlist",
    "icon": "https://dev-enterprise-demos.tick42.com/resources/icons/clients.ico",
    "details": {
        "url": "https://dev-enterprise-demos.tick42.com/client-list-portfolio-contact/#/clientlist",
        "mode": "tab",
        "allowChannels": true
    }
}

In some cases, you may want to show the Channel Selector, but prevent the user from interacting with it. Set the "readOnlyChannelSelector" property to true under the "details" top-level key in your app configuration file to achieve this:

{
    "title": "Client List 🔗",
    "type": "window",
    "name": "channelsclientlist",
    "icon": "https://dev-enterprise-demos.tick42.com/resources/icons/clients.ico",
    "details": {
        "url": "https://dev-enterprise-demos.tick42.com/client-list-portfolio-contact/#/clientlist",
        "mode": "tab",
        "allowChannels": true,
        "readOnlyChannelSelector": true
    }
}

You can also set the Channel Selector as read-only on a global level from the system.json system configuration file of Glue42 Enterprise under the "windows" top-level key:

{
    "windows": {
        "readOnlyChannelSelector": true
    }
}

Note that the settings in your app configuration file will override the global settings in the system.json file.

Channel Mapping

The default Glue42 Channels are mapped to Channels (or other similar implementations) that other third-party apps may use, like the Bloomberg Groups used by the Bloomberg Connector, or the default FDC3 Channels.

The following example demonstrates how a Glue42 Channel is mapped to a Bloomberg Group and to an FDC3 Channel by using the "meta" object in its configuration:

{
    "name": "Red",
    "meta": {
        "color": "red",
        // Mapping to a Bloomberg Group.
        "blpGroup": {
            "name": "Group-G",
            "readDataFieldPath": "data.partyPortfolio.ric",
            "writeDataFieldPath": "data.partyPortfolio.ric",
            "read": "ric",
            "write": "ric"
        },
        // Mapping to an FDC3 Channel.
        "fdc3": {
            "id": "fdc3.channel.1",
            "displayMetadata": {
                "name": "Channel 1",
                "glyph": "1"
            }
        }
    }
}