How to...
Install
Go to the official interop.io site.
Enter the required details and submit the form. You will receive an email containing a link for accessing the io.Connect Browser free trial page.
Click the link for accessing the free trial page, log in by entering your email address and a password, and complete the browser setup steps.
To download the io.Connect Desktop installer, scroll down the page and click the "Get io.Connect Desktop" button.
Run the installer and choose to install a trial version. Enter the same credentials you used to register for the free trial and log in.
You can install io.Connect Desktop with the default installation options by clicking on the "Install" button, or select custom options by clicking on the "Custom Install" button.
Finish the installation and start io.Connect Desktop from the added desktop shortcut or by running the
io-connect-desktop.exe
file located in the<installation_location>/interop.io/io.Connect Desktop/Desktop
folder.
⚠️ Note that by default, io.Connect Desktop will be installed in the
%LocalAppData%/interop.io/io.Connect Desktop
folder. After installation, you can take the io.Connect Desktop installation folder and move it wherever you like. The io.Connect platform runs independently of its location in the file system.
The io.Connect Desktop installer can be customized with extensibility options. For more details, see the How to... > Rebrand io.Connect Desktop > Installer section.
Deploy
io.Connect Desktop can be delivered to you as an installer app, or as a bundle. The bundle is delivered via a repository or an archive file (ZIP).
Online & Offline Installers
Deployment via an installer app is the usual way of delivering io.Connect Desktop. Two types of installers are available: online and offline (or "embedded"). They are identical in functionality, but the online installer downloads the necessary io.Connect Artifacts from the io.Connect CDN, while the embedded installer contains them all as resources. The advantage of this is that the online installer is much smaller, but requires a connection to the Internet and permission to download files. If you encounter networking or permission issues, try the offline installer.
Both types of installer can be used interchangeably to create online and offline repackaged installers respectively. In fact, you could repackage both and let your deployment team or users decide which one to use.
The io.Connect installers can be customized with extensibility options. This enables you to completely modify and control the installation process to suit your specific needs and requirements. For more details on customizing an installer deployment, see the How to... > Rebrand io.Connect > Installer section.
Bundles
Using a bundle may be the preferred option for you depending on your deployment infrastructure and strategy. Sometimes installers may raise security issues within your enterprise systems which will require additional time and effort for reconfiguring your security procedures to allow pushing the installer to your users. To a large extent this can be avoided by using the bundle option, as many deployment systems already expect to work with archived (ZIP) files.
Customizing a bundle deployment is possible by directly modifying or replacing the existing io.Connect Desktop assets and configuration files. For more details on customizing a bundle deployment, see the How to... > Rebrand io.Connect > Functionality and How to... > Rebrand io.Connect > User Interface sections.
⚠️ Note that using a bundle as a deployment option is recommended only if your internal deployment infrastructure absolutely prevents you from using an installer. Deployment via a bundle may require you to invest additional time and effort for configuring and running post-installation scripts for some of the Application Adapters you may have purchased in order to install them.
Upgrade
Upgrading your io.Connect Desktop project may include all or some of the following processes, depending on your specific platform implementation:
- Upgrading the io.Connect Desktop platform.
- Upgrading any customized io.Connect system apps you may be using, such as a Workspaces App or a Web Group App.
- Upgrading the io.Connect libraries used in your interop-enabled client apps.
- Preserving any user data files or migrating the Electron cache.
ℹ️ For details on upgrading from the legacy Glue42 Enterprise platform to io.Connect Desktop, see the How to... > Migrate to io.Connect Desktop section.
Benefits
Upgrading your io.Connect platform, custom system apps, and interop-enabled client apps is always recommended. The latest versions of the io.Connect platform and the io.Connect libraries offer valuable benefits like new features, improvements, and bug fixes, some of which you may have requested as a client. New releases also provide upgrades of the underlying Electron framework, as well as security improvements due to internal framework upgrades and library dependency audits.
New Features
New features are usually introduced because of client requests, or because of the evolving industry demands and technology advances. All new features are described in detail in the io.Connect changelog. New functionalities in io.Connect Desktop sometimes require implementation in the platform itself, as well as in the respective io.Connect library. For instance, a new io.Connect API method may not work unless the respective feature is explicitly enabled in the system configuration or in the app definition; or a new io.Connect API method may be based on new functionality introduced in the underlying Electron framework. This means that in order to be able to use that new feature, you have to upgrade both the platform and the respective io.Connect library.
Improvements & Bug Fixes
Each platform and library release brings in various internal optimizations and improvements of existing functionalities. The releases also contain important bug fixes found through internal testing or reported by clients.
Electron Upgrades
Almost every platform release comes with an upgraded version of Electron, which comes with upgraded Chromium and Node.js too. These regular updates of the underlying framework ensure that you can benefit from the most recent features and security improvements introduced in Electron, Chromium, and Node.js.
Improved Security
Security vulnerabilities in library dependencies and any potential security issues within the io.Connect framework are addressed for each release. The regular upgrades of the underlying Electron framework ensure that you will receive the latest security improvements and fixes in Electron, Chromium, and Node.js.
General Upgrade Guide
Upgrading can be done by skipping versions. It isn't required to upgrade in steps from version to version. For instance, if your current version is 9.2, you can upgrade directly to 9.5 or later. The same is valid for all io.Connect libraries.
⚠️ Note that, generally, the io.Connect platform and the io.Connect libraries are backwards and forwards compatible with each other. This means that you can use an older platform version with the latest library version and vice versa, unless a breaking change has been explicitly specified in the io.Connect changelog.
Before commencing an upgrade process, read through the io.Connect changelog, starting from your current version to the version to which you want to upgrade. This is highly recommended for several reasons:
- Get acquainted with all new features (new platform configurations, app definition options, APIs, and more) and decide whether you want to use them in your project. Sometimes, to be able to use a new feature, you will have to upgrade both the platform and your client libraries. This is due to the fact that the implementation of that feature may have required changes both in the platform and in the client libraries.
- See if any configuration or API defaults have been changed and whether this will affect your project.
- See if there are any breaking changes in the platform, in the underlying Electron framework, or in any of the libraries you use, and assess their impact on your project.
- See if there are any deprecated features that you need to remove from your project. Unless explicitly stated otherwise, there's usually backwards support for a deprecated feature, but this doesn't guarantee that it won't be completely removed in a future release.
Platform
Depending on your deployment strategy, the new platform release will be delivered to you as an installer app or as a bundle, which you can deploy via your internal mechanisms.
If you are using extensibility configurations for your installer app, you have to re-apply them to the new installer before distributing it. Don't forget to also re-apply the necessary signing procedures. It isn't required to uninstall the platform before installing the new version. If you decide to uninstall first, keep in mind that only an interactive uninstallation process will offer the option for preserving the user data files.
If you are using a bundle and have customized the user interface or the functionality of the platform, you will have to re-apply your customizations by re-running your custom scripts on the new bundle delivery. Don't forget to also re-apply the necessary signing procedures.
Application Adapters
If you have purchased any Application Adapters in addition to the platform, you will receive their updated versions with the installer app, or as additional packages in case you are using a bundle deployment. The Salesforce Adapter is always delivered separately, regardless of whether you are using an installer or a bundle deployment.
The installer app will automatically install the new Application Adapter versions. If you are using a bundle deployment, you will have to run your custom post-installation scripts to upgrade your Application Adapters.
Libraries
The new versions of the io.Connect libraries can be retrieved from:
- The new versions of the io.Connect web libraries are published in NPM under the
@interopio
scope. - The io.Connect .NET libraries are published in NuGet in the interop.io profile.
- The io.Connect Java libraries are published in the Maven Central Repository.
The latest versions of the @interopio/desktop
, the io.Connect .NET, the io.Connect Java, the io.Connect COM, and the @glue42/office
libraries are also available in the platform delivery and are located in the <installation_location>/interop.io/io.Connect Desktop/SDK
directory.
If you are using auto injection, the latest version of the @interopio/desktop
library contained in the platform delivery will be auto injected in your web apps. This means that you will automatically get all new library features when you upgrade your platform. If you aren't using auto injection, you will have to manually update the version of the @interopio/desktop
library in your web apps.
Preserving Files
During upgrade, it's possible to preserve the user data and the Electron cache from your previous platform version. This may help for a better user experience, as all user-specific settings will be preserved.
The user data files by default are located in the <installation_location>/interop.io/io.Connect Desktop/UserData
directory, unless you have specified a custom location in the system configuration. If you are using an installer, the user data files will be automatically preserved during installation. If you decide to uninstall the platform before upgrading, keep in mind that only an interactive uninstallation process will offer the option for preserving the user data files. If using a hidden or unattended uninstallation, both the platform and the associated user data files will be removed. If using a bundle, you will have to consider your specific installation location on the user machine and whether it will affect the user data files.
There are different options available regarding handling the Electron cache from previous versions. You can configure io.Connect Desktop to remove it, preserve it, or copy it to the cache for the upgraded platform version. For more details on the available options, see the Developers > Configuration > System > Folders section.
Version to Version Upgrade
Upgrading can be done by skipping versions. It isn't required to upgrade in steps from version to version. For instance, if your current version is 9.2, you can upgrade directly to 9.5 or later. The same is valid for all io.Connect libraries.
The following sections outline the process of upgrading your platform in steps from version to version. Each section describes any specific actions outside the scope of the general upgrade guide you may need to take due to breaking changes in the platform, in the underlying Electron framework, or in any of the io.Connect libraries. If there are no breaking changes, follow the general upgrade guide.
Upgrading from 9.9.1 to 9.9.2
Follow the general upgrade guide.
Upgrading from 9.9 to 9.9.1
Follow the general upgrade guide.
Upgrading from 9.8.1 to 9.9
Workspaces
The io.Connect Workspaces have been redesigned with the goal of improving the UI and providing smoother user experience, which necessitated introducing breaking changes in the @interopio/workspaces-ui-react
library.
⚠️ Note that the following changes will be breaking for you only if you upgrade to version 4.0 or later of the
@interopio/workspaces-ui-react
library and:
- You have a custom Workspaces App in which you are using any of the affected default components provided by the
@interopio/workspaces-ui-react
library. In this case, your app won't build when you upgrade to the latest version of the library.- You are using the default Workspaces UI app and you have only customized it with CSS. In this case, your styles won't be applied when you upgrade to the latest version of the
@interopio/workspaces-ui-react
library.This is due to the fact that some legacy components have been deprecated, the HTML structure of others has been modified, and a new system with CSS variables has been introduced for styling the Workspaces App. If you have completely customized your Workspaces App (entirely replaced the affected default components with your own custom components), you shouldn't experience any issues when migrating to the latest version of the
@interopio/workspaces-ui-react
library.If you don't upgrade the
@interopio/workspaces-ui-react
library, your Workspaces App will still work in newer versions of io.Connect Desktop.
The following breaking changes have been made to the @interopio/workspaces-ui-react
library:
- The
<WorkspaceTabV2 />
component has been renamed to<WorkspaceTab />
and the legacy<WorkspaceTab />
(version 1) has been removed. - The "Add Apps" button (+ button) in the Workspace window group header has been moved to the left of the header, after the window tabs.
- The legacy Glue42 CSS files have been removed.
- The legacy
<GlueLogo />
component has been removed. - The legacy "Save Workspace" system popup has been removed. "Save Workspace" is now a dialog.
- Changed the CSS classes for the
<Logo />
component, for the background of an empty Workspace, and for the<WorkspaceTab />
component. - Changed the tab sizing strategy.
- Completely restructured the HTML and CSS of the "Add Apps" popup.
- Completely restructured the HTML and CSS of the "Add Workspace" popup.
Deprecated Platform Apps
Launchpad
The legacy Windows style io.Connect launcher known as the io.Connect Launchpad is now deprecated.
⚠️ Note that a new io.Connect launcher which is also called the io.Connect Launchpad is introduced in io.Connect Desktop 9.9. The new Launchpad is a conceptually different app from the legacy Launchpad and isn't meant to be its descendent despite the name coincidence.
Global Search App
The legacy Global Search App is now deprecated.
For all else, follow the general upgrade guide.
Upgrading from 9.8 to 9.8.1
Defining Move Areas for the Workspaces App via CSS
The @interopio/workspaces-ui-react
library now supports using the -webkit-app-region: drag
and -webkit-app-region: no-drag
styles for any elements of your custom Workspaces App in order to define them as custom draggable areas. This enables you to define any area of your custom Workspaces App as a move area.
The following demonstrates how using the -webkit-app-region: drag
style for the Logo element of the Workspaces App transforms the Logo element into a move area:
⚠️ Note that as of io.Connect Desktop 9.8.1 and version 3.5.2 of the
@interopio/workspaces-ui-react
library, the<MoveArea />
component is deprecated. To define move areas in your custom Workspaces App, you must now use the-webkit-app-region: drag
and-webkit-app-region: no-drag
styles. The<MoveArea />
component is still available for the older versions of io.Connect Desktop and the@interopio/workspaces-ui-react
library.
For all else, follow the general upgrade guide.
Upgrading from 9.7.1 to 9.8
- Added support for directional Channels in multi Channel mode.
⚠️ Note that all other considerations for working with multiple Channels remain the same.
For all else, follow the general upgrade guide.
Upgrading from 9.7 to 9.7.1
Follow the general upgrade guide.
Upgrading from 9.6 to 9.7
- Added experimental support for working with multiple Channels simultaneously. If you decide to use the Channels API in multi Channel mode, you should consider the following:
⚠️ Note that this functionality is still experimental and you should take into consideration the following:
- There may be hidden bugs.
- Currently, there is only a JavaScript API for working with multiple Channels.
- Using multiple Channels is available only for web groups.
- There isn't backwards compatibility between the versions of the
@interopio/desktop
library that support only single Channels and the ones that support both single and multiple Channels. If you want to use multiple Channels, all apps using Channels must be upgraded to the latest version of the@interopio/desktop
library.- Currently, directional Channels aren't supported in multi Channel mode.
- Supplementary methods for working with multiple Channels have been added to the io.Connect JavaScript FDC3 implementation. These methods are specific io.Connect implementations and are outside the scope of the FDC3 standard. Their purpose is to enable working with multiple Channels in FDC3 apps.
For all else, follow the general upgrade guide.
Upgrading from 9.5 to 9.6
- The
"preventModifyingRestrictionsFor"
property of the"channelSelector"
object under the"details"
top-level key in the app definition now accepts an array of objects instead of an array of strings as a value. Each object in the array now allows you to specify the name of the Channel whose restrictions the user or the app won't be able to modify, as well as the type of the restriction - read or write.
The following example demonstrates how to prevent the user and the app from modifying the read and write restrictions for the specified Channel:
{
"details": {
"channelSelector": {
"preventModifyingRestrictionsFor": [
{
"name": "Red",
"read": false,
"write": false
}
]
}
}
}
For all else, follow the general upgrade guide.
Upgrading from 9.4 to 9.5
Follow the general upgrade guide.
Upgrading from 9.3 to 9.4
- io.Connect Desktop has been upgraded with Node.js v20.15.0 and you should consider the following:
⚠️ Note that spawning BAT and CMD files on Windows has been disabled since Node.js v20 due to security concerns related to argument parsing. To avoid this issue, set the
"useShellExecute"
property totrue
under the"details"
top-level key in the app definitions for your BAT and CMD files.
- The
"contextMenuEnabled"
and"contextMenuMode"
properties found under the"details"
top-level key in the app definition have been deprecated. To provide settings for the context menu, use the"contextMenu"
object instead:
{
"name": "web-group-app",
"type": "webGroup",
"hidden": true,
"details": {
"url": "http://localhost:3000/",
"contextMenu": {
"enabled": false
}
}
}
For all else, follow the general upgrade guide.
Upgrading from 9.2 to 9.3
- The
"allowChannels"
,"channelId"
and"readOnlyChannelSelector"
properties found under the"details"
top-level key in the app definition have been deprecated. To provide settings for the Channel Selector in your apps, use the"channelSelector"
object instead:
{
"details": {
"channelSelector": {
"enabled": true,
"type": "single",
"channelId": "Black"
}
}
}
For all else, follow the general upgrade guide.
Upgrading from 9.1 to 9.2
Follow the general upgrade guide.
Upgrading from 9.0 to 9.1
Follow the general upgrade guide.
Upgrading from Glue42 Desktop to io.Connect Enterprise
See the How to... > Migrate to io.Connect Desktop section.