Desktop Owner Settings

Overview

The DesktopOwnerSettings file allows Desktop Owners to set most global desktop settings in an easy-to-update, remote JSON file as opposed to setting them in the registry. The global desktop settings that can be set are:

  • Allowed applications
  • Custom URLs (assetsUrl, lrsUrl, etc.)
  • Network settings
  • Shortcut settings
  • Other settings

When the OpenFin RVM launches, it parses the DesktopOwnerSettings file and overrides any equivalent registry settings, such as assetsUrl or lrsUrl, with the settings specified in the DesktopOwnerSettings file. RVM versions 5.3 and up will cache the settings in the RVM install directory.

Allowed applications example

The DesktopOwnerSettings file allows the OpenFin RVM to allow applications listed in the “whitelist” key. An application can be allowed by listing its Client ID (same as the licenseKey) as well its an App UUID or App Config Domain. If it is listed, the application launches. If it is not listed, a “distributionEmail” field in the DesktopOwnerSettings file is available to specify a distribution list for end-users to reach out to when a disallowed OpenFin applications fails to launch. In this case, a dialog is displayed to the end-user notifying them to contact the designated list to grant permission to the application.

The following registry key is used to specify the DesktopOwnerSettings file:

Key: HKEY_CURRENT_USER\Software\OpenFin\RVM\Settings\DesktopOwnerSettings
Type: String
Value: http://website.com/company/files/Desktop_Owner_Settings.json
{

    "desktopSettings": {
        "assetsUrl": "http://localhost:8000/",
        "lrsUrl": "http://localhost:8000/services",
        "cleanUnusedRuntimes": true,
        "unusedRuntimeExpirationInMinutes": "43200",
        "enableDesktopShortcut": true,
        "enableStartMenuShortcut": true,
        "enableStartupShortcut": true,
        "disableShortcutCreation": false,
        "startMenuRootFolder": "CompanyName",

        "network": {
            "readTimeout": 10,
            "sendTimeout": 10,
            "receiveTimeout": 10,
            "connectTimeout": 10
        },

        "deployment": {
            "runtimeCache": "C:\\custom\\runtime\\cache\\dir",
            "runtimeDirectory": "C:\\custom\runtime\\dir",
            "rvmInstallDirectory": "C:\\custom\\dir"
        },

        "applicationLogging": {
            "maxAppLogFileSizeMB": 10000,
            "maxAppLogFiles": 10
        }
    },
    "whitelist": {
        "distributionEmail": "[email protected]",
        "allowedRVMVersions": ["4.4.0.13"],
        "allowed": [{
                "name": "company_name",
                "clientId": "company_name_client_id"
            },
            {
                "name": "company_name",
                "clientId": "OpenFin_special_assigned_id",
                "appUuids": [
                    "app_1",
                    "app_2",
                    "app_3"
                ]
            },
            {
                "name": "company_name",
                "clientId": "company_name_special_assigned_id",
                "appUuids": [
                    "app_1"
                ],
                "appRuntimes": [
                    "1.2.3.4", "5.6.7.8"
                ],
                "appConfigDomains": [
                    "www.company1.com", "www.company2.com"
                ],
                "appSecuritySettings": {
                    "system": {
                        "Clipboard": {
                            "readAccess": true
                        },
                        "launchExternalProcess": true
                    }
                }
            }
        ]
    }
}

Example properties defined


Did this page help you?