Configuration Reference
This document is a complete reference of Finsemble's config options (settings). It is generated from the JSON schema file node_modules/@finsemble/finsemble-core/configs/schemas/finsemble.schema.json
. Hover over any field to get the complete "dot notation" config path.
Config files are located in /public/configs
. You may use "$importConfig" as a way to reference JSON files from one another.
Finsemble's "manifest" is the top level config and is used to bootstrap your SmartDesktop. Within the manifest, finsemble
contains all config that is not directly related to bootstrapping. By convention we consider "finsemble" to be the root of config. So for instance, the full path to a config item would be written as finsemble.foo.bar
.
manifest manifest (object) Highest level manifest object, which includes "finsemble" configuration.allowEvalInPreload manifest.allowEvalInPreload (boolean) Set to `true` to delete `unsafe-eval` and `script-src directives` from the content security policy..appAssets manifest.appAssets (array) Manifest array of external assets to be automatically downloaded by FEA (as Zip files) and unpacked for use as native applications..alias manifest.appAssets[].alias (string) The downloaded asset is referred to in application configurations by alias. Replace the window.path field of a native application with window.alias to use the appAsset.src manifest.appAssets[].src (string) URI from which to download a Zip file containing the asset.target manifest.appAssets[].target (string) The path within the appAsset Zip file to use to launch the application. This will usually be a path to a .exe, .jar or .bat file..version manifest.appAssets[].version (string) A version number for the asset to be downloaded. FEA will only download an asset if it has not already downloaded and cached a copy of the asset with the specified version number..Content-Security-Policy manifest.Content-Security-Policy (array,string) Overwrite the default content security policy for all components. This setting can be superceded by the application level "Content-Security-Policy" config. See https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP..[
"script-src *"
]devtools_port manifest.devtools_port (number Manifest property to set Chromium devTools port..9090 )disableWMICalls manifest.disableWMICalls (boolean (Deprecated) When set to true, Finsemble will not make calls that require Windows Management Instrumentation Command-line (WMIC). This option fills GPU information for the getHostSpecs method and will be removed in a future version..true )finsemble finsemble (object) (required) Finsemble's root runtime config. This can be found int "manifest-local.html"..accessibleLinker finsemble.accessibleLinker (boolean) (required) (DEPRECATED).appd finsemble.appd (object) (required) Contains Finsemble's app configurations. App config is the primary way that Finsemble learns about apps. Finsemble uses this to create its launcher menus and for driving data integration (interop)..appd[] finsemble.appd[] (object) AppD entries describe apps. (This format follows the FDC3 AppD specification)..appId finsemble.appd[].appId (string) (required) A unique identifier for the app which is used programatically and should follow the AppD specification for fully qualified naming: https://fdc3.finos.org/docs/1.0/appd-discovery#application-id-namespace-syntax-host-resolution..contactEmail finsemble.appd[].contactEmail (string) Email address to contact for information about the app. (Used when apps are picked out of a third party app catalog.).description finsemble.appd[].description (string) Textual description of the app..icons finsemble.appd[].icons (array) Set of icons for the app. Finsemble will attempt to pick the best matching icon but best practice is a single png size 64x64 with a transparent background..icon finsemble.appd[].icons[].icon (string) (DEPRECATED) FDC3 1.0 - 1.2 version of 'src' field.sizes finsemble.appd[].icons[].sizes (string) The size of the icon in the form 32x32. Multiple sizes may be provided for certain image types. This follows the Web Manifest specification..src finsemble.appd[].icons[].src (string) The url path for the icon image.images finsemble.appd[].images (array) Set of "screenshots" that describe the app. (This is used when picking apps out of an app catalog.).intents finsemble.appd[].intents (array) The set of intents that this app will be listening for. (See Interop tutorial).intents[] finsemble.appd[].intents[] (object) An intent (following the FDC3 format).contexts finsemble.appd[].intents[].contexts (array) (required) A filter stating that this app only handles intents for *these* context types. (Intents may have one or more possible context types.).displayName finsemble.appd[].intents[].displayName (string) Friendly printable name for the intent. This will appear in the "UI Resolver" when an end user is asked to decide which app to send the intent (whenever there is more than one possible resolution)..name finsemble.appd[].intents[].name (string) (required) The official name of the intent. This name is referenced in interop config..lang finsemble.appd[].lang (string) A language tag that specifies the primary language of both the application and its AppD entry, as defined by IETF RFC 5646. For example, "fr" for French or "en-CA" for Canadian English..manifest finsemble.appd[].manifest (object) (required) The name of the component you are configuring.appService finsemble.appd[].manifest.appService (boolean) When true, the app will be treated as an app service..bootParams finsemble.appd[].manifest.bootParams (object) Boot parameter properties.autoStart finsemble.appd[].manifest.bootParams.autoStart (boolean Specifies whether to automatically start during the system manager's startup phase.true )customFailureMessage finsemble.appd[].manifest.bootParams.customFailureMessage (string) The custom message to output to the system log if the app fails to start.dependencies finsemble.appd[].manifest.bootParams.dependencies (array) Specifies other services this service relies on..stage finsemble.appd[].manifest.bootParams.stage (string) Specifies at which stage the app is launched.."microkernel"
"kernel"
"pre-authentication"
"authentication"
"system-preuser"
"preuser"
"preuser2"
"preuser3"
"preuser4"
"earlyuser"
"user"stopOnFailure finsemble.appd[].manifest.bootParams.stopOnFailure (boolean Specifies whether the app should stop if one or more of its dependencies fail to start. Only relevant to apps with dependencies. Set to false if you want the app to continue startup even if its dependencies fail..true )timeout finsemble.appd[].manifest.bootParams.timeout (number) The maximum time the app can take to start up. If the startup doesn't complete in this time, it's marked as a failure. If you don't specify this property, Finsemble will use the default timeout value under the manifest's 'bootConfig.startComponentTimeout' property..childWindowOptions finsemble.appd[].manifest.childWindowOptions (object) Configuration for all child windows created via window.open for this app. Child windows may not join workspaces, group, tab, or tile. childWindowOptions supports the same properties as component....component finsemble.appd[].manifest.component (object) Properties associated with how Finsemble manages this application.canMaximize finsemble.appd[].manifest.component.canMaximize (boolean) (DEPRECATED) Use foreign.services.windowService.allowMaximize.canMinimize finsemble.appd[].manifest.component.canMinimize (boolean) (DEPRECATED) Use foreign.services.windowService.allowMinimize.category finsemble.appd[].manifest.component.category (string) During dynamic configuration, Finsemble can overwrite components already in the configuration . To prevent this from happening, set this value to "system". This setting is used, for example, to prevent system UI components from being dropped out of the config..centralLoggerNamePrefix finsemble.appd[].manifest.component.centralLoggerNamePrefix (string) Prefixes the windowDisplayName for the entry in the Central logger..displayName finsemble.appd[].manifest.component.displayName (string) Changes the applications's name in the launcher and its label in the pinned item section..enableGrpc finsemble.appd[].manifest.component.enableGrpc (boolean) (DEPRECATED) Enables GRPC. Can be used from Browserview based applications. grpc is a global variable available at window.grpc or at fin.grpc. Note: sandbox is disabled for these applications..maxReloadAttempts finsemble.appd[].manifest.component.maxReloadAttempts (number) Number of maximum reload attempts that should be executed if the component's webcontents fails to load..- minimum: 0
- maximum: 60
neededClients finsemble.appd[].manifest.component.neededClients (array) (DEPRECATED) Clients no longer need to be specfied for initialization.preload finsemble.appd[].manifest.component.preload (boolean,string,array) A preload is a JavaScript file that is inserted into browser page and runs before any other content. Specify a full path for your preloads. You can specify a list of files to be included. Learn more about preloads in Integrating HTML Applications..reloadTimeout finsemble.appd[].manifest.component.reloadTimeout (number Reload timeout for the component's webcontents..60000 )- minimum: 0
- maximum: 999999
showDevConsoleOnVisible finsemble.appd[].manifest.component.showDevConsoleOnVisible (boolean) If set to `true`, a Chrome developer console will spawn along with the application to assist with debugging..singleton finsemble.appd[].manifest.component.singleton (boolean) If set to `true`, the application will behave as a singleton; only a single instance can be launched. If the application has already been launched, attempting to launch it will bring it to front..spawnOnHotkey finsemble.appd[].manifest.component.spawnOnHotkey (array) The application will be launched when this global hotkey combination is activated by the end user. Example: ["ctrl","alt","a"].spawnOnStartup finsemble.appd[].manifest.component.spawnOnStartup (boolean) When true, Finsemble will automatically launch this application when the application starts..custom finsemble.appd[].manifest.custom (object) This area is free-form and can support any custom elements associated with the app..foreign finsemble.appd[].manifest.foreign (object This section contains configurations that other applications and services read when they interact with this component..) components finsemble.appd[].manifest.foreign.components (object Configurations specific to other applications that wish to interact with this app..) App Launcher finsemble.appd[].manifest.foreign.components.App Launcher (object App launcher is a drop down menu that launches other application..) launchableByUser finsemble.appd[].manifest.foreign.components.App Launcher.launchableByUser (boolean) If true, then an App Launcher menu may include this application..Toolbar finsemble.appd[].manifest.foreign.components.Toolbar (object) Configurations related to the global toolbar (at the top of the monitor)..iconClass finsemble.appd[].manifest.foreign.components.Toolbar.iconClass (string) A CSS class character to display when this application is pinned in the toolbar. See "fin-font" or use font-awesome or similar. This setting will override AppD icons..{
"iconClass": "ff-ungrid"
}iconURL finsemble.appd[].manifest.foreign.components.Toolbar.iconURL (string) (DEPRECATED) Instead, use the 'icons' array at the top level of the AppD entry..{
"iconURL": "$applicationRoot/assets/img/Finsemble_Taskbar_Icon.png"
}Window Manager finsemble.appd[].manifest.foreign.components.Window Manager (object) Configurations specific to an app's window title bar..alwaysOnTopIcon finsemble.appd[].manifest.foreign.components.Window Manager.alwaysOnTopIcon (boolean) When set to `true`, all windows can be pinned so that they are always on top (like a sticky note). You can override this setting for specific components in their config..componentCloseTimeout finsemble.appd[].manifest.foreign.components.Window Manager.componentCloseTimeout (number Time (in ms) to wait for the component to close successfully. If the component hasn't closed within this limit, it will be force closed..5000 )deliveryMechanism finsemble.appd[].manifest.foreign.components.Window Manager.deliveryMechanism (string Which delivery method to use for scripts (e.g., FSBL, title bar, etc.) - Valid values are: "injection" - Injects the code into the window.."injection" )"injection"
"preload"disableBrowserView finsemble.appd[].manifest.foreign.components.Window Manager.disableBrowserView (boolean) (DEPRECATED) Use titlebarType instead. When set to `true`, the window titlebar will be injected directly into the window's content pane, rather than separated out into a separate browserview within the window..floatingTitlebarComponent finsemble.appd[].manifest.foreign.components.Window Manager.floatingTitlebarComponent (string) This config sets which component Finsemble will use as a title bar for native application components. By default, the only value is "FloatingTitlebar." This config exists in the event you wish to customize this behavior with a customized title bar component and created a configuration for it in components.json.FSBLHeader finsemble.appd[].manifest.foreign.components.Window Manager.FSBLHeader (boolean,object This config controls the Finsemble window title bar UI component. FSBLHeader can be true, false or an object. If true then the window title bar will be injected into the component and the maximize, minimize, and close buttons will be displayed. If false, the title bar will not be displayed. If an object, you can tweak several details as to whether buttons are shown or how content is loaded under the title bar..true )adjustContentHeights finsemble.appd[].manifest.foreign.components.Window Manager.FSBLHeader.adjustContentHeights (boolean Unless set to false, the height of content sized to fit the window will be adjusted to fit within the adjusted bounds of the window when the Finsemble window title bar is injected into the DOM..true )bumpElements finsemble.appd[].manifest.foreign.components.Window Manager.FSBLHeader.bumpElements (object) Optional settings that adjust the height and position of absolute/fixed positioned elements when the window titlebar is injected. May be used to mitigate rare display issues that can occur due to the injected titlebar..absolute Either none, "all" or "0Positioned". If all, all fixed elements are moved. 0Positioned only moves elements that have top 0. Only applies to children of the document.body..finsemble.appd[].manifest.foreign.components.Window Manager.FSBLHeader.bumpElements.absolute "none"
"all"
"0Positioned"bumpBy finsemble.appd[].manifest.foreign.components.Window Manager.FSBLHeader.bumpElements.bumpBy (string) Sets the amount to bump elements by (e.g. "25px")..fixed Either none, "all" or "0Positioned". If all, all fixed elements are moved. 0Positioned only moves elements that have top 0..finsemble.appd[].manifest.foreign.components.Window Manager.FSBLHeader.bumpElements.fixed "none"
"all"
"0Positioned"monitorFixedAdditions finsemble.appd[].manifest.foreign.components.Window Manager.FSBLHeader.bumpElements.monitorFixedAdditions (boolean) Unless set to false, mutations to the DOM will be observed and fixed positioned elements with a top style of '0px' will be bumped by the title bar height..hackScrollbar finsemble.appd[].manifest.foreign.components.Window Manager.FSBLHeader.hackScrollbar (boolean) Unless set to false, a window's vertical scrollbar will be positioned underneath the Finsemble window title bar using html{ overflow-y: none} and body{ overflow-y: auto}.hideClose finsemble.appd[].manifest.foreign.components.Window Manager.FSBLHeader.hideClose (boolean) Value indicating whether the close button is hidden in the component titlebar.hideMaximize finsemble.appd[].manifest.foreign.components.Window Manager.FSBLHeader.hideMaximize (boolean) When set to true, the Maximize icon will be hidden from the component's titlebar..hideMinimize finsemble.appd[].manifest.foreign.components.Window Manager.FSBLHeader.hideMinimize (boolean) When set to true, the Minimize icon will be hidden from the component's titlebar..persistWindowState finsemble.appd[].manifest.foreign.components.Window Manager.FSBLHeader.persistWindowState (boolean) (DEPRECATED) If the component is part of the workspace, this tells Finsemble whether it should persist the position of the window when it moves but windowClient saves and loads window dimensions through updateOptions, for Internal Use..showLinker finsemble.appd[].manifest.foreign.components.Window Manager.FSBLHeader.showLinker (boolean) (DEPRECATED Set this to true only when using deprecated linkerClient. The linker will now automatically display when the FDC3 Interop client is activated with an API call. `showLinker: false` will override, preventing the linker from being displayed if you have a use case where you don't want to display the linker..title finsemble.appd[].manifest.foreign.components.Window Manager.FSBLHeader.title (boolean) (DEPRECATED) Sets the title in the window title bar. Instead, please set the title in your HTML and Finsemble will pick it up..zoomDefault finsemble.appd[].manifest.foreign.components.Window Manager.FSBLHeader.zoomDefault (number) Default zoom level to set for the component when using the zoom.js sample preload..titlebarType finsemble.appd[].manifest.foreign.components.Window Manager.titlebarType (string Determines how the window titlebar is added to web windows. The default 'browserview' separates the titlebar and content pane into separate browserviews and can resolve rare display issues with the injected title bar, at the cost of disabling process grouping via affinity for the content pane. Setting 'injected' causes the title bar and its styles to be inserted directly into your web page's DOM and its layout to be lightly adjusted to accommodate.."browserview" )"browserview"
"injected"zoom finsemble.appd[].manifest.foreign.components.Window Manager.zoom (object) Configuration for the zoom.js preload.max finsemble.appd[].manifest.foreign.components.Window Manager.zoom.max (number The maximum allowed zoom level..5 )min finsemble.appd[].manifest.foreign.components.Window Manager.zoom.min (number The minimum allowed zoom level..0.2 )step finsemble.appd[].manifest.foreign.components.Window Manager.zoom.step (number How much the zoom should increase or decrease when zooming in or out..0.1 )timeout finsemble.appd[].manifest.foreign.components.Window Manager.zoom.timeout (number The number of milliseconds the zoom pop up should be displayed before it is hidden..3000 )services finsemble.appd[].manifest.foreign.services (object) Configurations for services that will interact with this application..windowService finsemble.appd[].manifest.foreign.services.windowService (object) Configurations that the window service will apply to this app..allowAutoArrange finsemble.appd[].manifest.foreign.services.windowService.allowAutoArrange (boolean If `true`, the window can be auto arranged. If `false`, will disable the window's ability to be auto arranged by the Window Service..true )allowGrouping finsemble.appd[].manifest.foreign.services.windowService.allowGrouping (boolean If `true`, the window can form groups with other windows. If `false`, this window cannot be placed into a group..true )allowMaximize finsemble.appd[].manifest.foreign.services.windowService.allowMaximize (boolean If `true`, the window can be maximized. If `false`, the window cannot be maximized..true )allowMinimize finsemble.appd[].manifest.foreign.services.windowService.allowMinimize (boolean If `true`, the window can be minimized to the taskbar. If `false`, the window cannot be minimized..true )allowSnapping finsemble.appd[].manifest.foreign.services.windowService.allowSnapping (boolean If `true`, this window can be snapped. If `false`, this window cannot benefit from snapping..true )allowTabbing finsemble.appd[].manifest.foreign.services.windowService.allowTabbing (boolean) If `true`, the window's titlebar will include a tab header that can be dragged or have other tabs dropped onto it. If `false`, tabbing will be disabled for this window..allowTiling finsemble.appd[].manifest.foreign.services.windowService.allowTiling (boolean) If `true`, the window can be tiled on by other windows by dragging tab headers onto its body (below the titlebar). If `false`, tiling will be disabled for this window..isArrangable finsemble.appd[].manifest.foreign.services.windowService.isArrangable (boolean) (DEPRECATED) as of 3.6.manageWindowMovement finsemble.appd[].manifest.foreign.services.windowService.manageWindowMovement (boolean If `true`, the Window Service will manage the window's movement. Unless otherwise specified by the following params, this means the Window Service can perform actions on this window: move, group, snap, minimize, maximize, etc. When this parameter is `false` it could be overwritten by `allowSnapping`, `allowGrouping`, `allowAutoArrange`, `allowTabbing`, `allowTiling`, `allowMinimize`, `allowMaximize`, `window.dockable`, `FSBLHeader` if any from them is `true`.true )workspace finsemble.appd[].manifest.foreign.services.workspace (object) Configurations related to the workspace service..persistPath finsemble.appd[].manifest.foreign.services.workspace.persistPath (boolean) When true, the application will automatically persist its path through restarts and workspace reloads, even when the path changes in the config. Path is used for "native" (aka "assimilation") windows..persistURL finsemble.appd[].manifest.foreign.services.workspace.persistURL (boolean) A global config for application URL persistence. When true, components automatically save their last URL instead of using the one in the config. The application config will override the global config..interop finsemble.appd[].manifest.interop (object) Interop (data integration) related config for this app.autoConnect finsemble.appd[].manifest.interop.autoConnect (boolean) If set to true then the app will automatically connect to the Interop service. In most cases, this will cause the linker to display. If set to false (the default) then the app will connect upon the first call to any `fdc` function..selectConnect finsemble.appd[].manifest.interop.selectConnect (array) (Experimental). Interop messaging rules to support no-code integration of modules. It allows you to specify precisely which modules can communicate and in what way..selectConnect[] finsemble.appd[].manifest.interop.selectConnect[] (object) A specific selectConnect rule that consists of one or more properties..authorize[] finsemble.appd[].manifest.interop.selectConnect[].authorize[] (object) When set, messages will be restricted to apps that meet the authorization criteria. Note: using 'authorize' is the same as using both 'to' and 'from'..autoAssociate finsemble.appd[].manifest.interop.selectConnect[].autoAssociate (object) defines app’s autoAssociate property.allChildren finsemble.appd[].manifest.interop.selectConnect[].autoAssociate.allChildren (boolean) if true all apps spawned or opened by this app will automatically associated (i.e. auto-joined to common channel).selectChildren finsemble.appd[].manifest.interop.selectConnect[].autoAssociate.selectChildren (array) any app in this list when spawned or opened by this app will automatically associated..selectChildren[] finsemble.appd[].manifest.interop.selectConnect[].autoAssociate.selectChildren[] (string) appId of child app.usingConnectId finsemble.appd[].manifest.interop.selectConnect[].autoAssociate.usingConnectId (string) specifies a fixed association (as opposed to dynamic) using the specified connectId -- all apps with this connectId will automatically associated.cc finsemble.appd[].manifest.interop.selectConnect[].cc (string) The name of a valid selectConnect module. When cc is set, that module will receive a copy of the message. cc works on both outgoing and incoming traffic..contextType finsemble.appd[].manifest.interop.selectConnect[].contextType (string) Apply this rule only to this specific context type. (optional).from[] finsemble.appd[].manifest.interop.selectConnect[].from[] (object) When set, messages can be received only from apps that meet the authorization criteria..fwd finsemble.appd[].manifest.interop.selectConnect[].fwd (string) The name of a valid selectConnect module. When fwd is set, that module will receive the message *instead* of the original description. fwd is intended primarily for outgoing traffic but will also work on incoming traffic..useLinker finsemble.appd[].manifest.interop.useLinker (boolean) The linker is turned on by default for any app that uses FDC3. Set this flag to false in order to turn off the linker for this app. For instance, if your app only uses App Channels (i.e. 'well known' named channels)..signatureKey finsemble.appd[].manifest.signatureKey (object) Public authentication key to decrypt static AuthenticationTokens within interopService..signatureKeyURL finsemble.appd[].manifest.signatureKeyURL (string) URL specifying the location of the signature key..waitForInitialization finsemble.appd[].manifest.waitForInitialization (boolean) When true, startup will wait for the app to explicitly signal it is ready..window finsemble.appd[].manifest.window (object) Configurations that manage placement of the application's window on the screen. Configuration settings in this section may also be passed as parameters to `LauncherClient.spawn()`..addToWorkspace finsemble.appd[].manifest.window.addToWorkspace (boolean Specifies whether to add the new component to the workspace. The value set in the component manifest takes priority over any value passed as a parameter to `LauncherClient.spawn` or related functions..true )affinity finsemble.appd[].manifest.window.affinity (string,boolean) Process affinity allows you to control how render processes for web windows, served from the same 'site' (registered domain and protocol) are grouped together, reducing their memory footprint, at the cost of increasing CPU resource contention (as a render thread can only process one window at a time). As most user interface components are only active while the user is interacting with them, process grouping via affinity is an effective way to reduce memory footprint. Conversely, you may wish to disable or customize the affinity setting for CPU intensive applications that are driven by outside events (for example a ticking blotter or chart driven by an external data source). In this way, you can strike a balance between performance and memory footprint. Group applications together thoughtfully by setting them to the same string value or disable render process group by setting affinity to false. See the Process Management tutorial for more information..alias finsemble.appd[].manifest.window.alias (string) May be used with native applications (i.e. when windowType is "native" or "assimilation") instead of `path`. Specifies the alias of a bundled asset to launch..arguments finsemble.appd[].manifest.window.arguments (string) Specifies the arguments to be sent to a native application (i.e. when windowType is "native" or "assimilation") on launch. Separate the arguments by spaces: `--arg1 foo --arg2 bar` except when `params.argumentsAsQueryString` is true, in which case set this parameter to be single string in URI format: `arg=1&arg=2`.argumentsAsQueryString finsemble.appd[].manifest.window.argumentsAsQueryString (boolean) For native applications (i.e. when windowType is "native" or "assimilation"), causes the generated arguments (the automatically generated arguments and any supplied as the "arguments" parameter) to be encoded as a query string and appended to the URI. This is useful for applications launched via a protocol handler or online ClickOnce deployment, where the path parameter is a URI..bottom finsemble.appd[].manifest.window.bottom (string,number,null) A pixel value representing the distance from the bottom edge of the viewport as defined by "position". You can also use the percentage value, which represents the percentage distance from the bottom edge of the viewport relative to the viewport's height..canGroup finsemble.appd[].manifest.window.canGroup (boolean) (DEPRECATED) Use foreign.services.windowService.allowGrouping.claimMonitorSpace finsemble.appd[].manifest.window.claimMonitorSpace (boolean) For use with permanent toolbars. The available space for other components will be reduced by the amount of space covered by the newly spawned component. Users will be prevented from moving windows to a position that covers the claimed space..closeComponentsTogether finsemble.appd[].manifest.window.closeComponentsTogether (boolean) Whether to close all components within a launchGroup at the same time..component Type of component to spawn..finsemble.appd[].manifest.window.component data finsemble.appd[].manifest.window.data (array,boolean,integer,null,number,object,string) Optional data to pass to the opening window. If set, then the spawned window can use WindowClient.getSpawnData to retrieve the data..dockable finsemble.appd[].manifest.window.dockable (array,boolean) Parts of the monitor that the component can dock to. Valid values are `top` and `bottom`. The `[]` value is equal `false`. The `true` value is equal `['top', 'bottom']`..true
false
[]
["top"]
["bottom"]
["top","bottom"]docked finsemble.appd[].manifest.window.docked (string) Which part of the monitor that the component will dock to on spawn. Only valid if combined with the `dockable` property.."top"
"bottom"dockOnSpawn finsemble.appd[].manifest.window.dockOnSpawn (boolean) (DEPRECATED) this capability will be deprecated in favor of groupOnSpawn. If true, will automatically dock the window with the "relative" window (dock to the parent window unless specified in params.relativeWindow). Note that you must also position the window in a valid position for docking, for example, by setting the "left" or "top" parameters to "adjacent"..env Sets environment variables for a spawned native application. Create a map (JSON) object of names to values. This is only available when running Assimilation..finsemble.appd[].manifest.window.env ephemeral finsemble.appd[].manifest.window.ephemeral (boolean) Indicates that this window is ephemeral. An ephemeral window is a dialog, menu, or other window that is temporarily displayed but usually hidden. Ephemeral windows automatically have the following settings assigned: resizable: false, showTaskbarIcon: false, alwaysOnTop: true. Note: Use `options:{autoShow: false}` to prevent an ephemeral window from showing automatically..forceOntoMonitor finsemble.appd[].manifest.window.forceOntoMonitor (boolean,string) If true, tries to make the window have no edges outside the monitor boundary..true
false
"availableRect"
"monitorRect"groupOnSpawn finsemble.appd[].manifest.window.groupOnSpawn (boolean) Groups the window to the `relativeWindow` based on their adjacent position..height finsemble.appd[].manifest.window.height (number,string) A pixel or percentage value..left finsemble.appd[].manifest.window.left (string,number,null) A pixel value representing the distance from the left edge of the viewport as defined by "position". You can also use the percentage value, which represents the percentage distance from the left edge of the viewport relative to the viewport's width.
"adjacent" will snap to the right edge of the spawning or relative window.
"center" will center the window. If neither left nor right are provided, then the default will be to stagger the window based on the last spawned window..maxHeight finsemble.appd[].manifest.window.maxHeight (number,boolean,null) Maximum height window can be resized to..maxWidth finsemble.appd[].manifest.window.maxWidth (number,boolean,null) Maximum width window can be resized to..minHeight finsemble.appd[].manifest.window.minHeight (number,boolean,null) Minimum height window can be resized to..minWidth finsemble.appd[].manifest.window.minWidth (number,boolean,null) Minimum width window can be resized to..monitor finsemble.appd[].manifest.window.monitor (number,string) Specifies which monitor to place the new window.
"mine" - Place the window on the same monitor as the calling window.
Integer value from 0-n (0 being the primary monitor).
"primary" indicates the user's primary monitor.
"all" - Put a copy of the component on all monitors..name finsemble.appd[].manifest.window.name (string) Window name to apply to the application. The name is not normally specified, allowing Finsemble to generate a random one from the component type. If specified in the configuration, only a single copy of the component can exist at a time..options finsemble.appd[].manifest.window.options (object) Low level window behavior options. Note that `options` may not be passed as arguments to `LauncherClient.spawn` and related API calls.allowedNavigationUrls finsemble.appd[].manifest.window.options.allowedNavigationUrls (array) Controls whether the app can navigate to other urls. If unspecified, the default is to allow all urls. This will change in a future version to allowing only same-origin urls, those with the same domain, protocol, and port as the window itself. An empty array indicates no navigation is allowed, even to the origin domain. To allow specific domains, add those domains to the array. The origin domain must also be added..allowedNavigationUrls[] finsemble.appd[].manifest.window.options.allowedNavigationUrls[] (string) A list of domains to which this app is allowed to navigate or open pop-up windows. If a domain is not fully qualified then it will be treated as a wildcard, '*.domain.com'.allowedWindowOpenUrls finsemble.appd[].manifest.window.options.allowedWindowOpenUrls (array) Controls whether the app can programmatically open a window with `window.open()` based on the url. If unspecified, the default is to allow all urls. This will change in a future version to allowing only same-origin urls, those with the same domain, protocol, and port as the window itself. An empty array indicates no navigation is allowed, even to the origin domain. To allow specific domains, add those domains to the array. The origin domain must also be added..allowedWindowOpenUrls[] finsemble.appd[].manifest.window.options.allowedWindowOpenUrls[] (string) A list of domains to which this app is allowed to navigate or open pop-up windows. If a domain is not fully qualified then it will be treated as a wildcard, '*.domain.com'.alwaysOnTop finsemble.appd[].manifest.window.options.alwaysOnTop (boolean) When set to true, the window will always be on top (like a sticky note) of any window with alwaysOnTop set to false..autoShow finsemble.appd[].manifest.window.options.autoShow (boolean When set to true, the window will be visible when it is spawned. When set to false, the window will be spawned as an invisible window..true )backgroundThrottling finsemble.appd[].manifest.window.options.backgroundThrottling (boolean) Whether to throttle animations and timers when the page becomes backgrounded. This also affects the Page Visibility API. Defaults to true.Content-Security-Policy finsemble.appd[].manifest.window.options.Content-Security-Policy (array,string) Custom content security policy (CSP) that will override the manifest CSP and the CSP received from this app's HTTP server. This can be a string or an array of strings. See https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP.[
"script-src *;"
]contextMenu finsemble.appd[].manifest.window.options.contextMenu (boolean A flag to show the context menu when right-clicking on a window. Gives access to the Developer Console for the Window..true )cornerRounding Specifies corner rounding for a window.finsemble.appd[].manifest.window.options.cornerRounding isEvergreen finsemble.appd[].manifest.window.options.isEvergreen (boolean) When set to true, the window will hide and show when switching between workspaces rather than opening and closing. The same singleton instance of the window is used across multiple workspaces. **Note**: Tabbing and tiling is set to false for Evergreen components. If you're using set/getComponentState, the state is different per workspace. Listen for the 'component-state-changed' event on the window to update your application accordingly. Or fetch the new state in the Workspace 'load-complete' event in the case of a native application..opacity finsemble.appd[].manifest.window.options.opacity (number Sets the opacity of the window..1 )openLinksInExternalBrowser finsemble.appd[].manifest.window.options.openLinksInExternalBrowser (boolean) When set to true, links (anchor tags) will be open in the OS default browser. See 'navigation' property for restricting navigation..permissions finsemble.appd[].manifest.window.options.permissions (object) Change an application's individual permissions to be different than from those in its security policy by adding additional configs under this config. See the Security Policies tutorial for more information..resizable finsemble.appd[].manifest.window.options.resizable (boolean When set to false, the window's edges cannot be resized by the end user and won't participate in Windows aero snap..true )securityPolicy finsemble.appd[].manifest.window.options.securityPolicy (string) Set an application's security policy by name, for example to the default "trusted" or "untrusted" policies or to a custom policy. See the Security Policies tutorial for more information..showTaskbarIcon finsemble.appd[].manifest.window.options.showTaskbarIcon (boolean) Specifies whether the application should be displayed in the Windows taskbar..transparent finsemble.appd[].manifest.window.options.transparent (boolean) When set to true the window will be transparent. This will only work if no background color has been set on the window, including through css tags. Dynamically removing background color styles will _not_ work on Mac (there must be no initial css styles for background or background-color)..windowSpawnTimeout finsemble.appd[].manifest.window.options.windowSpawnTimeout (number Number of seconds before a native application component spawn times out..30 )windowTitleBarUrl finsemble.appd[].manifest.window.options.windowTitleBarUrl (string) When specified, will override the default Finsemble window titlebar..path finsemble.appd[].manifest.window.path (string) Specifies the path to a native application (i.e. when windowType is "native" or "assimilation"). The path can be:- The name of an exe that is on the system path (e.g., notepad.exe).
- The full path to an executable on the user's machine (e.g., C:\Program Files\app.exe).
- A system installed URI (e.g., myuri://advancedapplauncher).
- uuid - A generated UUID that uniquely identifies this window.
- left - The x coordinate of the new window
- top - The y coordinate of the new window
- width - The width of the new window
- height - The height of the new window
- finsembleWindowName - The name of the window in the Finsemble config
- componentType - The component type in the Finsemble config
- appName - The name of the application in the Finsemble appd.
position finsemble.appd[].manifest.window.position (string) Defines a "viewport" for the spawn, with one of the Position Types:- available - Positioned according to the coordinates available on the monitor itself, less space claimed by the operating system (such as the windows toolbar). For instance, `bottom:0` will place the new component with its bottom flush against the windows toolbar.
- monitor - Positioned according to the absolute size of the monitor. For instance, `top:0` will place the component overlapping the toolbar.
- relative - Positioned relative to the relativeWindow. For instance, `left:0;top:0` will join the top left corner of the new component with the top left corner of the relative window.
- virtual - Deprecated. Positioned against coordinates on the virtual screen. The virtual screen is the full viewing area of all monitors combined into a single theoretical monitor.
- absolute - Positioned using native operating system coordinates.
"available"
"monitor"
"relative"
"virtual"
"absolute"relativeWindow The window to use when calculating any relative launches. If not set then the window from which spawn() was called. Primarily used as an argument to `LauncherClient.spawn()` and related functions..finsemble.appd[].manifest.window.relativeWindow right finsemble.appd[].manifest.window.right (string,number,null) A pixel value representing the distance from the right edge of the viewport as defined by "position". You can also use the percentage value, which represents the percentage distance from the right edge of the viewport relative to the viewport's width..setBoundsOnly finsemble.appd[].manifest.window.setBoundsOnly (boolean) If true, then visibility of window will not be changed. In other words, a hidden window will not be made visible. Primarily used as an argument to `LauncherClient.showWindow()` and related functions..slave finsemble.appd[].manifest.window.slave (boolean) If true then the new window will act as a slave to the relativeWindow (or the launching window if relativeWindow is not specified). Slave windows will automatically close when their parent windows close..staggerPixels finsemble.appd[].manifest.window.staggerPixels (number) Number of pixels to stagger (default when neither left, right, top or bottom are set)..top finsemble.appd[].manifest.window.top (string,number,null) A pixel value representing the distance from the top edge of the viewport as defined by "position". You can also use the percentage value, which represents the percentage distance from the top edge of the viewport relative to the viewport's height..toSpawn finsemble.appd[].manifest.window.toSpawn (array) (EXPERIMENTAL) An array of objects defining the components to spawn. Each entry may either represent a single component in the form `{componentType, spawnOptions}` or a tabbed window of components in the form `{components, spawnOptions}`, where `components` is an array of single component definitions (again in the form `{componentType, spawnOptions}`). Most arguments that are normally passed to `LauncherClient.spawn` are supported, although positioning will be interpreted as relative to the group's coordinates and dimensions for single components and ignored for tabbed components (as these use the position specified in the group's spawnOptions). Note - This param will only be taken into account if the "windowType" param is "launchGroup"..[
{
"componentType": "Welcome Component",
"spawnOptions": {
"top": 0,
"left": 0,
"height": 250,
"width": 600,
"data": {}
}
},
{
"components": [
{
"componentType": "Welcome Component",
"spawnOptions": {
"data": {}
}
},
{
"componentType": "Process Monitor",
"spawnOptions": {
"data": {}
}
}
],
"spawnOptions": {
"top": 250,
"left": 0,
"height": 250,
"width": 600
}
},
{
"componentType": "Welcome Component",
"spawnOptions": {
"top": 500,
"left": 0,
"height": 200,
"width": 600,
"data": {}
}
},
{
"componentType": "Process Monitor",
"spawnOptions": {
"top": 0,
"left": 600,
"height": 700,
"width": 300,
"data": {}
}
}
]components finsemble.appd[].manifest.window.toSpawn[].components (array) An array of components to spawn as a tabbed group within the launchGroup.componentType finsemble.appd[].manifest.window.toSpawn[].componentType (string) The name of a component to spawn.spawnOptions finsemble.appd[].manifest.window.toSpawn[].spawnOptions (object) Minimal definition for component spawn options.url finsemble.appd[].manifest.window.url (string) The URL to load for a web application (i.e. when `windowType` is `undefined`, 'WebWindow' or 'application')..width finsemble.appd[].manifest.window.width (number,string) A pixel or percentage value..windowType finsemble.appd[].manifest.window.windowType (string) Describes which type of component to spawn.- WebWindow - A normal HTML window. Requires "url" to be specified.
- assimilation - A window that is managed by the Finsemble assimilation process (usually a native window without source code access). Requires "path" or "alias" to be specified.
- native - A native window that has implemented finsemble.dll. Requires "path" or "alias" to be specified.
- application - A standalone application. This launch a component in its own browser process (splintered, giving it dedicated CPU and memory). This can also point to a standalone web application (such as from a third party). Requires "url" to be specified.
- launchGroup - (EXPERIMENTAL) A component made of other components, usually grouped together. See toSpawn property.
manifestType finsemble.appd[].manifestType (string) The type of manifest. This is always equivalent to "finsemble" and can be omitted..name finsemble.appd[].name (string) (required) The name of the app..publisher finsemble.appd[].publisher (string) The name of the organization who publishes the app. (This is used when picking apps out of third party catalogs.).releaseNotes finsemble.appd[].releaseNotes (string) Release notes for this version of the app..supportEmail finsemble.appd[].supportEmail (string) An email address to contact for support with this app..tags finsemble.appd[].tags (array) A set of searchable tags. (Used when picking apps out of an app catalog).title finsemble.appd[].title (string) A human readable name that describes the app. The app will appear in the launcher menu under this title..version finsemble.appd[].version (string) The version of the app. This should follow semantic versioning rules..applicationRoot finsemble.applicationRoot (string "https://localhost:3375" )(required) Should point to the root of your application. Finsemble will use this to build URLs internally..authentication finsemble.authentication (object) Contains authentication profiles. The special “STARTUP” profile will be run when your SmartDesktop launches..authentication[] finsemble.authentication[] (object) Declare an authentication profile that uses simple password collection or any other type of custom authentication process..adapter finsemble.authentication[].adapter (string) (required) The authentication "adapter" (module) which will be used for this authentication profile. (See the Authentication Tutorial).."PASSWORD"
"OAUTH2"authorization_endpoint finsemble.authentication[].authorization_endpoint (string) When used with OAUTH2 adapter, the authorization endpoint for your Identity Provider (IP)..backchannel_endpoint finsemble.authentication[].backchannel_endpoint (string) When used with OAUTH2 adapter, your backchannel endpoint URL..client_id finsemble.authentication[].client_id (string) When used with OAUTH2 adapter, the "client ID" provided by your Identity Provider (IP)..component finsemble.authentication[].component (string) The UI component to use for this authentication profile. Typically this would be "authentication.html" used by the "PASSWORD" adapter to display a user/login form..redirect_url finsemble.authentication[].redirect_url (string The component to handle the response from your IP. If you don't provide this, *components/authentication/oauthResponse.html* will be used.."$applicationRoot/components/authentication/oauthResponse.html" )scope finsemble.authentication[].scope (string,null When used with OAUTH2 adapter, the "scope" as specified by your Identity Provider (IP)..openid )availableDashbarItems finsemble.availableDashbarItems (object) Available dashbar items to list in dashbar user preferences.availableDashbarItems[] finsemble.availableDashbarItems[] (object) Dashbar item properties.title finsemble.availableDashbarItems[].title (string) (required) the text displayed in the title bar of the dashbar item.url finsemble.availableDashbarItems[].url (string) (required) the URL path of the content of the dashbar item.width finsemble.availableDashbarItems[].width (integer) (optional) the width of the dashbar item.bootConfig finsemble.bootConfig (object) (required) Boot/startup configuration parameters used by the System Manager..{
"bootConfig": {
"defaults": {
"startServiceTimeout": 10000,
"startComponentTimeout": 15000
}
}
}defaults finsemble.bootConfig.defaults (object) Default startup-up properties for System Manager.startComponentTimeout finsemble.bootConfig.defaults.startComponentTimeout (number Default timeout value in milliseconds for components.15000 )- minimum: 0
startServiceTimeout finsemble.bootConfig.defaults.startServiceTimeout (number Default timeout value in milliseconds for services.15000 )- minimum: 0
- maximum: 999999
configSchemaURL finsemble.configSchemaURL (string) URL of this schema. Used for run-time verification of configuration..configVersion finsemble.configVersion (string) Version of this schema..extensions finsemble.extensions (object) Register preload extensions for Finsemble apps.preloads finsemble.extensions.preloads (object) Registered aliases and details for preloads.{
"preloads": {
"zoom": {
"url": "https://assets.finsemble.com/preloads/zoom.js",
"autoload": "launchable"
}
}
}failedComponentCloseNotification finsemble.failedComponentCloseNotification (boolean) If true throw a notification when a component fails to close within the time limit specified in `finsemble["Window Manager"].componentCloseTimeout`.feaURLWhitelist finsemble.feaURLWhitelist (string) A regex pattern that represents a URL whitelist. If set, components will **only** be able to navigate to URLs that match the regex pattern..globalHotkeys finsemble.globalHotkeys (object) (required) .importConfig finsemble.importConfig (array) Defines an array of JSON URLs to be imported into the top-level finsemble object. Note that this will overwrite any existing config settings, with two exceptions: New services defined under finsemble.services will be added to the list of existing services (as opposed to replacing the existing list of services). New components defined under finsemble.components will be added to the list of existing components (as opposed to replacing the list of existing components)..[
"$applicationRoot/configs/application/UIComponents.json",
"$applicationRoot/configs/application/components.json"
]importThirdPartyConfig finsemble.importThirdPartyConfig (array) This import is essentially the same as importConfig with one notable difference: the imported configuration settings cannot overwrite any existing settings. In this case, the settings for any potential overwrite will be discarded with a warning message written to the Config Service's log..initialWorkspace finsemble.initialWorkspace (string) The workspace name specified by this config will be the first one presented to an end user the very first time they start the SmartDesktop. This overrides the default behavior set by the config: finsemble.workspaces. After the very first instance of the SmartDesktop, Finsemble will load the last workspace loaded or any workspace specified by user preferences..logger finsemble.logger (object) .allowNativeErrorNotifications finsemble.logger.allowNativeErrorNotifications (boolean) Set to 'true' to allow electron.Notifications for FEA errors.menus Legacy config to configure menus. Still used in some configuration examples.finsemble.menus moduleRoot finsemble.moduleRoot (string "https://localhost:3375/finsemble" )(required) Where you are serving the Finsemble core library from. This is important for resolving URLs internally..notificationURL finsemble.notificationURL (string) (DEPRECATED) The notificationURL is no longer used by toasts or UserNotification.preferences finsemble.preferences (object ) (required) DEPRECATED - configurations used as user preferences can be found in the finsemble.servicesConfig section.router finsemble.router (object) Configurations for Router's communication mechanism..{
"router": {
"crossDomainTransport": "IPCBus",
"sameDomainTransport": "SharedWorker",
"transportSettings": {
"FinsembleTransport": {
"serverAddress": "ws://127.0.0.1:3376"
}
}
}
}crossDomainTransport finsemble.router.crossDomainTransport (string The interface for communicating between cross-domain components - When set to `IPCBus`, the default,, all cross-domain components will use IPC to communicate. When set to `FinsembleTransport`, cross-domain components will use IAC. You might switch the `crossDomainTransport` if you are having connection issues involving firewalls, your CSP, etc. Available values are 'IPCBus' and 'FinsembleTransport'.."IPCBus" )"IPCBus"
"SharedWorker"
"FinsembleTransport"promptBeforeAllowingExternalApps finsemble.router.promptBeforeAllowingExternalApps (boolean) (DEPRECATED) this capability will be deprecated in order to support freestanding apps.sameDomainTransport finsemble.router.sameDomainTransport (string The transport for components and services with Finsemble's domain.."SharedWorker" )"IPCBus"
"SharedWorker"
"FinsembleTransport"trafficSnapMinCountSize finsemble.router.trafficSnapMinCountSize (number) if traffic snapshot enable, then filter from output if not this many messages for the channel/topic.trafficSnapshotMilliseconds finsemble.router.trafficSnapshotMilliseconds (number) if defined how often to take the traffic snapshot for diagnostics.transportSettings finsemble.router.transportSettings (object The specific setting for certain transports..) scheduledCloseDiscardUnsavedChanges finsemble.scheduledCloseDiscardUnsavedChanges (boolean) If true AND Finsemble has a scheduled restart configured, it will discard any unsaved workspace changes when Finsemble closes..scheduledRestart finsemble.scheduledRestart (boolean,object) Set Finsemble to automatically restart. These values can be overridden by the user through user preferences.
Additional property: dialogTimeout 10000 - When it is time to restart, the user is presented with a dialog to confirm or cancel. Since resets typically occur at night while the machine is unattended, most often the dialog will time out and Finsemble will restart. The `dialogTimeout` specifies how long to wait for a user response in milliseconds..dayOfWeek finsemble.scheduledRestart.dayOfWeek (number,boolean) The day of the week the task will be run. Sunday - Saturday: 0 - 6. If set to false, the task will be run weekly.- minimum: 0
- maximum: 6
hour finsemble.scheduledRestart.hour (number) 0 - 23. The hour when Finsemble should restart. This is in 24 hour time according to the user's local machine's timezone..- minimum: 0
- maximum: 23
minute finsemble.scheduledRestart.minute (number) 0 - 59. The minute when Finsemble should run the task.- minimum: 0
- maximum: 59
scheduledShutdown finsemble.scheduledShutdown (boolean,object) Set Finsemble to automatically shutdown. These values can be overridden by the user through user preferences.
Additional property: dialogTimeout 10000 - When it is time to shutdown, the user is presented with a dialog to confirm or cancel. Since shutdown typically occurs at night while the machine is unattended, most often the dialog will time out and Finsemble will shutdown. The `dialogTimeout` specifies how long to wait for a user response in milliseconds..dayOfWeek finsemble.scheduledShutdown.dayOfWeek (number,boolean) The day of the week the task will be run. Sunday - Saturday: 0 - 6. If set to false, the task will be run weekly.- minimum: 0
- maximum: 6
hour finsemble.scheduledShutdown.hour (number) 0 - 23. The hour when Finsemble should restart. This is in 24 hour time according to the user's local machine's timezone..- minimum: 0
- maximum: 23
minute finsemble.scheduledShutdown.minute (number) 0 - 59. The minute when Finsemble should run the task.- minimum: 0
- maximum: 59
servicesConfig finsemble.servicesConfig (object) (required) Configurations that override the defaults for Finsemble's built-in services. (Defaults are stored in "finsemble.services" and cannot be directly overridden..assimilation finsemble.servicesConfig.assimilation (object) Assimilation of native windows. This only works on Windows operating systems..affinity finsemble.servicesConfig.assimilation.affinity (string,boolean) Only applicable for `spawnAs: "window"`. When set, the service window will be given process affinity based on the string passed in. This allows aggregation of services to a specific browser process. Set to false to disable render process grouping via affinity.enabled finsemble.servicesConfig.assimilation.enabled (boolean Set to true to turn on Assimilation.true )eventIgnore finsemble.servicesConfig.assimilation.eventIgnore (number Sets the threshold (in milliseconds) from the previous event before which focus/restore events are dropped. Certain sequences of minimize/restore/focus events can create an unwanted loop of events; therefore, restore and focus events are throttled with this property..50 )focusDelay finsemble.servicesConfig.assimilation.focusDelay (number Sets the delay (in milliseconds) between the focus event being received and the actual focusing of the window. This is necessary because the focus event is called simultaneously with minimize/restore events, which causes issues with docking groups..30 )hideTitleBars finsemble.servicesConfig.assimilation.hideTitleBars (boolean) Set to true to hide all Finsemble title bars for native applications..onlySpawned finsemble.servicesConfig.assimilation.onlySpawned (boolean This Boolean tells assimilation whether it should restrict its scope to external applications spawned by Finsemble. If true, only applications launched from Finsemble will be controlled. If false, it will try to control the movements of all windows on the desktop..true )port finsemble.servicesConfig.assimilation.port (number Assimilation communicates with Finsemble's HTML services via a WebSocket. Set the port here..8392 )spawnAs finsemble.servicesConfig.assimilation.spawnAs (string Valid values are:"window" )
"window" - Spawns the service as a child window of the Service Manager.
"process" - Spawns the service in its own browser process (a.k.a. application). This gives the service dedicated CPU to maximize concurrency.
"script" - Spawns the service as a script running in the Service Manager window. This minimizes memory footprint. This setting can only be used with the following services: assimilation, storage, hotkeys, linker, search and workspace.
."window"
"process"
"script"throttle finsemble.servicesConfig.assimilation.throttle (number Windows sends dozens of events per second when a window is moved. This value tells the application how often to collect those events. You may see performance degradations if you set the throttle below 5..15 )visible finsemble.servicesConfig.assimilation.visible (boolean) Set this to `true` in order to reveal the hidden service window. This can be useful for debugging services..authentication finsemble.servicesConfig.authentication (object) Authentication service config options.spawnAs finsemble.servicesConfig.authentication.spawnAs (string Valid values are:"window" )
"window" - Spawns the service as a child window of the Service Manager.
"process" - Spawns the service in its own browser process (a.k.a. application). This gives the service dedicated CPU to maximize concurrency.
"script" - Spawns the service as a script running in the Service Manager window. This minimizes memory footprint. This setting can only be used with the following services: assimilation, storage, hotkeys, linker, search and workspace.
."window"
"process"
"script"distributedStore finsemble.servicesConfig.distributedStore (object) Distributed Store configuration.affinity finsemble.servicesConfig.distributedStore.affinity (string,boolean) Only applicable for `spawnAs: "window"`. When set, the service window will be given process affinity based on the string passed in. This allows aggregation of services to a specific browser process. Set to false to disable render process grouping via affinity.initialStores finsemble.servicesConfig.distributedStore.initialStores (array) (required) Foundations for any stores which should be seeded on startup.foundation finsemble.servicesConfig.distributedStore.initialStores[].foundation (object) The data to seed into the store.Advanced App Launcher finsemble.servicesConfig.distributedStore.initialStores[].foundation.appFolders.folders.Advanced App Launcher (object) Definition for AdvanceAppLauncher application folder.Favorites finsemble.servicesConfig.distributedStore.initialStores[].foundation.appFolders.folders.Favorites (object) Definition for AdvanceAppLauncher application folder.name finsemble.servicesConfig.distributedStore.initialStores[].name (string) The name of the store to seed.preferPreviousState finsemble.servicesConfig.distributedStore.initialStores[].preferPreviousState (boolean Advanced App Launcher specific config to control the loading of data. If true, any changes from a previous run will be overridden and the state will be restored on every restart to the initial config provided. If true and no foundation is provided, nothing will be affected..true )visible finsemble.servicesConfig.distributedStore.visible (boolean) Set this to `true` in order to reveal the hidden service window. This can be useful for debugging services..docking finsemble.servicesConfig.docking (object) Configs specific to the docking service.ALLOW_GROUPS_TO_SNAP finsemble.servicesConfig.docking.ALLOW_GROUPS_TO_SNAP (boolean Allows groups to snap to one another..true )allowAppropriatedWindowsToGroup finsemble.servicesConfig.docking.allowAppropriatedWindowsToGroup (boolean) Allow Appropriated Windows (Freestanding Applications and windows opened with window.open) to group.alwaysOnTopLevel finsemble.servicesConfig.docking.alwaysOnTopLevel (string) The always on top level when setting components `alwaysOnTop` to true. See the Electron alwaysOnTop documentation for valid values..BUFFER_SIZE finsemble.servicesConfig.docking.BUFFER_SIZE (number The zone around a window that will cause it to snap to other windows. This value is in pixels..20 )claimSpace finsemble.servicesConfig.docking.claimSpace (object) Settings for claiming space on Desktop at the operating System level. Windows Only..alwaysOnTop finsemble.servicesConfig.docking.claimSpace.alwaysOnTop (boolean) If true, docked windows that claim space will be always on top when docked.enabled finsemble.servicesConfig.docking.claimSpace.enabled (boolean If true, docked windows will behave like the Windows Taskbar and claimed space on the operating system.true )enableWindowsAeroSnap finsemble.servicesConfig.docking.enableWindowsAeroSnap (boolean) If `true`, windows aero snap keyboard shortcuts (WINDOWS KEY + UP, RIGHT, DOWN, or LEFT arrow key) will move the current window when pressed. Windows will move the window and Finsemble will respond by updating bounds within the Window Service. If `false` (default), these actions will be cancelled by Finsemble..fillHolesOnUndock finsemble.servicesConfig.docking.fillHolesOnUndock (boolean true )(required) If set to `true`, a rectangular group will maintain its rectangularity when windows leave the group..fillHolesOnUndock If set to `true`, a rectangular group will maintain its rectangularity when windows leave the group..finsemble.servicesConfig.docking.fillHolesOnUndock enabled finsemble.servicesConfig.docking.GROUP_MODE.enabled (boolean Whether to allow windows to group to one another..true )groupTileBuffer finsemble.servicesConfig.docking.groupTileBuffer (number 30 )(required) Defines the size of the buffer in pixels wherein a dragged window will trigger a tile operation..headerHeight finsemble.servicesConfig.docking.headerHeight (number 32 )(required) This defines the height of the window title bar..headerWidth finsemble.servicesConfig.docking.headerWidth (number This defines the width of the window title bar..32 )MINIMUM_HEIGHT finsemble.servicesConfig.docking.MINIMUM_HEIGHT (number The smallest height to allow a window to shrink on resize..28 )MINIMUM_WIDTH finsemble.servicesConfig.docking.MINIMUM_WIDTH (number 98 )(required) The smallest width to allow a window to shrink on resize..preventOverlapClaimSpace finsemble.servicesConfig.docking.preventOverlapClaimSpace (boolean If a user moves a window so that it's top edge overlaps operating system claimed space (e.g. the toolbar area on MS Windows), then it will be automatically repositioned below or above the claimed space unless this value is set to `false`.true )requireRectangularityForGroupResize finsemble.servicesConfig.docking.requireRectangularityForGroupResize (boolean true )(required) If a group of windows forms a rectangle, it can be resized. By turning this to `false`, the user can resize any shaped group by grabbing a corner that is not on another window's edge..RESIZE_EVENT_THROTTLE_PERIOD finsemble.servicesConfig.docking.RESIZE_EVENT_THROTTLE_PERIOD (number) Value (in milliseconds) to throttle resize events. If you find that the quantity of resize events is causing poor performance, tweak this value until you are happy with the performance..SNAPPING_OPACITY finsemble.servicesConfig.docking.SNAPPING_OPACITY (number The opacity windows change to when other windows encroach on their buffer zone..0.8 )allowEditing finsemble.servicesConfig.docking.tabbing.allowEditing (boolean DEPRECATED - Use servicesConfig.window.allowWindowTitleRenaming.true )enabled finsemble.servicesConfig.docking.tabbing.enabled (boolean) Allows windows to tab onto each other..enabled finsemble.servicesConfig.docking.tiling.enabled (boolean) Allows windows to tile onto each other..undockDisbandsEntireGroup finsemble.servicesConfig.docking.undockDisbandsEntireGroup (boolean) (required) By default, when a user clicks the "Undock" button in the title bar, it will leave the group without destroying that group. Set this value to `true` if you would like to eliminate the group when the user clicks the "Undock" button..visible finsemble.servicesConfig.docking.visible (boolean) Set this to `true` in order to reveal the hidden service window. This can be useful for debugging services..hotkeys finsemble.servicesConfig.hotkeys (object) Hotkeys service config options.spawnAs finsemble.servicesConfig.hotkeys.spawnAs (string Valid values are:"window" )
"window" - Spawns the service as a child window of the Service Manager.
"process" - Spawns the service in its own browser process (a.k.a. application). This gives the service dedicated CPU to maximize concurrency.
"script" - Spawns the service as a script running in the Service Manager window. This minimizes memory footprint. This setting can only be used with the following services: assimilation, storage, hotkeys, linker, search and workspace.
."window"
"process"
"script"interop finsemble.servicesConfig.interop (object) Interop Service config options.addIntentListenerMaxInitializationTimeout finsemble.servicesConfig.interop.addIntentListenerMaxInitializationTimeout (number Maximum time the interop service will wait for the addIntendListener to be invoked by a component..15000 )affinity finsemble.servicesConfig.interop.affinity (string,boolean) Only applicable for `spawnAs: "window"`. When set, the service window will be given process affinity based on the string passed in. This allows aggregation of services to a specific browser process. Set to false to disable render process grouping via affinity.bootParams finsemble.servicesConfig.interop.bootParams (object) Boot parameter properties.autoStart finsemble.servicesConfig.interop.bootParams.autoStart (boolean Specifies whether to automatically start during the system manager's startup phase.true )customFailureMessage finsemble.servicesConfig.interop.bootParams.customFailureMessage (string) The custom message to output to the system log if the app fails to start.dependencies finsemble.servicesConfig.interop.bootParams.dependencies (array) Specifies other services this service relies on..stage finsemble.servicesConfig.interop.bootParams.stage (string) Specifies at which stage the app is launched.."microkernel"
"kernel"
"pre-authentication"
"authentication"
"system-preuser"
"preuser"
"preuser2"
"preuser3"
"preuser4"
"earlyuser"
"user"stopOnFailure finsemble.servicesConfig.interop.bootParams.stopOnFailure (boolean Specifies whether the app should stop if one or more of its dependencies fail to start. Only relevant to apps with dependencies. Set to false if you want the app to continue startup even if its dependencies fail..true )timeout finsemble.servicesConfig.interop.bootParams.timeout (number) The maximum time the app can take to start up. If the startup doesn't complete in this time, it's marked as a failure. If you don't specify this property, Finsemble will use the default timeout value under the manifest's 'bootConfig.startComponentTimeout' property..showDevConsoleOnVisible finsemble.servicesConfig.interop.showDevConsoleOnVisible (boolean Automatically spawns a dev console when visible is true. Note that if a service is set to type "script" then you should not use this but instead debug serviceManager.html..true )spawnAs finsemble.servicesConfig.interop.spawnAs (string Valid values are:"window" )
"window" - Spawns the service as a child window of the Service Manager.
"process" - Spawns the service in its own browser process (a.k.a. application). This gives the service dedicated CPU to maximize concurrency.
"script" - Spawns the service as a script running in the Service Manager window. This minimizes memory footprint. This setting can only be used with the following services: assimilation, storage, hotkeys, linker, search and workspace.
."window"
"process"
"script"visible finsemble.servicesConfig.interop.visible (boolean) Set this to `true` in order to reveal the hidden service window. This can be useful for debugging services..launcher finsemble.servicesConfig.launcher (object) Launcher Service config options.affinity finsemble.servicesConfig.launcher.affinity (string,boolean) Only applicable for `spawnAs: "window"`. When set, the service window will be given process affinity based on the string passed in. This allows aggregation of services to a specific browser process. Set to false to disable render process grouping via affinity.concurrentSpawnLimit finsemble.servicesConfig.launcher.concurrentSpawnLimit (number) This specifies the number of components that can be spawned concurrently during Workspace load. The default is machine's number of processor cores divided by 2. More than one window per core can potentially cause performance issues on processor-intensive components. Defaults to the machine's number of processor cores divided by 2.- minimum: 1
defaultComponentAffinity finsemble.servicesConfig.launcher.defaultComponentAffinity (string,boolean Global default render process affinity for all non-service components and applications, set to false to disable grouping of render processes via affinity. This setting can be overridden by component level config.WorkspaceComponents )defaultPreloads finsemble.servicesConfig.launcher.defaultPreloads (object) (DEPRECATED) Use finsemble.extensions.preloads instead.allComponents finsemble.servicesConfig.launcher.defaultPreloads.allComponents (array An array of URLs that will be preloaded into all components..) allComponents[] finsemble.servicesConfig.launcher.defaultPreloads.allComponents[] (string) A URL of a preload.launchableComponents finsemble.servicesConfig.launcher.defaultPreloads.launchableComponents (array An array of URLs that will be preloaded into components that are launchable by the user..) defaultServiceAffinity finsemble.servicesConfig.launcher.defaultServiceAffinity (string,boolean Global default render process affinity for all services excluding the four micro-kernel services (System Manager, Router, Logger and Config) which cannot access the config. Set to false to disable grouping of render processes for services via affinity. This setting can be overridden by service level config.Finsemble )search finsemble.servicesConfig.launcher.search (object) Allows you to control the component search built into finsemble.enabled finsemble.servicesConfig.launcher.search.enabled (boolean Set to false to disable component search..true )options finsemble.servicesConfig.launcher.search.options (object) An object containing fuse.js configuration options..spawnAs finsemble.servicesConfig.launcher.spawnAs (string Valid values are:"window" )
"window" - Spawns the service as a child window of the Service Manager.
"process" - Spawns the service in its own browser process (a.k.a. application). This gives the service dedicated CPU to maximize concurrency.
"script" - Spawns the service as a script running in the Service Manager window. This minimizes memory footprint. This setting can only be used with the following services: assimilation, storage, hotkeys, linker, search and workspace.
."window"
"process"
"script"staggerPixels finsemble.servicesConfig.launcher.staggerPixels (number 40 )(required) Set the amount of "stagger" pixels when components are launched on top of another. Staggering is like laying cards out on a table..unknownComponent finsemble.servicesConfig.launcher.unknownComponent (string "nonConfiguredComponent" )(required) This corresponds to a component's key in one of your component JSON files. Our default is the "nonConfiguredComponent". The unknown component serves as a placeholder for a component that a user loses permissions to. The unknown component will show up as a substitute to an existing component when Finsemble cannot find this component's configuration (e.g., the user no longer has access to this component). This unknown component will be saved to the workspace so that the original component will return in the future if Finsemble is able to find it..visible finsemble.servicesConfig.launcher.visible (boolean) Set this to `true` in order to reveal the hidden service window. This can be useful for debugging services..linker finsemble.servicesConfig.linker (object) Linker config options.enabled finsemble.servicesConfig.linker.enabled (boolean) Set this to `true` in order to use Linker Client on client side. Otherwise the FDC3 client will be used..spawnAs finsemble.servicesConfig.linker.spawnAs (string Valid values are:"window" )
"window" - Spawns the service as a child window of the Service Manager.
"process" - Spawns the service in its own browser process (a.k.a. application). This gives the service dedicated CPU to maximize concurrency.
"script" - Spawns the service as a script running in the Service Manager window. This minimizes memory footprint. This setting can only be used with the following services: assimilation, storage, hotkeys, linker, search and workspace.
."window"
"process"
"script"logger finsemble.servicesConfig.logger (object) Central Logger config options.affinity finsemble.servicesConfig.logger.affinity (string,boolean) Only applicable for `spawnAs: "window"`. When set, the service window will be given process affinity based on the string passed in. This allows aggregation of services to a specific browser process. Set to false to disable render process grouping via affinity..defaultClientLogLevels finsemble.servicesConfig.logger.defaultClientLogLevels (object) Sets the default logging state of each client in the Central Logger if no previous state is found.Debug finsemble.servicesConfig.logger.defaultClientLogLevels.Debug (boolean) Set to 'true' to see 'Debug' as a default client logging level.Error finsemble.servicesConfig.logger.defaultClientLogLevels.Error (boolean Set to 'true' to see 'Error' as a default client logging level.true )Info finsemble.servicesConfig.logger.defaultClientLogLevels.Info (boolean) Set to 'true' to see 'Info' as a default client logging level.LocalOnly finsemble.servicesConfig.logger.defaultClientLogLevels.LocalOnly (boolean) Set to 'true' to see 'LocalOnly' as a default client logging level.Log finsemble.servicesConfig.logger.defaultClientLogLevels.Log (boolean Set to 'true' to see 'Log' as a default client logging level.true )Verbose finsemble.servicesConfig.logger.defaultClientLogLevels.Verbose (boolean) Set to 'true' to see 'Verbose' as a default client logging level.Warn finsemble.servicesConfig.logger.defaultClientLogLevels.Warn (boolean Set 'true' to see 'Warn' as a default client logging level.true )hotkeyShowCentralLogger finsemble.servicesConfig.logger.hotkeyShowCentralLogger (array Sets the hotkey for showing the Central Logger. Leave this config out to disable the hotkey..ctrl,shift,L )logToDiskLevels finsemble.servicesConfig.logger.logToDiskLevels (array) Which logger levels should be sent from central logger to the FEA log. This can be helpful in debugging..spawnAs finsemble.servicesConfig.logger.spawnAs (string Valid values are:"window" )
"window" - Spawns the service as a child window of the Service Manager.
"process" - Spawns the service in its own browser process (a.k.a. application). This gives the service dedicated CPU to maximize concurrency.
"script" - Spawns the service as a script running in the Service Manager window. This minimizes memory footprint. This setting can only be used with the following services: assimilation, storage, hotkeys, linker, search and workspace.
."window"
"process"
"script"visible finsemble.servicesConfig.logger.visible (boolean) Set this to `true` in order to reveal the hidden service window. This can be useful for debugging services..notifications finsemble.servicesConfig.notifications (object) configs specific to the notifications service.applyNotificationOverrides finsemble.servicesConfig.notifications.applyNotificationOverrides (boolean) The applyNotificationOverrides enables Finsemble to display notifications triggered by a browser view..defaultDismissButtonText finsemble.servicesConfig.notifications.defaultDismissButtonText (string If the service needs to add dismiss actions to the button. The text will default to the value set here as a last resort. There is a hardcoded value if this not set.."Dismiss" )defaultSnoozePeriodSeconds finsemble.servicesConfig.notifications.defaultSnoozePeriodSeconds (number The default snooze period for notifications.300 )disableDotOnToolbarIcon finsemble.servicesConfig.notifications.disableDotOnToolbarIcon (boolean) Disables the dot on the toolbar notifications icon when there are unread notifications..informationalNotificationToastPeriodSeconds finsemble.servicesConfig.notifications.informationalNotificationToastPeriodSeconds (number The number of seconds a toast will show for informational notifications (Any notifications without actions).45 )maxNotificationRetentionPeriodSeconds finsemble.servicesConfig.notifications.maxNotificationRetentionPeriodSeconds (number The maximum amount of time to retain notifications in seconds.604800 )maxNotificationsToRetain finsemble.servicesConfig.notifications.maxNotificationsToRetain (number The maximum number of notifications the service should store in memory.1000 )newNotificationHaloPeriodSeconds finsemble.servicesConfig.notifications.newNotificationHaloPeriodSeconds (number The default period for new notifications halo.180 )notificationsCenterComponentType finsemble.servicesConfig.notifications.notificationsCenterComponentType (string (Experimental) This value tells the notification service which component to use as the Notification Center. This component should spawn, hide and show when clicking the notification bell.."NotificationsCenter" )proxyToWebApiFilter finsemble.servicesConfig.notifications.proxyToWebApiFilter (object,boolean) Broadcast any notifications that match this filter to the Notification Web API to appear in the OS..exclude[] finsemble.servicesConfig.notifications.proxyToWebApiFilter.exclude[] (object) For any values on a notification not already set, these default values will be set on the Notification object. All fields in here should match those in the INotification interface.include[] finsemble.servicesConfig.notifications.proxyToWebApiFilter.include[] (object) For any values on a notification not already set, these default values will be set on the Notification object. All fields in here should match those in the INotification interface.showDotOnToolbarIconForMutedNotifications finsemble.servicesConfig.notifications.showDotOnToolbarIconForMutedNotifications (boolean) Shows the new notification dot on the toolbar for muted notifications (if disableDotOnToolbarIcon is false)..spawnAs finsemble.servicesConfig.notifications.spawnAs (string Valid values are:"window" )
"window" - Spawns the service as a child window of the Service Manager.
"process" - Spawns the service in its own browser process (a.k.a. application). This gives the service dedicated CPU to maximize concurrency.
"script" - Spawns the service as a script running in the Service Manager window. This minimizes memory footprint. This setting can only be used with the following services: assimilation, storage, hotkeys, linker, search and workspace.
."window"
"process"
"script"toastTimeoutOnActionableNotifications finsemble.servicesConfig.notifications.toastTimeoutOnActionableNotifications (boolean If set to false, Actionable Notification Toasts will stay on screen until manually removed..true )types finsemble.servicesConfig.notifications.types (object) 'types' provide a way of setting default values on notifications based on the INotification.type.default 'default' is a reserved name. If there any notifications with notification.type that do not match any of the keys in the config. The values in default will be applied..finsemble.servicesConfig.notifications.types.default default finsemble.servicesConfig.notifications.types.default (object) object Type. The values inside this object will only be applied to notifications with the property 'type' set to the key value..defaultDismissButtonText finsemble.servicesConfig.notifications.types.default.defaultDismissButtonText (string Will add a dismiss action to the Notification if one is not already set.."Dismiss" )defaults finsemble.servicesConfig.notifications.types.default.defaults (object) For any values on a notification not already set, these default values will be set on the Notification object. All fields in here should match those in the INotification interface.showDismissAction finsemble.servicesConfig.notifications.types.default.showDismissAction (boolean) Add a dismiss action to the notification if one does not exists. Default set to false..types[] finsemble.servicesConfig.notifications.types[] (object) object Type. The values inside this object will only be applied to notifications with the property 'type' set to the key value..defaultDismissButtonText finsemble.servicesConfig.notifications.types[].defaultDismissButtonText (string Will add a dismiss action to the Notification if one is not already set.."Dismiss" )defaults finsemble.servicesConfig.notifications.types[].defaults (object) For any values on a notification not already set, these default values will be set on the Notification object. All fields in here should match those in the INotification interface.showDismissAction finsemble.servicesConfig.notifications.types[].showDismissAction (boolean) Add a dismiss action to the notification if one does not exists. Default set to false..search finsemble.servicesConfig.search (object) Search service config options.spawnAs finsemble.servicesConfig.search.spawnAs (string Valid values are:"window" )
"window" - Spawns the service as a child window of the Service Manager.
"process" - Spawns the service in its own browser process (a.k.a. application). This gives the service dedicated CPU to maximize concurrency.
"script" - Spawns the service as a script running in the Service Manager window. This minimizes memory footprint. This setting can only be used with the following services: assimilation, storage, hotkeys, linker, search and workspace.
."window"
"process"
"script"storage finsemble.servicesConfig.storage (object) Storage Service config options.adapterOperationTimeout finsemble.servicesConfig.storage.adapterOperationTimeout (number The timeout, in milliseconds, of each storageAdapter operation.10000 )affinity finsemble.servicesConfig.storage.affinity (string,boolean) Only applicable for `spawnAs: "window"`. When set, the service window will be given process affinity based on the string passed in. This allows aggregation of services to a specific browser process. Set to false to disable render process grouping via affinity.dataStoreAdapters finsemble.servicesConfig.storage.dataStoreAdapters (object) (required) Storage adapters that the storage service will load and can be mapped to storage topics. Each entry specifies the path (which may contain manifest macros) to built a storage adapter javascript file. See the Storing Data tutorial for details on how to build a custom adapter..{
"LocalStorageAdapter": "$applicationRoot/adapters/localStorageAdapter.js",
"IndexedDBAdapter": "$applicationRoot/adapters/indexedDBAdapter.js"
}defaultStorage finsemble.servicesConfig.storage.defaultStorage (string "IndexedDBAdapter" )(required) The default storage model to use when saving and loading data..spawnAs finsemble.servicesConfig.storage.spawnAs (string Valid values are:"window" )
"window" - Spawns the service as a child window of the Service Manager.
"process" - Spawns the service in its own browser process (a.k.a. application). This gives the service dedicated CPU to maximize concurrency.
"script" - Spawns the service as a script running in the Service Manager window. This minimizes memory footprint. This setting can only be used with the following services: assimilation, storage, hotkeys, linker, search and workspace.
."window"
"process"
"script"topicToDataStoreAdapters finsemble.servicesConfig.storage.topicToDataStoreAdapters (object) (required) Mapping of storage topic to the name of storage adapter..finsemble finsemble.servicesConfig.storage.topicToDataStoreAdapters.finsemble (string "IndexedDBAdapter" )(required) Which storage adapter to use when persisting non-workspace-related information..finsemble.notifications finsemble.servicesConfig.storage.topicToDataStoreAdapters.finsemble.notifications (string Sets the storage adapter for notification persistence."IndexedDBAdapter" )finsemble.workspace finsemble.servicesConfig.storage.topicToDataStoreAdapters.finsemble.workspace (string "IndexedDBAdapter" )(required) Which storage adapter to use when persisting workspace-related information..finsemble.workspace.cache finsemble.servicesConfig.storage.topicToDataStoreAdapters.finsemble.workspace.cache (string "IndexedDBAdapter" )(required) Which storage adapter to use when caching workspace-related information..visible finsemble.servicesConfig.storage.visible (boolean) Set this to `true` in order to reveal the hidden service window. This can be useful for debugging services..window finsemble.servicesConfig.window (object) Window Service config options.additionalWorkspaceFields finsemble.servicesConfig.window.additionalWorkspaceFields (array) Additional fields for window data that are allowed to be stored in the Workspace.allowWindowTitleRenaming finsemble.servicesConfig.window.allowWindowTitleRenaming (boolean) When set to true, allows to double-click on a window title (or tab) and rename it..ignoreFieldsForDirtyingWorkspace finsemble.servicesConfig.window.ignoreFieldsForDirtyingWorkspace (array) Changes in these fields do not cause workspaces to be dirty.spawnAs finsemble.servicesConfig.window.spawnAs (string Valid values are:"window" )
"window" - Spawns the service as a child window of the Service Manager.
"process" - Spawns the service in its own browser process (a.k.a. application). This gives the service dedicated CPU to maximize concurrency.
"script" - Spawns the service as a script running in the Service Manager window. This minimizes memory footprint. This setting can only be used with the following services: assimilation, storage, hotkeys, linker, search and workspace.
."window"
"process"
"script"workspace finsemble.servicesConfig.workspace (object) Configurations related to the workspace service..affinity finsemble.servicesConfig.workspace.affinity (string,boolean) Only applicable for `spawnAs: "window"`. When set, the service window will be given process affinity based on the string passed in. This allows aggregation of services to a specific browser process. Set to false to disable render process grouping via affinity.closeFailureNotificationMessage finsemble.servicesConfig.workspace.closeFailureNotificationMessage (string) Override the default notification message that appears to the end user when closeWorkspaceTimeout is triggered. Set to "" to stop a message from being sent..closeWorkspaceTimeout finsemble.servicesConfig.workspace.closeWorkspaceTimeout (number Number of milliseconds the workspace service should wait for all of the windows to close when switching to another workspace. Workspaces are locked until a close action completes or times out. If this timeout value is exceeded the user will be provided with a notification and an empty workspace will be loaded. Set to null for no timeout..30000 )disableDirtyShutdownCheck finsemble.servicesConfig.workspace.disableDirtyShutdownCheck (boolean) Disable the check for dirty shutdown when Workspace Service starts that causes the last active workspace to be used.discardUnsavedChanges finsemble.servicesConfig.workspace.discardUnsavedChanges (boolean) When set to `true`, unsaved workspace changes will be discarded automatically. This setting is ignored if promptUserOnDirtyWorkspace is set to true..emptyWorkspaceName finsemble.servicesConfig.workspace.emptyWorkspaceName (string Allows you to set the name of the empty workspace created if the user has no workspaces and no default workspace is configured, or a workspace switch fails.."Empty Workspace" )loadFailureNotificationMessage finsemble.servicesConfig.workspace.loadFailureNotificationMessage (string) Override the default message that appears to users in a pop-up notification when a workspace fails to load..permanentWorkspaces finsemble.servicesConfig.workspace.permanentWorkspaces (array) Allows you to declare what workspaces should not be renameable and deletable by users..persistURL A global config for component URL persistence. When true, components automatically save their last URL instead of using the one in the config. The component config will overwrite the global config..finsemble.servicesConfig.workspace.persistURL promptUserOnDirtyWorkspace finsemble.servicesConfig.workspace.promptUserOnDirtyWorkspace (boolean When set to `false`, the user's workspace automatically saves to the last configuration when switching workspaces or closing Finsemble. When set to `true`, the user is prompted to save the current workspace configuration if there are unsaved changes..true )search finsemble.servicesConfig.workspace.search (object) Allows you to control the workspace search built into finsemble.enabled finsemble.servicesConfig.workspace.search.enabled (boolean Set to false to disable workspace search..true )options finsemble.servicesConfig.workspace.search.options (object) An object containing fuse.js configuration options..spawnAs finsemble.servicesConfig.workspace.spawnAs (string Valid values are:"window" )
"window" - Spawns the service as a child window of the Service Manager.
"process" - Spawns the service in its own browser process (a.k.a. application). This gives the service dedicated CPU to maximize concurrency.
"script" - Spawns the service as a script running in the Service Manager window. This minimizes memory footprint. This setting can only be used with the following services: assimilation, storage, hotkeys, linker, search and workspace.
."window"
"process"
"script"visible finsemble.servicesConfig.workspace.visible (boolean) Set this to `true` in order to reveal the hidden service window. This can be useful for debugging services..shutdownTimeout finsemble.shutdownTimeout (number Amount of time (in milliseconds) to give services to shutdown before forcibly quitting the application. Components get 2 seconds less than services..30000 )- minimum: 10000
stackedWindow finsemble.stackedWindow (object) Configuration for tabbed and tiled windows.addReadyTimeout finsemble.stackedWindow.addReadyTimeout (number Sets the time in milliseconds for a tabbed/tiled windows to become ready..6500 )systemTrayComponent finsemble.systemTrayComponent (string) (required) .systemTrayIcon finsemble.systemTrayIcon (string) Sets the location of the system tray icon (lower right corner of the terminal).toolbarMenus finsemble.toolbarMenus (object) Optional configuration for custom launcher menus on the Finsemble Toolbar.toolbarMenus[] finsemble.toolbarMenus[] (object) toolbar menu entries provide configuration for an individual menu.applications[] finsemble.toolbarMenus[].applications[] (string) An array of application names, as defined in the appD configuration, to include in the menu.displayName finsemble.toolbarMenus[].displayName (string) The name of the menu, to be displayed on the toolbar.position finsemble.toolbarMenus[].position (number) Used to sort menus into order on the Toolbar (higher position values are displayed further to the right).waitForUpdate finsemble.waitForUpdate (boolean) When set to true, Finsemble will wait for updates, if available, to download and install, before continuing to start up the application..Window Manager finsemble.Window Manager (object) (required) Global options for the windowTitleBar. See "Window Manager" under appd.manifest for options....workspaces finsemble.workspaces (array) (required) An array of workspaces to be presented to the user the first time they start Finsemble. By default, the first workspace listed in the array will be the one first presented to an end user the first time they load their SmartDesktop..workspaces[] finsemble.workspaces[] (object) Template for config specified workspace.default finsemble.workspaces[].default (boolean) If set to true then this workspace will be the default that is loaded the first time the app is run.name finsemble.workspaces[].name (string) (required) Name of the workspace.permanent finsemble.workspaces[].permanent (boolean) If set to true then this workspace cannot be deleted or renamed by end users.Blank Template finsemble.workspaceTemplates.Blank Template (object) Template for config specified workspace.default finsemble.workspaceTemplates.Blank Template.default (boolean) If set to true then this workspace will be the default that is loaded the first time the app is run.name finsemble.workspaceTemplates.Blank Template.name (string) (required) Name of the workspace.permanent finsemble.workspaceTemplates.Blank Template.permanent (boolean) If set to true then this workspace cannot be deleted or renamed by end users.finsemble-electron-adapter finsemble-electron-adapter (object) Finsemble's Electron Adapter config (this is dynamically added to manifest).allowedBrowserProtocols finsemble-electron-adapter.allowedBrowserProtocols (array) (experimental) When calling System.openUrlWithBrowser, only URLs with `http:` and `https:` protocols are permitted for system security. Others that are needed can be added here. A `file:` protocol is a security risk and should not be added..{
"allowedBrowserProtocols": [
"http:",
"https:",
"fsbl:"
]
}allowedManifestDomains finsemble-electron-adapter.allowedManifestDomains (array) Allow the ability to specify manifest urls at run time by setting the allowed domains where the hostname matches one of the entries. Every subdomain needs an entry. Wildcards are not allowed..{
"allowedManifestDomains": [
"finsemble.com",
"cosaic.io"
]
}disableZoom finsemble-electron-adapter.disableZoom (boolean) Disable the internal electron zoom action for "Ctrl +" and "Ctrl -"..downloadUpdatesViaElectron finsemble-electron-adapter.downloadUpdatesViaElectron (boolean) Downloads the Electron/Squirrel autoUpdate packages to the local machine before checking for, and performing updates. The files are downloaded using the same proxy and headers Electron uses..env-allowlist finsemble-electron-adapter.env-allowlist (array) Adds ability to specify Finsemble manifest macros based on environment variables.{
"env-allowlist": [
"TESTVAR",
"ANOTHERVAR"
]
}ignoreCertificateErrorHosts finsemble-electron-adapter.ignoreCertificateErrorHosts (array) Certificate errors (SSL/TLS) will be ignored for these hosts or URLs. Useful when using self-signed TLS certificates..{
"ignoreCertificateErrorHosts": [
"https://github.com:80/ChartIQ",
"self-signed.badssl.com"
]
}logger finsemble-electron-adapter.logger (object) Configuration for logging of low-level events, such as window creation or network requests, from the Finsemble Electron Adapter. Log messages may be written to a rotated file at %AppData%/Roaming/Electron/logs, or output to the console. They may also be transmitted to the Finsemble Central Logger allowing them to be reviewed alongside logging from Finsemble and applications running in Finsemble..logLevel finsemble-electron-adapter.logger.logLevel (string The lowest level at which the logger will push messages to a file. Available log levels from highest to lowest are: 'error', 'warn', 'log','info', 'debug', and 'verbose'. Note: This level is set after the manifest is read by the Electron Adapter. As a result, you may see some debug messages prior to the log level being set.."debug" )"error"
"warn"
"log"
"info"
"debug"
"verbose"transmitToCentralLogger finsemble-electron-adapter.logger.transmitToCentralLogger (boolean) Set to 'false' to disable sending Electron Adapters logs in the Central Logger. The log levels transmitted are managed in the central logger UI and are independent of the log levels configured for logging to file..transports finsemble-electron-adapter.logger.transports (object) Transport level configuration..logHTTPErrors finsemble-electron-adapter.logHTTPErrors (boolean Set to false to prevent FEA logging of load failures in the 400-599 range.true )manifests finsemble-electron-adapter.manifests (object) Allow the ability to specify manifest environments at run time by adding entries for each environment.{
"manifests": {
"dev": "http://localhost:3375/configs/application/manifest-local-dev.json",
"qa": "http://localhost:3375/configs/application/manifest-local-qa.json"
}
}useDOMBasedMovement finsemble-electron-adapter.useDOMBasedMovement (boolean Set to false to use native window movement with Electron.true )removePathInSpawnExternalApps manifest.removePathInSpawnExternalApps (boolean) Set to false to allow spawning by path.splashScreenImage manifest.splashScreenImage (string URL to use for the splash screen when starting Finsemble. The URL can point to either an HTML page or SVG file. Both HTML and SVG splash screen's support transparency. Use an HTML splash screen if you want to use a .PNG image with transparent background or desire more flexibility in styling or animating your splash screen.."http://localhost:3375/assets/img/FinsembleSplash.svg" )splashScreenTimeout manifest.splashScreenTimeout (number) Amount of time (in milliseconds) to show the splash screen. The default value 0 causes the splash screen to hide in the `user` stage. This is after the UI Components have loaded and the same time that Workspace components start loading. If you set it to a negative number, you must call `FSBL.System.hideSplashScreen()` in a component when you want to hide the splash screen..startup_app manifest.startup_app (object) (required) Manifest property for the initial startup app, which reference Finsemble's System Manager..{
"startup_app": {
"name": "My App",
"url": "http://localhost:3375/finsemble/services/systemManager/systemManager.html",
"uuid": "MyAppAndOrEnvironment",
"requireHandshake": true,
"applicationIcon": "http://localhost:3375/assets/img/Finsemble_Taskbar_Icon.png"
}
}cornerRounding Specifies corner rounding for a window.manifest.startup_app.cornerRounding name manifest.startup_app.name (string) Defaults to the name of the application as specified in installer.json. This is used for certain dialogs and in the central logger. The name must be alphanumeric characters and spaces. Don't use any other characters.uuid manifest.startup_app.uuid (string Uniquely differentiates environmental instances of the same application (see server-environment-startup.json) to avoid storage conflicts. The uuid must be alphanumeric characters. Do not use spaces. The uuid is available for use in storage keys, such as those generated by the IndexedDBStorageAdapter.."Finsemble" )
appAssets
finsemble
appd
manifest
childWindowOptions
component
foreign
interop
window
authentication
bootConfig
importConfig
scheduledRestart
servicesConfig
toolbarMenus
workspaces
finsemble-electron-adapter
Further reading
For a discussion about dynamic configuration, as opposed to the static configuration described here, check out the Dynamic Configuration tutorial.