Skip to main content

Configuration Documentation

Overview​

Brief description of the configuration file purpose and scope.

Table of Contents​


Sample​

{
"application": {
"appVersionsList": "...",
"i18n": {
"defaultLocale": "en"
},
"isGeoBlocked": false,
"middleware": {
"apiKey": "...",
"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": "..."
},
"configName": "Elevate",
"featureFlags": {
"appIdGidEasterEggActive": false,
"offlineMode": false,
"searchScreen": {
"showSearchSuggestions": false
},
"web_DebugOverlayVisible": false
},
"providers": {
"analytics": {
"batchIntervalMs": 100,
"batchRetryAttempts": 3,
"batchRetryBaseMs": 500,
"clientId": "...",
"flushIntervalMinutes": 10,
"itemsPerBatch": 20,
"jarvis": {
"dataIngressClientId": "...",
"dataIngressCustomEndpoint": "https://us1.api.ws-hp.com/clienttelemetry",
"dataValveControllerClientId": "...",
"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": "...",
"footer": "...",
"menu": "...",
"onboardingScreens": "...",
"privacyNotice": "...",
"routesToPagesMappingList": "...",
"termsAndConditions": "..."
}
},
"consentManager": {
"clientId": "...",
"organization": "telvie",
"purposeUid": "...",
"requestTimeoutMs": 3000,
"stratusPurpose": "prodsupport.device.telemetry.-.hpapp"
},
"dto": {
"accedodto": {
"url": "https://elevate-mw.ocs2.ps.accedo.tv/v1"
}
},
"i18n": {
"accedoControl": {
"dictionary": "..."
}
},
"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": "..."
}
}
},
"theme": {
"accedoControl": {
"default": "...",
"kids": "..."
}
}
}
}

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

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

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

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