How to...
Install
Download the io.Connect Desktop trial installer from the official interop.io site.
Run the installer file.
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
io-connect-desktop.exe
located in the%LocalAppData%/interop.io/io.Connect Desktop/Desktop
folder.
⚠️ Note that after installation, you can take the io.Connect Desktop installation folder and move it wherever you like. io.Connect Desktop 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, a Web Group App, Notification Apps and more.
- 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.
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.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
- 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.