Configuration Documentation
Overview
Brief description of the configuration file purpose and scope.
Table of Contents
Sample
{
"application": {
"appVersionsList": "6865c2dba0e8450016648394",
"i18n": {
"defaultLocale": "en"
},
"isGeoBlocked": false,
"middleware": {
"apiKey": "0PagrtUaG4pTge2GbHhH8s93ZoKdBN7v",
"baseUrl": "https://telvie-middleware.oc.hp.com"
},
"multitasking": {
"coldStartTimeoutMs": 3600000,
"refreshTimeoutMs": 3600
},
"navigation": {
"defaultRoute": "/"
},
"player": {
"bookmarkUpdateIntervalMs": 1500
},
"search": {
"notFoundResults": "https://hp-ovp-mw.apps.ps.accedo.tv/v1/ovp/channels?pageSize=5&pageNumber=1&sortBy=platformPriority",
"numberOfMaximumStoredSearchResults": 10,
"numberOfPreviousSearchesItems": 3,
"searchTriggerChars": 3,
"timeoutMilliseconds": 2000
},
"settings": {
"about": {
"content": "The current version of the app is {{appVersion}}",
"title": "About"
},
"help": {
"helpContactUs": "0Qhgx6j-Ckecd9Sw-rUU",
"helpQa": "..."
},
"privacy": {
"content": "To read HP’s privacy policy visit this link:",
"links": "[\"https://hp.com/privacy\"]",
"title": "HP TV+ Privacy Disclosure"
},
"terms": {
"content": "",
"links": "",
"title": "Terms & Conditions"
}
},
"theme": {
"default": "default"
}
},
"catalogs": {
"contentCategoriesOvpList": "6836d39ea0e8450018a473b8"
},
"configName": "Elevate",
"featureFlags": {
"appIdGidEasterEggActive": false,
"offlineMode": false,
"searchScreen": {
"showSearchSuggestions": false
},
"web_DebugOverlayVisible": false
},
"providers": {
"analytics": {
"batchIntervalMs": 100,
"batchRetryAttempts": 3,
"batchRetryBaseMs": 500,
"clientId": "waTtnBWSh9JasJi3mKx1OkBzjOokh3Q1",
"flushIntervalMinutes": 10,
"itemsPerBatch": 20,
"jarvis": {
"dataIngressClientId": "gGaZ4OA3phnE7CERHr7hlLibcCG45DqX",
"dataIngressCustomEndpoint": "https://us1.api.ws-hp.com/clienttelemetry",
"dataValveControllerClientId": "RfoCGODwhRlDr0YYZdBt8ZBGinuBwjTq",
"dataValveCustomEndpoint": "https://us1.api.ws-hp.com/clientdatavalvecontroller",
"telemetryStack": "production",
"valveControllerStack": "production"
},
"jitterRatio": 0.25,
"telemetryEndpoint": "https://us1.api.ws-hp.com/clienttelemetry/v3/telemetry/client"
},
"cms": {
"accedoControl": {
"epgConfig": "6849b34623eec6001626d193",
"footer": "6836d3a0a6f5470018147e69",
"menu": "6836d3ab23eec6001961b7ed",
"onboardingScreens": "68ae42a9a0e8450016310c0b",
"privacyNotice": "68bfb5eda0e8450016ada382",
"routesToPagesMappingList": "6836d3b029fbc80019ddc590",
"termsAndConditions": "68bfb88223eec60017305068"
}
},
"consentManager": {
"clientId": "DsIUlrNabWogvzjNbAL6WLo7T19pfZDB",
"organization": "telvie",
"purposeUid": "vaa53r30elh7ugonqr6ny8lqh7yqaguequysyjdpfq",
"requestTimeoutMs": 3000,
"stratusPurpose": "prodsupport.device.telemetry.-.hpapp"
},
"dto": {
"accedodto": {
"url": "https://elevate-mw.ocs2.ps.accedo.tv/v1"
}
},
"i18n": {
"accedoControl": {
"dictionary": "6836d365a6f5470018146e7b"
}
},
"idp": {
"accedoOvp": {
"url": "https://ovp-api2.ocs2.ps.accedo.tv"
},
"serviceCore": {}
},
"integrityCheck": "https://hp-ovp-mw.apps.ps.accedo.tv/v1/client-app/check",
"ovp": {
"accedoOvp": {
"pageSize": 25,
"url": "/v1/ovp"
},
"brightcove": {
"policykey": {
"mw": "BCpkADawqM33Dp6XVrYfpoqBYjBLEtMCazaqrYdSizV1yqqVgy4krFEPQjEI1xK3ob-Yq9K4qKwFLUgmHe4L2YCas5rs4QTmVU8HrZk_MxUdmyYAy-VMia1Dlyz6B-ik7iWfCqABEFcvfZ-QuKUtGFHbOBdgK7O6CG9Gqg"
}
}
},
"theme": {
"accedoControl": {
"default": "6836d394a6f5470018147ddb",
"kids": "6836d394a6f5470018147ddb"
}
}
}
}
Application
App Versions List
Key: application.appVersionsList
Type: String
Description: The id of the entry when the list of electron versions are listed. Each version is an entry itself, and contains all valid checksums. More information on checksums can be found in Integrity.
i18n (Internationalization)
Default Locale
Key: application.i18n.defaultLocale
Type: String
Description: The default locale in the app. Currently, the app only supports English.
Geo Blocking
Key: application.isGeoBlocked
Type: Boolean
Description: Boolean value that determines if the profile is geoblocked. For each env profile (dev, staging, production), there is a geo-blocked counterpart where this flag is set to true. Users outside the supported countries will load these profiles, and trigger a geo-blocked error within the app.
Middleware
API Key
Key: application.middleware.apiKey
Type: String
Description: API Key needed for the middleware’s requests
Base URL
Key: application.middleware.baseUrl
Type: String
Description: Base url for the middleware’s request. This value determines which MW environment this profile will use.
Multitasking
This section was inherited from Assemble, and is not in use
Navigation
Default Route
Key: application.navigation.defaultRoute
Type: String
Description: Determines the initial route of the application.
Player
Bookmark Update Interval
Key: application.player.bookmarkUpdateIntervalMs
Type: Number (milliseconds)
Description: This value was inherited from Assemble, and is not in use
Search
Not Found Results URL
Key: application.search.notFoundResults
Type: String (URL)
Description: Determines the MW request to invoke when no results are found in the user’s query.
Maximum Stored Search Results
Key: application.search.numberOfMaximumStoredSearchResults
Type: Number
Description: Max number of results stored in local storage
Previous Searches Items
Key: application.search.numberOfPreviousSearchesItems
Type: Number
Description: Number of previous queries displayed to the user
Search Trigger Characters
Key: application.search.searchTriggerChars
Type: Number
Description: Number of characters needed in the query to trigger a search request
Timeout
Key: application.search.timeoutMilliseconds
Type: Number (milliseconds)
Description: Debounce value needed after typing to trigger a search request
Settings
About
Title: application.settings.about.title
Content: application.settings.about.content
Description: Text content on the About page within the app
Help
Contact Us: application.settings.help.helpContactUs
Q&A: application.settings.help.helpQa
Description: Content on the About page within the app. This is a JSON format, as the Help page is displayed in a collapsable UI of questions & answers.
Privacy
Title: application.settings.privacy.title
Content: application.settings.privacy.content
Links: application.settings.privacy.links
Description: Title & bottom content of the Privacy page. The main content is set in a separated entry.
Terms & Conditions
Title: application.settings.terms.title
Content: application.settings.terms.content
Links: application.settings.terms.links
Description: Title & bottom content of the Privacy page. The main content is set in a separated entry.
Theme
Default Theme
Key: application.theme.default
Type: String
Description: App’s default theme. This value was inherited from Assemble, and is not in use
Catalogs
Content Categories OVP List
Key: catalogs.contentCategoriesOvpList
Type: String
Description: This value was inherited from Assemble, and is not in use
Config Metadata
Config Name
Key: configName
Type: String
Description: This value was inherited from Assemble, and is not in use
Feature Flags
App ID/GID Easter Egg
Key: featureFlags.appIdGidEasterEggActive
Type: Boolean
Description: Enable easter egg in appIdGid.
Offline Mode
Key: featureFlags.offlineMode
Type: Boolean
Description: This value was inherited from Assemble, and is not in use
Search Screen
Show Search Suggestions
Key: featureFlags.searchScreen.showSearchSuggestions
Type: Boolean
Description: Determines if search suggestions should be displayed
Debug Overlay (Web)
Key: featureFlags.web_DebugOverlayVisible
Type: Boolean
Description: This value was inherited from Assemble, and is not in use. See Debug
Providers
Analytics
From the analytics configuration section, only Jarvis is being used.
Jarvis Configuration
Data Ingress Client ID: providers.analytics.jarvis.dataIngressClientId
Data Ingress Endpoint: providers.analytics.jarvis.dataIngressCustomEndpoint
Data Valve Controller Client ID: providers.analytics.jarvis.dataValveControllerClientId
Data Valve Endpoint: providers.analytics.jarvis.dataValveCustomEndpoint
Telemetry Stack: providers.analytics.jarvis.telemetryStack
Valve Controller Stack: providers.analytics.jarvis.valveControllerStack
Description: This is the configuration used by Jarvis to initialize. Both Client ids are determined by the environment. For more information, see Analytics
CMS (Content Management System)
Accedo Control
EPG Config: providers.cms.accedoControl.epgConfig
Footer: providers.cms.accedoControl.footer
Menu: providers.cms.accedoControl.menu
Onboarding Screens: providers.cms.accedoControl.onboardingScreens
Privacy Notice: providers.cms.accedoControl.privacyNotice
Routes to Pages Mapping: providers.cms.accedoControl.routesToPagesMappingList
Terms and Conditions: providers.cms.accedoControl.termsAndConditions
Description: These point to entries of sections of the app, and control the UI displayed
Consent Manager
Client ID: providers.consentManager.clientId
Organization: providers.consentManager.organization
Purpose UID: providers.consentManager.purposeUid
Request Timeout: providers.consentManager.requestTimeoutMs
Stratus Purpose: providers.consentManager.stratusPurpose
Description: Controls the configuration for User Consent.
DTO (Data Transfer Object)
Accedo DTO
URL: providers.dto.accedodto.url
Description: This value was inherited from Assemble, and is not in use
i18n (Internationalization)
Accedo Control
Dictionary: providers.i18n.accedoControl.dictionary
Description: This value was inherited from Assemble, and is not in use
IDP (Identity Provider)
Accedo OVP
This section was inherited from Assemble, and is not in use
Integrity Check
Key: providers.integrityCheck
Type: String (URL)
Description: This value is no longer in user
OVP (Online Video Platform)
Accedo OVP
Page Size: providers.ovp.accedoOvp.pageSize
URL: providers.ovp.accedoOvp.url
Description: This value was inherited from Assemble, and is not in use
Brightcove
Policy Key (Middleware): providers.ovp.brightcove.policykey.mw
Description: This value was inherited from Assemble, and is not in use
Theme
Accedo Control
Default: providers.theme.accedoControl.default
Kids: providers.theme.accedoControl.kids
Description: This value was inherited from Assemble, and is not in use