Manifest settings

Use a JSON-formatted manifest file to configure an application or platform for the OpenFin environment.

The OpenFin Runtime requires each application or platform to provide a JSON formatted manifest file with configuration information. This manifest file defines the visual properties of the app, its dependencies, and other deployment settings. The developer is in control of the app development process and how this file is hosted and configured. Both the openfin-cli and OpenFin RVM use a manifest file to launch applications as well as to make use of other configuration data.

Many of the properties that can be used in a manifest are defined as types in the OpenFin API. Follow links to the API reference for complete details.

Sections in this document

🚧

Required properties

Properties marked with a plus-sign (+) are required to be defined for their enclosing object.


Top-level properties
The following properties can be declared at the top level of a manifest file. Complex properties in this table link to later sections that detail their members.

PropertyTypeDescriptionDefault 
appAssetsarray of objectsDefines assets that can be used by the application, as described in appAssets properties.[]
autoShowbooleanWhether to automatically show the application's window or windows on launch.true
dialogSettingsobjectObject containing properties to customize the appearance of the RVM progress dialog, described in dialogSettings properties.null
deleteRemovedAssetsbooleanIf true: If an asset was declared in a previous version of an application manifest, but is now no longer present in the version about to be launched, then the asset is presumed unused and is removed.false
devtools_portintegerDeprecated in v23, removed in v25. A port number to use to access the Chromium development tools by navigating to the selected port.9223
licenseKeystringA licensing identifier for each customer contract. The license indicates which OpenFin features and support level a customer is covered by. If you are interested in a Community or Enterprise license, please contact us for one. If you're launching your app via the .NET Adapter, specify the license key in RuntimeOptions.LicenseKey. If you're using the Java Adapter, specify the license key in RuntimeConfiguration.setLicenseKey.""
offlineAccessbooleanWhether the application can be run without a network connection.false
overrideConfigUrlstringAn override for the location of your application manifest. The RVM renames the location of the manifest and uses the new one.""
platformobjectDefines properties for an OpenFin platform, described in Platform properties.null
runtimeobjectConfigures the OpenFin Runtime that should be used with this application. Refer to Runtime properties.null
shortcutobjectDefines a desktop shortcut for the application; refer to Shortcut propertiesnull
servicesarray of objectsDefines services that are available to this application. Each service object must have a name property and may have a manifestUrl property. Refer to Services for more information.[]
snapshotobjectDefines a snapshot that can be loaded in a platform. It has one member, "windows", which is an array of unnamed window options objectsnull
splashScreenForceDownloadbooleanWhether the RVM re-downloads the splash screen on every launch.false
splashScreenImagestringFile path or URL for an image to show while the application is starting up.""
startup_appobjectDefines properties for a "classic" (standalone) app, described in startup_app propertiesnull
supportInformation objectDefines properties to customize error messages, described supportInformation propertiesnull
{
    "splashScreenImage": "http://SERVER/image.png",
    "offlineAccess": true,
    "licenseKey": "8f5ac730-b6a4-4b11-a71c-500427190fda",
    "runtime": {
        "version": "14.78.46.23"
    },
    "startup_app": {
        "name": "MyApp",
        "uuid": "33aa9062-9eb0-4875-b819-c90f38ef03ea",
        "url": "http://localhost:8000/index.html",
        "autoShow": true,
        "defaultWidth": 500,
        "defaultHeight": 500
    }
}


appAssets properties

PropertyTypeDescriptionDefault
aliasstringName of the asset. The name is used in launchExternalProcess() to launch the asset.""
argsstringThe default command line arguments for the aforementioned target.""
mandatory booleanWhen set to true, the app fails to load if the asset cannot be downloaded. When set to false, the app continues to load if the asset cannot be downloaded.true
srcstringURL to a zip file containing the package files (executables, DLLs, etc).""
target stringSpecifies default executable to launch. This option can be overridden in launchExternalProcess.""
versionstringVersion of the package. To force new updates, increment the version.""
"appAssets": [{
    "src": "http://server/hostedApp.zip",
    "alias": "my-app",
    "version": "3.2.50.71",
    "target": "myapp.exe",
    "args": "--flag=3",
    "mandatory": true
    }, 
    {
    "src": "http://server/anotherApp.zip",
    "alias": "foo",
    "version": "0.0.0.72"
}]


dialogSettings properties

PropertyTypeDescriptionDefault
bgColorintegerThe color of the dialog. Color value is a decimal representation of a 32 bit number (A,R,G,B). For instance : FF00FF00 or 4278255360 is fully opaque green.4163183909
logostringThe logo or image in the progress dialog. The logo must be a semi-transparent PNG, 100×25 pixels.OpenFin
progressBarBgColor integerThe background color of the area where the progress bar is displayed.4278190080
progressBarFillColorintegerThe color of the progress bar.4281513430
progressBarBorderColor integerThe border color of the progress bar.4282137660
textColor integerThe color of the text displayed above the progress bar location.4293980400
"dialogSettings": {
    "logo": "http://openfin.co/wp-content/uploads/2014/11/logo.png",
    "bgColor": 4163183909,
    "textColor": 4293980400,
    "progressBarBgColor": 4278190080,
    "progressBarFillColor": 4281513430,
    "progressBarBorderColor": 4282137660
}


Platform properties

PropertyTypeDescriptionDefault
defaultWindowOptionsobjectOptions that apply by default to all platform windows. These can include any window options, plus stylesheetUrl, a string containing the path of a custom CSS file to be inject into all windows that use default options.null
defaultViewOptionsobjectView options that apply by default to all views created by the platform.null
securityPermissionsMoreInfoUrlstringURL to a page containing information about API security permissions, used in the Review Security Permissions dialog box. (Starting with RVM 6.9)"https://developers.openfin.co/of-docs/page/review-security-permissions"
viewProcessAffinityStrategystringPossible values are "same" and "different", indicating whether windows and views (with a given origin) should be created in the same process or different ones."same"

A platform object inherits, and therefore can accept, properties from the following:

The following Application options are usually specified for a platform:

PropertyTypeDescriptionDefault
uuid+stringRequired The unique universal identifier of the application; it must be unique within the set of all applications running in OpenFin Runtime.""
namestringThe name of the application. This name is used in error messages, API security dialog boxes and in the directory name in %localappdata%/OpenFin/apps/<name><hash>.""
urlstringThe URL of the application's main window."about-blank"

A platform object can also contain a permissions object, which declares the secured APIs used by the application. Refer to Declaring APIs in an application manifest for details.


Runtime properties

PropertyTypeDescriptionDefault 
version+stringSpecifies the version of the runtime the app should use. The value can be a version or a release channel. For the available values, see the versions page.""
fallbackVersionstringThe RVM will fallback to this version if it fails to retrieve the desired Runtime version, assuming this version is already installed. (RVM 2.8+)""
futureVersion stringThe RVM preloads this newer OpenFin version in preparation of an upgrade. The download occurs silently and does not interrupt the startup of your app in the current version. (RVM 3.3+)""
argumentsstringCommand line arguments to set when launching the runtime. The OpenFin Runtime supports Chromium command line switches e.g.: --disable-accelerated-compositing --enable-threaded-compositing. For a complete list of values please refer to Current Chromium Switches. ""
forceLatestbooleanIf true, forces the runtime to always get the latest runtime version before launching (prevents background installs).false
enableCacheMigration booleanIf true, then when the RVM detects that an app has upgraded its runtime version (e.g. from v8.1.0.0 -> 8.2.0.0), it will migrate Local Storage, IndexedDB, and winposCache data to the cache of the new versiontrue
"runtime": {
    "arguments": "",
    "version": "15.80.48.12",
    "fallbackVersion": "14.78.48.16",
    "futureVersion": "16.83.53.26",
    "forceLatest": true
}


Shortcut properties

PropertyTypeDescriptionDefault 
company+stringCompany name for the application shortcut.""
description stringA short description of the application shortcut. It is shown when hovering over the shortcut icon.""
diagnostics-shortcutbooleanCreates a shortcut menu-item to run your application in Diagnostics Mode. Diagnostics Mode provides you and your end-users an opportunity to recreate previously reported issues within your application and remotely deliver the runtime debug logs to OpenFin. It can also be manually triggered by adding "--diagnostics" to the command line for your application.'true' after RVM 5.2.
forcebooleanIf set to true, a desktop icon is always created on application start-up (even when user has deleted it). If set to false, a desktop icon is created on initial application launch but not created on subsequent application launches.false
icon+stringLocation for the icon image to be used when installing the application shortcut.
Note: This property must point to an .ico file.
""
namestringName of the application to display with the shortcut.""
startMenuRootFolderstringSet this value with a folder path (e.g. foo) and the RVM will create the start menu shortcut under foo/Company/App.""
targetstringLocations for where the application shortcut is added on the desktop owner's machine. Available options are "desktop", "start-menu" and "automatic-start-up".["start-menu", "desktop"]
uninstall-shortcutbooleanIf true, creates an uninstall shortcut for the apptrue
"shortcut": {
    "company": "OpenFin",
    "description": "YourApp",
    "icon": "http://cdn.openfin.co/YourApp/favicon.ico",
    "name": "YourApp",
    "target": ["desktop", "start-menu"],
    "startMenuRootFolder": "foo"
}


startup_app properties
A startup_app object can accept properties from any of the following:

A platform object can also contain a permissions object, which declares the secured APIs used by the application. Refer to Declaring APIs in an application manifest for details.

The following Application options are usually specified for a classic app:

  • uuid+: The unique universal identifier of the application; it must be unique within the set of all applications running in OpenFin Runtime.
  • name: The name of the application. This name is used in error message, permissions dialog boxes and in the directory name in %localappdata%/OpenFin/apps/. If there is a Platform properties section of the manifest, then this value is ignored in favor of the name value provided in the platform section.
  • url: The URL of the application's main window; defaults to "about-blank".

The following option can be specified to customize the dialog box that appears when a user is prompted to allow or deny security permissions to an app:

  • securityPermissionsMoreInfoUrl: A string containing a URL to be linked from "more information" in the dialog box.
    Refer to API security for more information about customizing this dialog box.
"startup_app": {
    "name": "YourApp",
    "icon": "http://cdn.openfin.co/YourApp/favicon.ico",
    "description": "YourApp",
    "url": "http://cdn.openfin.co/YourApp/",
    "uuid": "OpenfinPOC",
    "backgroundColor": "#fffff",
    "contextMenu": true,
    "contentNavigation": {
        "whitelist": ["https://openfin.co/*"]
    },
    "autoShow": true,
    "defaultWidth": 480,
    "maxWidth": 480,
    "minWidth": 480,
    "maxHeight": 50,
    "defaultHeight": 50,
    "minHeight": 50,
    "defaultTop": 50,
    "defaultLeft": 10,
    "resizable": false,
    "maximizable": false,
    "frame": false,
    "cornerRounding": {
        "width": 5,
        "height": 5,
    },
    "taskbarIconGroup": "myApp",
    "loadErrorMessage": "There was an error loading the application."
}


supportInformation properties
The following properties are used to customize the dialog box that appears when an application fails to load, that is, the app load error dialog. Note that if the application's manifest itself cannot be reached, the app load error dialog uses default values for these settings.

PropertyTypeDescriptionDefault 
company+stringDisplays the company name in the title bar for the app load error dialog.""
email+ stringThe email address displayed in the app load error dialog. This address is also used to send logs when the user clicks Report Error in that dialog."[email protected]"
enableErrorReportingbooleanTo disable the error reporting feature, set this value to false.true
forwardErrorReportsbooleanWhen set to true, prompts end users with a dialog when a deployment error occurs from within the RVM and enables them send along log files from their machine. Error reports are delivered to the email address set in the email property.false
moreInfoUrlstringURL that is linked from "troubleshooting steps" in the app load error dialog.If this is not specified, the line containing the link is suppressed: "For help, visit troubleshooting steps."
product+stringDisplays the product name or application name in the app load error dialog .""
"supportInformation" : {
    "company": "Company Name",
    "product": "Product Name",
    "email": "[email protected]",
    "forwardErrorReports": true,
    "moreInfoUrl": "https://example.com/troubleshooting"
}

Have questions? Get in touch with us at [email protected].


Related topics