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.
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.
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"
}
],
...
}