Overview

Overview

io.Manager is a server-side app that provides data to io.Connect (apps, Layouts, preferences) and allows monitoring and interacting with users running io.Connect.

It also includes an Admin UI that facilitates managing the data stored in io.Manager.

Architecture

io.Manager consists of three components:

  • The actual server - a Node.js app;
  • Admin UI - a React app;
  • Preferred database (MongoDB by default);

io.Manager supports various authentication mechanisms (None, Basic, Auth0, custom authentication) and databases (MongoDB, PostgreSQL, Microsoft SQL Server). For more details, see the Authentication and Databases sections.

Features

App Store

io.Manager provides an app definition store that can be used by io.Connect Desktop and io.Connect Browser projects to retrieve the list of apps for the current user.

Layout Store

io.Manager provides a Layout store from where common or private user Layouts can be fetched for io.Connect Desktop and io.Connect Browser projects.

App Preferences Store

io.Manager provides an app preferences store where any app running in io.Connect Desktop or io.Connect Browser can store custom data per user and retrieve it later.

Configurations Store

io.Manager can host and supply all configuration files for io.Connect Desktop. Different versions of the configuration files can be provided for different versions of io.Connect Desktop.

Diagnostics

io.Manager comes with an Admin UI which offers the following functionalities:

  • Command Center - send commands to specific user sessions for getting logs, triggering page refresh, restarting the desktop client or even executing custom code;
  • Feedback and Native Crashes - monitor, review and comment user Feedback and Native Crashes reports;
  • User Monitoring - monitor users and their sessions (current and closed), inspect their hardware setup;

Admin UI

The Admin UI enables you to manage the data stored in io.Manager more easily.

Dashboard

The "Dashboard" is the entry page that allows quick access to other pages.

Dashboard

Applications

The "Applications" section allows you to:

  • see a list of all apps:

All Apps

  • see apps that are available to a specific user group:

Apps by Group

  • see apps that are available to a specific user:

Apps by User

  • import new apps:

Apps Import

Layouts

The "Layouts" section allows you to:

  • see a list of all Layouts:

Layouts

  • see Layouts that are available to a specific user group:

Layouts by Group

  • import new Layouts:

Layouts Import

Desktop Configs

The "Desktop Configs" section allows you to add, edit and remove different versions of the configuration files for io.Connect Desktop. The remote configurations provided here will be merged with the locally available ones when io.Connect Desktop is initialized.

Desktop Configs

For more details on how to enable io.Connect Desktop to fetch configurations from a remote location, see the How to Rebrand io.Connect Desktop > Functionality > Remote Configurations section.

Use the "Select Version and Config" panel on the left to add different io.Connect Desktop versions. When you add a version, it appears on the list below the "Add new version" input field. When you click on a newly added version, empty templates for all configuration files of io.Connect Desktop will appear automatically. You can also add other files manually by using the "Add new config" input field. Click on a file to edit it. The left editor section shows the currently edited file, while the right editor section shows the final merged version of the file (e.g., the files from a specific version named 3.17 will be merged with the same files from a base version named *). You can use the * symbol in the name of the file either to provide a base version, or to provide a non-specific version like 3.* which will be merged both with a base version named * (if such exists) and also with any specific version - like 3.17. Different specific versions (like 3.17 and 3.22) won't be merged together.

⚠️ Note that merging is available only for top-level file properties. If you provide different values for the same top-level key in different file versions, the value in the most specific version will be taken into account when merging the files.

The following demonstrates creating a specific version of the system.json file which contains a setting for disabling the hotkeys functionality of io.Connect Desktop. This version is automatically merged with the system.json file from an already existing version named *, in which there is a setting for disabling the "Restart" entry in the tray icon menu:

Adding Configs

Users

The "Users" section allows you to see all users that have connected to the server:

Users

Sessions

The "Sessions" section allows you to monitor all user sessions:

Sessions

Commands

The "Commands" section allows you to send commands to a specific user session:

Commands

Feedback

The "Feedback" section allows you to see a list of all feedback items submitted by the users:

Feedback