Skip to main content

Add apps to your smart desktop

Apps are at the heart of your smart desktop, so you need to be able to add one. It doesn’t matter what kind of an app it is, whether web or native. You add apps of all types the same way, by adding a config entry to your appD. The details of course will be different for each.

Finsemble is config driven. This means that you can specify a lot of app properties and behaviors via config. For example, you can specify whether the app appears in menus, how it interoperates with other apps (e.g. whether it can resolve a particular intent), what it looks like (that is, what icons, tooltips, title bar buttons and so on it uses), what preload scripts it needs, or how it's render processes should be managed. You can also specify its window management behavior.

There are 3 ways to add an app to your smart desktop. The easiest one is to use the Manage apps screen of your Smart Desktop Designer (SDD). SDD will configure appD for you without any coding on your part. All you have to do is specify values for some parameters, and the UI guides you through the process. Behind the scenes, SDD creates a config entry for your app and adds it to your appD.

Using SDD isn’t always possible. For example, if you have a smart desktop that has already been published and customized, you need to either configure the app manually by creating the appD entry for your app yourself and adding it to your configuration. The third way is to configure Finsemble to import multiple apps from one or more app directories.

Adding a single app to your config

You can add a single app in one of two ways. First, you add it statically as an entry in the public/configs/application/apps.json file. The other way is to add an app dynamically, by using the Apps Client. Finsemble normally adds such apps during the authentication boot stage and we call this Dynamic Configuration. For an example of an individual AppD record, see An application directory (appD).

Auto-update the AppD record on startup

To ensure that you always have the most up-to-date version of an AppD record, you can configure the autoUpdate property in the metadata element on the AppD record configuration. Additionally, you must also set the appDUrl to specify the location where the record should be retrieved from. Keep in mind that the configuration of an AppD record can change at any time in the server.

E.g.

{
"apps": [
...
{
"appId": "X39A765",
...
"metadata": {
/** If explicitly true and an appDUrl is set, Finsemble automatically updates the appD record
* during startup.
* @type Boolean */
"autoUpdate": true,

/** The appDUrl must be a valid URL to retrieve an updated copy of this
* appD record.
* @type String */
"appDUrl": "https://host.domain.com/api/appd/v2/X39A765",

/** The ISO formatted date and time string at which the appD record was
* last retrieved from the appDUrl. This is set automatically by Finsemble.
* @type String */
"retrievedAt": "2023-01-11T00:00:00.000Z"
}
}
]
}

Importing App Directories

Rather than configuring individual applications, you can instead configure Finsemble to import all the applications from one of more remote App Directory servers. To do so, configure the finsemble.fdc3AppDServers property in your public/configs/application/config.json file.

note

Finsemble imports all AppD records at every startup to ensure you have the most up-to-date versions of all apps.

E.g.

{
...,
"fdc3AppDServers" : [
{
"url": "https://host.domain.com/api/appd/v2/apps",
"description": "My sample AppD Server"
}
],
...
}

See also

AppD

Configuration

Config reference

FDC3 appD info