Purpose

This guide is intended for deployment teams to configure and host the release package of Desktop-ION for browser on a webserver.

Product compatibility

Product

Compatibility

ION-Desktop_18.Q3.3.0.18264_210.zip

  • Chrome browser version 65 and above on Windows/Mac
  • Open TV Platform version OPF 3.x

Pre-requisites

  1. A web server to host the application
  2. A tool to unzip the release
  3. OpenTV Platform OPF 3.x instance details  

Mixed content

The application uses HTTPS by default. This means that any HTTP resources will be blocked. Make sure that all components (licence/key server, OPF 3.x platform, and content delivery URLs) use HTTPS.

If HTTP content is used, the user will have to explicitly allow insecure content by clicking the shield icon to the right of the address bar and clicking Load unsafe scripts:



Application release package structure

├── VideoJS.eot
├── bundle.js
├── custom
│   ├── config
│   │   └── platform.json
│   ├── css
│   │   └── style.css
│   └── images
│       ├── background.jpg
│       └── ion-logo.png
├── dummy-QR.svg
├── glyphicons-halflings-regular.eot
├── glyphicons-halflings-regular.svg
├── index.html
├── init.js
└── slick.eot

The purpose of these files is as follows:

  • custom – folder contains branding and configuration files
  • index.html – main launch point of the application
  • bundle.js – bundled JavaScript files 
  • init.js configuration initialisation
  • *.svg – icons
  • *.eot – bundled font files

Configuring Desktop-ION

Desktop-ION currently provides two type of configurable options.

  1. Feature configuration changes
  2. Branding asset changes
Before you can do either of these, you must extract the release package zip file into a folder. 

Change the feature configuration

To change the feature configuration, edit the custom/config/platform.json configuration file. This consists of key-value pairs. The meanings of these are as follows:

  • baseUrl – the hosted Platform instance URL. For example, https://api.preinteg.otv-se.com.

    For playing mixed content (clear and encrypted), the base URL must use HTTPS.

  • deviceTypes – this is used to filter the services and events for specific device types. Currently only Chrome is supported.
  • localFilter – this is used to filter the services and events specific to a local language. Allowed values: en_GB, fr_FR, and es_ES.
  • sspContentAuth – the DRM system configuration:​
    • Prefix – the prefix path is used to get the access token for encrypted content from the platform.
    • licenseServer – the URI of the licence server that the Player interacts with to play encrypted content.
    • tenantId – the licence server tenant ID.
    • System: the DRM system type, one of: nagra-ssp, nagra-conax, or nagra-ssp-fps. By default, it is configured to nagra-ssp.
  • transcoderDetails – the application supports two types of transcoder:
    • Broadpeak – this is the default To disable it, change the value of the isBroadPeakEnabled variable to false.
    • ​VOS360

Change branding assets

The following branding assets can be changed:

  • Brand logo – the application uses a brand logo of 100x100 pixels in PNG format and expects to find it at custom/images/ion-logo.png. To change the logo, which is displayed at the top left of the interface, replace this file with your own PNG of the same dimensions.. You can also make changes to the following CSS properties the :root rule in custom/css/style.css :
    • --custom-app-logo – path to the logo, in url('<path>') format
    • --custom-logo-width – width of the logo image (e.g., 100px)
    • --custom-logo-height – height of the logo image (e.g., 100px)
  • Background image – the application expects to find the background image that it uses at custom/images/background.jpg. To change the background image, replace this file with your own 1920x1080 pixel image in JPEG format.
    Alternatively, change the value of the --custom-bg-url property in the :root rule in custom/css/style.css to point to a different image file.

Installing the application on the webserver

The details of the installation vary depending on whether Apache or NGINX is used. These are explained in the following sections.

Installing on Apache running on Ubuntu Linux

Pre-requisites

  • A regular, non-root user with sudo privileges configured on the server
  • A basic firewall configured to block non-essential ports

Install Apache

If you do not already have Apache installed, install it from the default Ubuntu package repository:

  1. Update the local package index to reflect the latest upstream changes. Type:
    sudo apt-get update
  2. Install Apache. Type: 
    sudo apt-get install apache2

After you confirm the installation, apt-get installs Apache and all required dependencies.

Configure the firewall

During installation, Apache registers itself with UFW to provide a few application profiles. We can use these profiles to simplify the process of enabling or disabling access to Apache through our firewall, as follows:

  1. List the UFW application profiles by typing:
    sudo ufw app list
    This lists the application profiles, including three for Apache:
    • Apache – opens only port 80 (normal, unencrypted web traffic)
    • Apache Full – opens both port 80 (normal, unencrypted web traffic) and port 443 (TLS/SSL encrypted traffic)
    • Apache Secure – opens only port 443 (TLS/SSL encrypted traffic)
  2. ​Enable the Apache Full profile to allow both normal and encrypted traffic. Type
    sudo ufw allow 'Apache Full'
  3. Restart the firewall to apply the change. Type:
    sudo ufw disable
    sudo ufw enable
  4. Check that the change was applied. Type:
    sudo ufw status
  5. Check that Apache is running. Type:
    $ sudo systemctl status apache2
  6. Make sure that Apache is running. In a browser, navigate to the IP address or hostname of the web server. You should see the default Apache web page.

Set up Desktop-ION

  1. Copy the files that you prepared in Configuring Desktop-ION, above, into /var/www/html. Make sure that index.html is at the root of the /var/www/html directory.
  2. Open Chrome to the IP address or hostname of the web server – you should see the Desktop-ION login page.

Installing on NGINX running on Ubuntu Linux

Pre-requisites

  • A regular, non-root user with sudo privileges configured on the server
  • A basic firewall configured to block non-essential ports

Install NGINX

If you do not already have NGINX installed, install it from the default Ubuntu package repository:

  1. Update the local package index to reflect the latest upstream changes. Type:
    sudo apt-get update
  2. Install NGINX. Type:
    sudo apt-get install nginx

After you confirm the installation, apt-get installs Apache and all required dependencies.

Configure the firewall

During installation, NGINX registers itself with UFW to provide a few application profiles. We can use these profiles to simplify the process of enabling or disabling access to NGINX through our firewall, as follows:

  1. List the UFW application profiles by typing:
    sudo ufw app list
    This lists the application profiles, including three for NGINX:
    • Nginx HTTP – opens only port 80 (normal, unencrypted web traffic)
    • Nginx Full – opens both port 80 (normal, unencrypted web traffic) and port 443 (TLS/SSL encrypted traffic)
    • Nginx HTTPS – opens only port 443 (TLS/SSL encrypted traffic)
  2. ​Enable the Nginx Full profile to allow both normal and encrypted traffic. Type:
    sudo ufw allow 'Nginx Full'
  3. Restart the firewall to apply the change. Type:
    sudo ufw disable
    sudo ufw enable
  4. Check that the change was applied. Type:
    sudo ufw status
  5. Check that NGINX is running. Type:
    sudo systemctl status nginx
  6. Make sure that NGINX is running. In a browser, navigate to the IP address or hostname of the web server. You should see the default NGINX web page.

Set up Desktop-ION

  1. Copy the files that you prepared in Configuring Desktop-ION, above, into /var/www/html. Make sure that index.html is at the root of the /var/www/html directory.
  2. Open Chrome to the IP address or hostname of the web server – you should see the Desktop-ION login page.