сайт it специалиста белонина сергея станиславовича

Вариант отображения времени начала и конца передачи в инфобаре

Название опции: infobar_time_display_mode, тип данных: string.

Позволяет изменить вариант отображения времени начала и конца передачи в инфобаре в режиме архива или остановленного на паузу Live TV.

Возможные значения:

  • by_epg — время в инфобаре отображается согласно программе передач (по умолчанию).
  • by_duration — время начала передачи устанавливается 00:00, а время конца устанавливается равным длительности передачи.

Пример:

var CLIENT_SETTINGS = {
  // …
  'infobar_time_display_mode': "by_epg"
};

D-link

Вопрос:

 Настройка управления ТД через WDS соединение на примере DWC-1000 и DWL-3600AP/DWL-6600AP


Ответ: 

Данный пример настройки управления точками доступа удобен, когда ТД расположены на открытом воздухе, где проводное подключение к сети передачи данных недоступна, или в удаленных зданиях, которые не подключены к главному корпусу проводным соединением. 

Группа WDS AP состоит из двух типов ТД: Root AP и Satellite AP. Root AP выступает в качестве моста или повторителя беспроводной среды передачи данных и осуществляет связь с контроллером по проводной линии связи. Satellite AP обменивается данными с контроллером через WDS соединение с Root AP. WDS мост может быть защищен с помощью аутентификации WPA2 Personal AES шифрование. Когда AP находится в управляемом режиме, удаленный доступ к ней отсутствует. Тем не менее, вы можете разрешить доступ через Telnet, включив функцию отладки (режим debug) на странице Managed AP List Settings. 

Функция «Управление ТД по WDS» в рамках единой системы доступа к проводной и беспроводной сети имеет следующие особенности: 

  • Беспроводная система может содержать до 12 WDS-управляемых групп АР;
  • Каждая управляемая по WDS группа может содержать до четырех ТД;
  • ТД может быть состоять только в одной группе ТД управляемых по WDS;
  • Каждая Satellite AP может иметь только один WDS Link. Это означает, что Satellite AP должен быть подключен к Root AP. Satellite AP не может быть подключен к другой Satellite AP. По умолчанию, ТД настроена как Root AP. Для беспроводного подключения ТД должна быть в режиме Satellite, для этого необходимо, чтобы точка находилась в режиме stand-alone режиме;
  • Режим Satellite AP. Данный режим позволяет обнаружить и установить связь по WDS с Root AP;
  • Т.к., WDS соединение защищено аутентификацией WPA2 Personal, то для подключения по WDS требуется пароль, который необходимо ввести вручную на Satellite AP, Root AP получает данный пароль с контроллера;
  • Беспроводной канал связи. Точки доступа на каждом конце соединения WDS должны использовать один и тот же радиоканал для осуществления связи. Для Root AP канал задается вручную при добавлении ТД в разделе Valid AP на контроллере;
  • При желании, можно обеспечить доступ к Satellite AP по порту Ethernet, для этого необходимо включить опцию WDS Managed Ethernet Port. По умолчанию эта опция отключена.

В приведенной топологии: 

  • ТД  работают под управлением контроллера DWC-1000;
  • Между DWL-6600AP организован WDS в диапазоне 5ГГц, а между DWL-3600AP и DWL-6600AP в диапазоне 2.4ГГц;
  • Порты Ethernet удаленных точек можно использовать для подключения кабельных клиентов (например, через коммутатор).

Приведем пример настроек для реализации данной схемы.

1. Настройка удаленных ТД DWL-6600AP и DWL-3600AP

Для начала необходимо настроить удаленные точки беспроводного доступа (Satellite AP). Данная настройка осуществляется в автономном режиме ТД (stand-alone mode). Первичную настройку точки будем выполнять через консольный порт с помощью CLI, но также можно и через web-интерфейс.

Команды для настройки:

Задать IP-адрес и маску для ТД статически: 

set management static-ip 192.168.14.203 static-mask 255.255.255.0

Задать адрес шлюза:

set static-ip-route gateway 192.168.14.100

Сделать запрет получения IP-адреса по DHCP:

set management dhcp-status down

Сохранить настройки:

save-running

Аналогичным образом настройте вторую «отдаленную» ТД.

Остальные настройки «удаленных» ТД (Satellite AP) будем производить с помощью web-интерфейса. Для этого необходимо подключить компьютер к ТД или поместить в одну сеть с точкой и зайти на её интерфейс по адресу заданному ранее.

Здесь нам необходимо проверить и запомнить МАС-адрес ТД, он нам пригодится при дальнейшей настройке.

Далее перейдите на вкладку Manage > Managed Access Point

В данном разделе:

  • Для WDS Managed Mode выберите Satellite AP:
  • Для WDS Managed Ethernet Port выберите Enabled;
  • В поле WDS Group Password введите пароль для группы WDS

Для того, чтобы применить изменения нажмите «Apply»

Перейдите на страницу Manage > Radio

В данном разделе:

  • Необходимо выбрать радиодиапазон, в котором ТД будет подключаться по WDS к корневой точке (Root AP). В данном примере выбрано Radio = 1 — диапазон 5 Ггц и дополнительно задано использование только стандарта IEEE 802.11n;
  • Выберите беспроводной канал, в котором ТД будут подключаться по WDS (в кач-ве примера был выбран Channel = 36). Для DWL-3600AP выбирается канал в диапазоне 2.4Ггц (необходимо запомнить какой канал был выбран — пригодится при настройке Root AP).

По окончанию всех настроек нажмите «Apply»

На этом шаге настройки «удаленных» точек доступа (Satellite AP) завершены и можно выйти с web-интерфейса.

Стоит обратить внимание на то, что все настройки «ближней» точки (Root AP) будут выполняться непосредственно с самого контроллера. В режиме stand-alone (автономный режим) никаких настроек производить не нужно.

2. Настройка управления точками с помощью контроллера

Зайдите на интерфейс контроллера и перейдите в раздел Status> Access Point > Authentication Failed 

В данном разделе отображаются ТД, которые были обнаружены контроллером. В нашем случае — это «ближняя» (Root AP) DWL-6600AP подключенная по LAN  в сеть. Как видно из скриншота выше, ТД еще не под управлением контроллера и имеет состояние «No Database Entry». Данную точку необходимо перевести в режим Manage.

На данной странице:

  • Выберите AP Mode = Managed;
  • В поле Location (опционально) можно ввести удобное для Вас название для определения месторасположения ТД или её идентификации; 
  • Также, необходимо выбрать для этой точки такие же параметры беспроводного мостового соединения, который были выбраны для «удаленных» ТД (в нашем примере был выбран Channel = 36);
  • Выберите профиль, который уже заранее создан на контроллере DWC-1000 для работы с ТД DWL-6600AP.

Для того, чтобы сохранить выполненные настройки нажмите «Save». 

Далее, нужно убедиться, что точка перешла в режим «managed». Данная информация отображается в разделе Wireless > Discovered Ap List

Через несколько минут должны увидеть, что статус «ближней» точки доступа (в нашем примере с MAC-адресом 90:94:E4:8A:12:00) изменился на «Managed». Более того, с помощью данной точки доступа контроллер DWC-1000 просканировал радио-окружение. В частности, ему стало известно о «удаленных» ТД (в нашем примере с MAC-адресами FC:75:16:75:C7:C0 (Satellite AP DWL-6600) и 28:10:7B:FC:9D:E0 (Satellite AP DWL-3600), которые пока имеют статус «Rogue».

Теперь перейдем на страницу Wirelles > Access Point > Managed Aps List > Valid APs. Откроется окно со списком валидных для контроллера точек доступа.

В списке «List of Valid Aps» видим МАС-адрес «ближней» ТД. Теперь нам необходимо добавить в этот список удаленные точки доступа (DWL-6600AP и DWL-3600AP), для этого нажмите кнопку «Add New Valid AP»

На этой странице:

  • Выбираем AP Mode = Managed;

  • Вводим (опционально) Location = DWL-6600AP_Satellite AP;

  • Выбираем для этой точки уже заранее определенные параметры беспроводного моста (WDS), в нашем примере выбран Channel = 36);

Стоит отметить, что параметр Channel должен обязательно совпадать для «ближней» и «удаленной» точек доступа, чтобы они могли установить между собой соединение в режиме WDS. Аналогичным образом производим настройку DWL-3600AP.

После того, как добавили точки – «Save»

Создайте WDS группу, для этого перейдите в раздел Wireless > Access Point > WDS Groups,

нажмите кнопку «Add New WDS Group» и в открывшемся окне 

задайте наименование WDS группы в поле «WDS Group Name» (до 32 символов) и установите переключатель в поле «Edit Password» в положение «ON» для возможности ввода пароля в строке «WDS Group Password», который мы задавали ранее при настройке удаленных точек (см. 1 пункт), нажмите «Save».

В созданную нами WDS группу добавьте точки доступа, для этого перейдите в соседний раздел Wireless > Access Point > WDS Groups > WDS Managed AP, нажмите кнопку «Add New WDS Managed AP». В появившемся окне:

  • В поле «Valid AP MAC Address» из перечня «валидных» МАС-адресов выбираем адрес «ближней» ТД;
  • В поле «Hardware Type String» из перечня аппаратных платформ выберите ту, что отвечает требованиям наших точек (в этом примере – «DWL-6600AP Dual Radio a/b/g/n»).
  • Нажмите «Save».

Аналогичным образом проделываем тоже самое и с «удаленными» точками доступа.

После того, как добавили точки в группу WDS необходимо установить между ними WDS Link, перейдите в Wirelless > Access Point > WDS Groups > WDS AP Link.

Для добавления информации о беспроводном мостовом соединении нажмите кнопку «Add new WDS AP Link», далее откроется страница «WDS AP Link Configuration».

На данной странице:

  • В поле «Source AP MAC Address» введем МАС-адрес «ближней» точки (Root AP);
  • В поле «Destination AP MAC Address» введите МАС-адрес «удаленной» ТД (Satellite AP);
  • В полях «Source AP Radio» и «Destination AP Radio» введите Radio = 1, это соответствует диапазону 5Ггц, а при добавлении информации о DWL-3600AP введите Radio = 2. 
  • Нажмите «Save».

Примените конфигурацию для Вашей WDS группы, перейдите в раздел WDS Groups, нажмите правой кнопкой мыши на созданный конфиг и в контекстном меню выберите «Push config» тем самым применив все текущие изменения.

На этом процедура настройки режима WDS на ТД под управлением контроллера DWC-1000 в нашем примере завершено.

Заметим, что сам процесс установления такого мостового соединения между точками беспроводного доступа требует определенного времени (до 5-7мин).

Информацию о состоянии WDS соединения можно просматривать в разделе Status > Wireless Information > WDS Groups Status 

Автоматическое воспроизведение последнего просматриваемого канала при запуске

Название опции: auto_launch_last_viewed_channel, тип данных: bool.

Возможные значения:

  • true — воспроизводить последний канал автоматически при старте приложения.
  • false — отобразить главный экран (по умолчанию).

Абонент может также влиять на это значение с помощью изменения настройки «Воспроизводить последний просматриваемый канал» в меню настроек. Эта опция задает значение по умолчанию.

Пример:

var CLIENT_SETTINGS = {
  // …
  'auto_launch_last_viewed_channel': false
};

Акцепт правовых документов без подтверждения

Название опции: accept_legal_document_without_confirm, тип данных: bool.

Возможные значения:

  • true — правовой документ акцептуется в одно нажатие без показа попап-окна с просьбой подтвердить действие.
  • false — при акцепте документа показывается попап-окно с просьбой подтвердить действие (по умолчанию).

Пример:

var CLIENT_SETTINGS = {
  // …
  'accept_legal_document_without_confirm': false
};

Возможность восстановления пароля через отправку sms

Название опции: show_password_recovery, тип данных: bool.

Возможные значения:

  • true — в экране авторизации пользователь сможет воспользоваться функцией восстановления пароля через SMS.
  • false — функция восстановления пароля через SMS будет недоступна (по умолчанию).

Для возможности восстановления пароля через SMS требуется корректная настройка интеграции с SMS-шлюзом на стороне сервера Smarty.

Пример:

var CLIENT_SETTINGS = {
  // …
  'show_password_recovery': false
};

Возможность выбора дата-центра в меню настроек

Название опции: allow_to_change_data_center, тип данных: bool.

Возможные значения:

  • true — в меню настроек пользователь сможет самостоятельно выбрать сервер вещания (соответствует настроенным дата-центрам в Smarty).
  • false — пользователь не сможет выбрать сервер вещания (по умолчанию).

Пример:

var CLIENT_SETTINGS = {
  // …
  'allow_to_change_data_center': false
};

Возможность изменения ограничения доступа к покупкам контента в меню настроек

Название опции: allow_to_change_access_restriction_for_purchase_content, тип данных: bool.

Возможные значения:

  • true — в меню настроек будет отображаться пункт «Доступ к покупкам» и пользователь сможет поменять эти ограничения (по умолчанию).
  • false — возможность изменения ограничения доступа к покупкам контента запрещено.

Пример:

var CLIENT_SETTINGS = {
  // …
  'allow_to_change_access_restriction_for_purchase_content': true
};

Возможность регистрации через sms

Название опции: registration_available, тип данных: bool.

Возможные значения:

  • true — кнопка регистрации через SMS отображается.
  • false — не отображается (по умолчанию).

Для возможности регистрации через SMS требуется корректная настройка интеграции с SMS-шлюзом на стороне сервера Smarty.

Пример:

var CLIENT_SETTINGS = {
  // …
  'registration_available': false
};

Воспроизведение потоков-заглушек для каналов с замочками

Название опции: request_url_for_locked_channels, тип данных: bool.

Возможные значения:

  • true — при запуске канала с замочком происходит попытка запустить поток-заглушку и отобразить баннер-заглушку, если поток-заглушка для канала не заданы, показывается информационный попап.
  • false — при запуске канала с замочками показывается информационный попап со списком тарифов для подключения (по умолчанию).

Пример:

var CLIENT_SETTINGS = {
  // …
  'request_url_for_locked_channels': false
};

Выбор используемого интерфейса на странице «настройки»

Название опции: show_change_template_settings, тип данных: bool.

Возможные значения:

Сайт IT специалиста Белонина Сергея Станиславовича
Пункт «Выбор шаблона» в экране «Настройки»

Пример:

var CLIENT_SETTINGS = {
  // …
  'show_change_template_settings': true
};

Выбор используемого интерфейса приложения через настройки аккаунта в smarty

Название опции: check_account_template, тип данных: bool.

Возможные значения:

  • true — после авторизации аккаунта будет осуществляться проверка шаблона, установленного в настройках аккаунта в Smarty, и если он отличается от используемого приложение будет перезагружено в нужном шаблоне (по умолчанию).
  • false — установленный шаблон в настройках аккаунта в Smarty будет игнорироваться.

Пример:

var CLIENT_SETTINGS = {
  // …
  'check_account_template': true
};

Глубина отображения телепрограммы

Название опции: max_epg_depth, тип данных: int.

Определяет глубину EPG в днях для экрана «Телепрограмма». Если значение опции больше 0, то глубина будет равна этому значению. Если опция не задана (или равна 0), то для канала с архивом будет использована глубина архива (поле max_archive_duration канала), а если у канала нет архива — программа передач будет отображаться только за текущий день.

По умолчанию 0.

Пример:

var CLIENT_SETTINGS = {
  // …
  'max_epg_depth': 0
};

Группировка записей по категориям или по жанрам

Название опции: filter_archive_by, тип данных: string.

Возможные значения:

categories
  • categories — записи будут группироваться по категориям программ (объекты Program categories в Django-панели Smarty), значение по умолчанию.
  • genres — фильмы будут группироваться по жанрам программ (объекты Program genres в Django-панели Smarty).

Пример:

var CLIENT_SETTINGS = {
  // …
  'filter_archive_by': 'categories'
};

Задержка загрузки приложения при старте

Название опции: loading_timeout, тип данных: int.

Опция позволяет задать количество миллисекунд, на которое будет задержана первоначальная загрузка портала. Может быть использовано, например, для кастомизации портала, чтобы перед запуском отобразить приветственную картинку.

По умолчанию 1000, что соответствует одной секунде. Если указать нулевое или слишком маленькое значение, то может быть нарушена работа некоторых функций приложения на некоторых устройствах из-за асинхронной реализации API некоторых устройств.

Пример:

var CLIENT_SETTINGS = {
  // …
  'loading_timeout': 1000
};

Игнорирование значения соотношения сторон, приходящего со стороны smarty

Название опции: ignore_server_aspect, тип данных: bool.

Возможные значения:

  • true — установка значения «Соотношение сторон» на странице редактирования канала в Smarty не будет влиять на соотношение сторон канала (по умолчанию).
  • false — значение «Соотношение сторон» на странице редактирования канала в Smarty будет браться по умолчанию для каналов.

Пример:

var CLIENT_SETTINGS = {
  // …
  'ignore_server_aspect': false
};

Интервал рандомизации запроса для обновления epg

Название опции: expired_programs_update_interval_randomization, тип данных: int.

По умолчанию: 55000 (55 секунд).

Опция позволяет установить интервал для рандомизации запроса EPG. Нагрузка на сервер «размазывается» по времени в рамках данного интервала, что гарантирует, что после окончания передачи все активные устройства не отправят запрос на обновление в одно и тоже время.

Обратной стороной данной оптимизации является то, что после устаревания программа будет обновлена не мгновенно, а с возможной задержкой от 5 до 55 секунд, поэтому, если эта задержка критична — есть возможность уменьшить данный интервал или убрать его совсем (при этом повысив нагрузку на сервер).

Пример:

var CLIENT_SETTINGS = {
  // …
  'expired_programs_update_interval_randomization': 55000,
};

Количество будущих передач, отображаемых для выделенного канала

На число будущих передач, отображаемых для выделенного канала, влияют сразу 2 опции:

  • request_next_programs_limit, тип данных: int (по умолчанию: 0).
  • request_next_programs_minimum_threshold, тип данных: int (по умолчанию: 2).

В целях сокращения нагрузки на сервер по умолчанию под превью-плеером для канала отображается неопределенное количество передач в зависимости от их длительности по EPG (чем короче передачи, тем их больше, но минимум 2). Опция request_next_programs_limit устанавливает количество запрашиваемых следующих передач для канала при устаревании EPG, включая текущую.

Опция request_next_programs_minimum_threshold в свою очередь определяет минимальное количество передач, которое требуется для отображения в экране телеканалов под превью-плеером. Таким образом, правильно подобрав сочетание данных опций, можно зафиксировать количество отображаемых передач в экране телеканалов и сохранить приемлемый уровень нагрузки на сервер. Например:

var CLIENT_SETTINGS = {
  // …
 'request_next_programs_minimum_threshold': 6, // требуемое количество передач для отображения
 'request_next_programs_limit': 12, // запрашиваемое с сервера количество передач, разница со значением предыдущего поля позволяет сгладить нагрузку на сервер и отправлять запросы с меньшей частотой  
};
Сайт IT специалиста Белонина Сергея Станиславовича
Экран «ТВ» с переопределенным количеством будущих передач для отображения

Количество попыток определения доступности сервера

Название опции: health_check_attemts, тип данных: array.

Задает количество попыток соединения с сервером Smarty и временные промежутки между попытками в случае потери соединения с текущим сервером Smarty. Задается в виде массива. Каждый элемент массива — значение в секундах, через которое будет осуществляться повторный запрос к текущему серверу Smarty. Если ни одна из попыток не была успешной, происходит переключение на резервный сервер Smarty.

По умолчанию: [30].

Пример:

var CLIENT_SETTINGS = {
  // …
  'health_check_attemts': [30,60,90]
};

Отключение показа ленты актеров на странице фильма

Название опции: show_actors, тип данных: bool.

Возможные значения:

  • true — в экране «Описание фильма» будет отображаться лента с фотографиями актеров с возможностью открыть для каждого актера страницу с его описанием (по умолчанию).
  • false — в экране «Описание фильма» не будет отображаться лента с фотографиями актеров.

Пример:

var CLIENT_SETTINGS = {
  // …
  'show_actors': true
};

Отключение показа пустых жанров

Название опции:

vod_without_empty_genres

, тип данных: bool.

Возможные значения:

  • true — в экране «Видеотека» не будут отображаться жанры, которым не соответствует ни одного фильма. Исключение составляют категории «Избранное», «Новинки» и «Просмотренное» — они будут отображаться, если включены соответствующие опции и даже если они пусты.
  • false — в экране «Видеотека» будут отображаться все жанры, созданные в административной панели Smarty (по умолчанию).

Пример:

var CLIENT_SETTINGS = {
  // …
  'vod_without_empty_genres': true
};

Открытие списка телеканалов и запуск первого канала по списку после первого запуска приложения

Название опции: show_tv_menu_and_play_first_channel_on_first_launch, тип данных: bool.

Возможные значения:

  • true — после первого запуска приложения будет открыт список телеканалов и автоматически запущено воспроизведение первого канала по списку.
  • false — поведение по умолчанию (по умолчанию).

Пример:

var CLIENT_SETTINGS = {
  // …
  'show_tv_menu_and_play_first_channel_on_first_launch': false
};

Отображать для списка каналов в режиме longlist только их названия

Название опции: longlist_show_only_channel_names, тип данных: bool.

Возможные значения:

  • true — в списке каналов в режиме longlist будут отображаться только названия каналов, без отображения текущей передачи.
  • false — в списке будет отображаться название канала и текущая передача.

Пример:

var CLIENT_SETTINGS = {
  // …
  'longlist_show_only_channel_names': false
};

Отображение количества каналов в категории «все каналы»

Название опции: show_number_of_channels_in_all_category, тип данных: bool.

Возможные значения:

  • true — на экране со списком категорий каналов в категории «Все каналы» будет отображаться количество каналов в этой категории.
  • false — количество не показывается (по умолчанию).

Пример:

var CLIENT_SETTINGS = {
  // …
  'show_number_of_channels_in_all_category': false
};

Отображение меню «медиа-портал» на приставках dune

Название опции: show_media_portal_service_on_dune, тип данных: bool.

Возможные значения:

  • true — на экране «Сервисы» на приставках Dune будет отображаться пункт «Медиа-портал», открывающий встроенный портал Dune (по умолчанию).
  • false — пункт «Медиа-портал» будет скрыт.

Пример:

var CLIENT_SETTINGS = {
  // …
  'show_media_portal_service_on_dune': true
};

Отображение меню «медиа-портал» на приставках mag

Название опции: show_media_portal_service_on_mag, тип данных: bool.

Возможные значения:

  • true — на экране «Сервисы» на приставках MAG будет отображаться пункт «Медиа-портал», открывающий встроенный портал Infomir (по умолчанию).
  • false — пункт «Медиа-портал» будет скрыт.

Пример:

var CLIENT_SETTINGS = {
  // …
  'show_media_portal_service_on_mag': true
};

Отображение промежуточного экрана со списком кинотеатров

Название опции: show_screen_with_choice_of_cinema, тип данных: bool.

Возможные значения:

Сайт IT специалиста Белонина Сергея Станиславовича
Экран выбора кинотеатра

Пример:

var CLIENT_SETTINGS = {
  // …
  'filter_videos_by_genres': true
};

Отображение экранного меню с кнопками пульта на устройствах под android

Название опции: show_help_button_panel, тип данных: bool.

Возможные значения:

  • true — экранное меню будет отображаться (вызывается при зажатии кнопки ОК) (по умолчанию).
  • false — отключено.

Экранное меню может быть необходимо для пультов с урезанным набором кнопок. При включенной опции пользователю также при первом включении устройства показывается информационный попап, рассказывающий о том, как вызвать данную панель.

Пример:

var CLIENT_SETTINGS = {
  // …
  'show_help_button_panel': true
};

Переключение каналов внутри выбранной категории

Название опции: switching_channels_inside_category, тип данных: bool.

Возможные значения:

  • true — переключение каналов кнопками Ch /- будет происходить внутри выбранной категории каналов.
  • false — переключение будет происходить внутри категории «Все», даже если выбрана другая категория (по умолчанию).

Пример:

var CLIENT_SETTINGS = {
  // …
  'switching_channels_inside_category': false
};

Переключение каналов стрелками вверх-вниз

Название опции: switch_channels_by_up_down_keys, тип данных: bool.

Возможные значения:

  • true — в полноэкранном плеере переключение каналов будет дополнительно осуществляться с помощью кнопок вверх-вниз.
  • false — поведение по умолчанию, т.е. переключение только кнопками Ch /-, PgUp-PgDown и цифрами (по умолчанию).

Пример:

var CLIENT_SETTINGS = {
  // …
  'switch_channels_by_up_down_keys': false
};

Перемотка архива методом перезапроса позиции

Название опции: server_rewind_mode, тип данных: bool.

Возможные значения:

  • true — для перемотки будет использоваться позиционирование с помощью указания временной метки. URL на поток будет перезапрашиваться с сервера при каждой перемотке (по умолчанию).
  • false — перемотка по потоку методом seek средствами плеера (работает не всегда корректно из-за различной реализации на плеерах, однако быстрее).

Пример:

var CLIENT_SETTINGS = {
  // …
  'server_rewind_mode': true
};

Периодичность отправки метрик производительности и ошибок в mvision

Название опции: monitoring_interval_metrics, тип данных: int.

Позволяет задать периодичность (в миллисекундах), с которой портал будет отправлять метрики производительности и качества видео с устройства на сервер Microimpuls MVision. Отправка метрик должна быть также включена в настройках устройства в панели администратора Smarty. По умолчанию 15000.

Пример:

var CLIENT_SETTINGS = {
  // …
  'monitoring_interval_metrics': 15000
};

Периодичность отправки системных метрик в mvision

Название опции: monitoring_interval_sys_info, тип данных: int.

Позволяет задать периодичность (в миллисекундах), с которой портал будет отправлять системные метрики с устройства на сервер Microimpuls MVision. Отправка метрик должна быть также включена в настройках устройства в панели администратора Smarty. По умолчанию 300000.

Пример:

var CLIENT_SETTINGS = {
  // …
  'monitoring_interval_sys_info': 300000
};

Поведение кнопки back во время отображения экранной клавиатуры

Название опции: use_remote_button_back_as_backspace_in_virtual_keyboard, тип данных: bool.

Возможные значения:

  • true — кнопка Back закрывает экранную клавиатуру.
  • false — кнопка Back работает как Backspace и стирает последний символ (по умолчанию).

Пример:

var CLIENT_SETTINGS = {
  // …
  'use_remote_button_back_as_backspace_in_virtual_keyboard': false
};

Поведение кнопок ch /- на экране списка каналов

Название опции: switch_channels_by_ch_plus_minus_keys, тип данных: bool.

Возможные значения:

  • true -каналы переключаются постранично (по нажатию кнопки CH откроется страница каналов расположенная вверху, по нажатию CH- — страница каналов внизу).
  • false — поведение по умолчанию, то есть кнопки CH /- переключают по одному каналу за раз (по умолчанию).

Пример:

var CLIENT_SETTINGS = {
  // …
  'switch_channels_by_ch_plus_minus_keys': false
};

Подключение тарифа для канала с замочком без открытия списка тарифов

Название опции: skip_lock_channel_package_list_and_assign_first_package, тип данных: bool.

Возможные значения:

  • true — при запуске канала с замочком не показывается список тарифов, в рамках которых доступен данный канал, а происходит автоматическая попытка подключения первого из них.
  • false — при запуске канала с замочком показывается список тарифов, в рамках которых доступен данный канал (по умолчанию).

Пример:

var CLIENT_SETTINGS = {
  // …
  'skip_lock_channel_package_list_and_assign_first_package': false
};

Предложение акцепта правовых документов после успешной авторизации

Название опции: accept_legal_documents_after_successfull_login, тип данных: bool.

Возможные значения:

  • true — после успешной авторизации абонента будут показаны правовые документы с типом «Показывать при авторизации», если есть хотя бы один неакцептованный документ с установленным чекбоксом «Необходимость акцепта».
  • false — после успешной авторизации список документов показан не будет (по умолчанию).

Пример:

var CLIENT_SETTINGS = {
  // …
  'accept_legal_documents_after_successfull_login': false
};

Проверка дополнительного статуса аккаунта

Название опции: check_account_status_reason, тип данных: bool.

Возможные значения:

  • true — дополнительный статус аккаунта будет проверяться даже в случае успешной авторизации (по умолчанию). Например, если аккаунт активен, но в дополнительном статусе установлено «Заблокирован по задолженности», то в портале будет выдана соответствующая ошибка авторизации.
  • false — дополнительный статус проверяться не будет.

Пример:

var CLIENT_SETTINGS = {
  // …
  'check_account_status_reason': true
};

Разрешить пользователю менять режим отображения главного меню по кнопке

Название опции: allow_to_change_main_screen_mode, тип данных: bool.

Возможные значения:

  • true — на экране с главным меню пользователь сможет самостоятельно менять режим отображения по желтой кнопке пульта.
  • false — смена режима отображения главного меню запрещена (по умолчанию).

Пример:

var CLIENT_SETTINGS = {
  // …
  'allow_to_change_main_screen_mode': false
};

Разрешить пользователю менять режим отображения каналов по кнопке

Название опции: allow_to_change_tv_channels_list_mode, тип данных: bool.

Возможные значения:

  • true — на экране со списком телеканалов при фокусе на списке с категориями пользователь сможет самостоятельно менять режим отображения по желтой кнопке пульта.
  • false — смена режима отображения списка каналов запрещена (по умолчанию).

Пример:

var CLIENT_SETTINGS = {
  // …
  'allow_to_change_tv_channels_list_mode': false
}; 

Режим совместимости с гайдлайнами smart tv платформ

Название опции: samsung_guidelines_compatibility_mode, тип данных: bool.

Возможные значения:

  • true — включить режим совместимости с рекомендациями Smart TV платформ.
  • false — отключить (по умолчанию).

Режим совместимости влияет на логику поведения портала, в том числе на назначение кнопок пульта, и необходим для включения некоторых специальных ограничений для более простой публикации в магазины приложений Samsung и LG.

Пример:

var CLIENT_SETTINGS = {
  // …
  'samsung_guidelines_compatibility_mode': false
};

Режим управления звуком на samsung smart tv orsay

Название опции: samsung_smart_tv_volume_control_off, тип данных: bool.

Возможные значения:

  • true — правление звуком осуществляется на уровне операционной системы устройства (стандартное управление внутри телевизора).
  • false — управление звуком осуществляется на уровне приложения (по умолчанию).

Пример:

var CLIENT_SETTINGS = {
  // …
  'samsung_smart_tv_volume_control_off': false
};

Резервный сервер smarty

Название опции: reserve_api_url, тип данных: string.

Опция позволяет задать адрес резервного сервера Smarty. С помощью периодической проверки доступности основного сервера Smarty (задаваемого опцией api_url) в случае обнаружения проблемы приложение автоматически переключиться на работу с резервным сервером. Может использоваться как дополнительный способ обеспечения отказоустойчивости сервиса.

По умолчанию не задано.

Пример:

var CLIENT_SETTINGS = {
  // …
  'reserve_api_url': "/reserve-api"
};

Сайт it специалиста белонина сергея станиславовича

Эти материалы являются объектом авторского права и защищены законами РФ и международными
соглашениями о защите авторских прав. Перед использованием материалов вы обязаны принять условия
лицензионного договора на использование этих
материалов, или же вы не имеете права использовать настоящие материалы

Авторская площадка “Наши орбиты” состоит из ряда тематических подразделов, являющихся моими лабораторными дневниками, содержащими записи за разное, иногда
продолжительно отличающееся, время. Эти материалы призваны рассказать о прошедшем опыте, они никого ни к чему не призывают и совершенно не обязательно могут быть применимы кем-то ещё. Это только
лишь истории о прошлом

обзор возможностей

В контексте реализации отказоустойчивых решений основными задачами являются обеспечение быстрого времени восстановления при возникновении нештатной ситуации (аварии) и
обеспечение минимальной потери или отсутствия потери данных. Казалось бы СУБД Oracle обеспечивает создание резервов данных (бэкапов) и поддерживает создание архивных журнолов,
чего, в случае полного краха сервера, достаточно для восстановления данных и “подката вперёд” истории изменений базы. Однако, во-первых, это может потребовать довольно много
времени и, во-вторых, практически всегда означает потерю части данных, не вошедших в архивные журналы

Для уменьшения времени восстановления сервиса и отрезка потерянных данных после краха сервера, а в отдельных случаях – и для исключения потери данных используется стандартное
техническое решение – организация standby базы данных (или просто standby). В терминологии Oracle это решение называют “горячим” резервом, но в соответствии с природой этого
решения правильнее говорить о “тёплом” резерве, как более адекватном термине, позаимствованном из терминологии PostgreeSQL. Связано это с тем, что в большинстве стучаев
организация standby требует для активации ручных действий администратора, и не обеспечивает сохранность всех транзакций. Однако в отдельных частных случаях можно говорить о
резерве “горячем”, но это совсем отдельные и частные случаи

Методов организации standby существует несколько, но все они имеют одну основу – отдельный экземпляр и standby копия серверной БД, обычно расположенные на отдельном
физическом сервере – для обеспечения резервирования “железа” – принимают с основной базы архивные журналы и периодически подкатывают их на standby копию. Таким образом при
нештатной ситуации нет необходимости тратить время на разворачивание базы из резерва и накатывание истории изменений из архивных журналов. Такое решение называется “физический
standby”, ибо производится “подкат” модифицированых блоков из архивных журналов. Существует также “логический standby”, при котором архивные журналы анализируются выделенными
механизмами Oracle на предмет восстановления истории SQL операций, и именно такие SQL операции проводятся на standby копии БД. Однако логический стэндбай имеет ограничения я
является более громоздким решением, и рассматриваться в настоящем обзоре не будет

За организацию standby необходимо платить, потому что такое решение требует трат на отдельную аппаратную платформу и на лицензирование отдельной копии ПО Oracle, используемой
на standby сервере, в дополнение к аппаратной платформе и лицензированию сервера основного. Для Standart Edition редакции движка СУБД организация стэндбая выполняется в ручном
режиме, когда именно администратор обеспечивает переключение и копирование архивных журналов ( alter system switch logfile; cp …) на выделенный standby сервер и периодический
запуск команд (alter database recover automatic standby database until cancel; alter database recover cancel;) подката этих журналов на standby копии БД. Обычно для этих целей
пишутся скрипты, и задача эта не очень сложная

Возможны два варианта “ручного” стэндбая. В одном случае резервная БД запускается в режиме монтирования обычного контрольного файла с периодическим подкатом архивных журналов
командой “RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL”, а при необходимости перехода на standby база открывается с опцией RESETLOGS (так называемой смены инкарнации).
Во втором случае создаётся специальный standby контрольный файл, монтируется в специальном режиме “ALTER DATABASE MOUNT STANDBY DATABASE” с периодическим подкатом журналов, и
активацией при необходимости “… ACTIVATE STANDBY DATABASE”, при которой база также открывается в режиме создания новой инкарнации

Особенностями “ручного” standby является обязательная потеря последней части транзакций при крахе основного сервера. Если же производится временный технологический переезд,
при котором основной сервер тушится корректно, создания новой инкарнации и потери данных вполне можно избежать, потушив БД на основном сервере и подложив её контрольные файлы
и оперативные журналы standby копии. Время простоя при этом обычно довольно мало, так как перенос контрольных файлов и оперативных журналов даже между удалёными площадками
обычно не занимает много времени. Ещё одной особенностью является необходимость ручного создания файлов данных в stabdby копии БД при добавлении таких файлов в основной БД,
на что, впрочем, можно написать автоматизирующий обработчик

Таким образом при допустимости потери небольшой порции последних транзакций организация “ручного” стэндбая является бюджетным и вполне работоспособным решением. Важно, что
для SE редакции СУБД Oracle это практически единственное решение по организации standby, и для администраторов той части организаций, которые не готовы оплачивать дорогостоящий
Enterprise Edition навык организации ручного стэндбая может быть полезен. Важно, что возможность потери транзакций сильно связан с особенностями организации прикладного решения,
использующего СУБД. В частности возможность повторного ввода данных последних операций операционистами банка может сделать такое решение предпочтительным и в задачах
автоматизации банковской сферы, и автор имел практический опыт администрирования таких решений

Более расширенная версия движка СУБД – Enterprise Edition – включает в себя механизм организации физических и логических standby под названием Data Guard. Этот механизм
позволяет автоматизировать перенос архивных журналов на standby сервер, определяет пропущенные журналы и подкачивает их, что может быть востребовано при размещении standby
сервера на удалённой площадке с относительно ненадёжным сетевым каналом, а также автоматический подкат полученных журналов на standby базу. То есть автоматизирует задачи,
решаемые администратором при создании “ручного” standby. Но это не всё

Дополнительными возможностями Data Guard являются полуавтоматическая смена ролей, обеспечивающая переключение основной копии БД и standby копии между собой, что востребовано
для сервисных задач (впрочем, это вполне несложно делается руками при использовании “ручного” standby). Кроме того возможен режим работы Data Guard, при котором данные в standby
базу подкатываются не из архивных, но из оперативных журналов в режиме реального времени, что позволяет минимизировать возможную потерю данных, но делает конструкцию менее
надёжной, ибо любой сбой на standby приводит к недоступности и основной базы, что связано с необходимостью синхронного наката данных оперативных журналов на standby в этом
режиме. Синхронный standby подразуменвае установку резервного сервера в непосредственной близости к основному, что обусловлено довольно невысокой надёжностью и временем отклика
разделяющих площадки каналов

Кроме того существует механизм автоматической активации standby при отказе доступности основной БД, называемый Data Guard Broker. Однако в силу нещадной глючности у
пытавшихся использовать его коллег, равно как и в силу специфики задачи, когда решение о переходе на standby должно учитывать возможности сохранения информации (транзакций),
возможности восстановления основного сервера и БД при крахе и особенности ситуации – то есть приниматься человеком по обычно мало формализуемым признакам, автор не считает
использование брокера правильным выбором, и относит его больше к “бантикам, втюхиваемым заказчику”

Таким образом для SE редакции можно довольно просто настроить standby в ручном режиме, сопоставимым с таким же режимом для СУБД PostgreeSQL. Это будет надёжное и
малобюджетное решение. Для пользователей EE редакции появляется возможность использования Data Guard, который в общем случае будет повторять функциональность и характеристики
“ручного” standby. Важно, что при использовании в организации редакций SE и EE можно остановиться на ручном standby, который вполне будет работать и для EE редакции СУБД. Это
позволит не разводить зоопарк решений. С другой стороны при необходимости использования дополнительного функционала от Data Guard последний довольно просто настраивается, что
будет показано в следующих разделах настоящего обзора

Ещё одним тонким моментом является увязка механизмов резервного копирования данных и standby для исключения ситуации, когда архивные журналы уходят в резервную копию и более
недоступны по основному месту расположения, но, в то же время они ещё не перенесены на standby сервер, например в силу проблем с каналами связи с удалённой площадкой, на
которой размещён standby. Это особенно актуально для “ручного” режима организации standby

организация Standby посредством Data guard

Необходимо сразу оговориться, что DataGuard – опция Enterprise редакции СУБД, и если вы не лицензировали использование Enterprise, то методы построения standby для вас будут
совершенно другими – во многом основывающимися на ручной реализации большей части механизмов, обеспечиваемых DataGuard (ав том числе – копирование архивных журналов на snandby,
проверка отсутствия пропусков в последовательности журналов, ручной периодический накат журналов на standby базу, создание новых файлов данных вручную на standby при создании
их на основной базе). Т.е. организация standby без Enterprise лицензии является достаточно геморойной, но вполне реализуемой задачей

Можно добавить, что в таком ручном варианте реализация Standby для Oracle вполне сопоставима с реализацией Standby для PostgreeSQL (детально описанный в документации по
PostgreeSQL), что лишний раз заставляет задуматься о целесообразности использования дорогостоящего Oracle там, где можно использовать более дешевый, но вполне качественный
аналог

В случае же, если у вас Enterprise редакция, вы можете использовать встроенный механизм построения Standby
с разнообразным дополнительным функционалом (таким, как временная смена ролей для основной базы и базы
standby). Итак, при использовании Data Guard последовательность организации и использования standby выглядит
так:

  • создать инфраструктуру каталогов БД, журналов, init и passwd файлы, ссылки в oratab для standby базы
  • сконфигурировать listener на слушание для master и standby баз
  • прописать сетевые имена в tnsnames.ora каждого сервера для обращения к обоим базам (master и standby)
  • внедрить в init файл master сервера команды

    log_archive_start = true

    #– вариант для версии 9i

    log_archive_dest_1 = ‘LOCATION=/base/arc/redo_’

    #– вариант для версии 11 с учётом использования FRA,

    #– при отсутствии можно явно указать путь вместо USE_DB_RECOVERY_FILE_DEST

    log_archive_dest_1 = ‘LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES)’

    log_archive_dest_state_1 = ENABLE

    #– вариант для версии 9i

    log_archive_dest_2 = ‘SERVICE=standby_tns_alias’

    #– вариант для версии 11

    log_archive_dest_2 = ‘SERVICE=standby_tns_alias VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)’

    log_archive_dest_state_2 = ENABLE

    log_archive_min_succeed_dest = 1

    log_archive_format = %S.arc

    remote_archive_enable = TRUE

    fal_server = standby_tns_alias

    fal_client = master_tns_alias

    standby_file_management = auto

    #– опция применима к версии 8 и отдельным вариантам конфигурирования в 9

    standby_archive_dest = ‘/base/standby_arc/’
  • внедрить в init файл standby сервера команды

    log_archive_start = true

    #– вариант для версии 9i

    log_archive_dest_1 = ‘LOCATION=/base/arc/redo_’

    #– вариант для версии 11 с учётом использования FRA,

    #– при отсутствии можно явно указать путь вместо USE_DB_RECOVERY_FILE_DEST

    log_archive_dest_1 = ‘LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES)’

    log_archive_dest_state_1 = ENABLE

    #log_archive_dest_2 = ‘master_tns_alias’

    #log_archive_dest_state_2 = ENABLE

    log_archive_min_succeed_dest = 1

    log_archive_format = %S.arc

    #remote_archive_enable = RECEIVE

    remote_archive_enable = TRUE

    fal_server = master_tns_alias

    fal_client = standby_tns_alias

    standby_file_management = auto

    #– опция применима к версии 8 и отдельным вариантам конфигурирования в 9

    standby_archive_dest = ‘/base/standby_arc/’
  • потушить master базу и скопировать ее в соответстввующие каталоги на slave
  • поднять master БД и создать на ней standby контрольные файлы командой

    ALTER DATABASE CREATE STANDBY CONTROLFILE AS ‘полный_путь’ ;

    после чего перенести созданный контрольный файл на slave и заместить им контрольные файлы на standby БД
  • запустить standby базу на standby сервере командами

    startup nomount

    alter database mount standby database
  • запустить автоприменение журналов командой

    alter database recover managed standby database disconnect from session ;
  • запустить основную базу

P.S. Проверить работоспособность можно по alert логам, а также попробовать попереключать журналы на master
базе командами

ALTER SYSTEM SWITCH LOGFILE

ARCHIVE LOG ALL

и сравнив вывод команды

select SEQUENCE#,FIRST_TIME,NEXT_TIME,ARCHIVED,APPLIED,creator from v$archived_log where status = ‘A’ order by sequence# ;

тонкие моменты

режим сохранности данных меняется формулой

alter database set standby database to maximize [PERFOMANCE | IVAILABILITY | … ]

но !!

– при переводе из дефолта (PERF) нужно настроить копирование не ARCH, но LGWR, для чего в удаленном

archive_log_destination_x=’SERVICE=… LGRW SYNC AFFIRM’

– при временной рокировке ролей master и standby (switchover) проблем возникать не должно, а вот при попытке поднять standby базу как master при отказе прежнего master
(режим filover) – начинаются засады, и нужно сажать базу в mount, возвращать PERFOMANCE и выкидывать из переменной

arc_log_dest… модификаторы LGWR SYNC AFFIRM

Switchover – временная смена ролей

– режим switchover позволяет резво “рокировать” роли для тех. работ на основной базе и обратно

— на master базе

select switchover_status from v$database ; => TO STANDBY

alter database commit to switchover to physical standby ;

shutdown immediate ;

закомментировать относящиеся к archive_log_dest_2 опции – иначе потом не просто сменить роли обратно

startup nomount ;

alter database mount standby database ;

alter database recover managed standby database disconnect from session ;

— потом на standby базе

select switchover_status from v$database ; => TO PRIMARY

alter database commit to switchover to physical primary ;

shutdown immediate ;

раскомментировать относящиеся к archive_log_dest_2 опции для копирования журналов на standby

startup ;

— потом на standby базе

alter system switch logfile ;

и потом обратный переход

Filover – поднятие standby до master при авари последнего

— выверить, что накачено максимальное количество журналов

select from v$archive_gap

select from v$archived_log

при необходимости и доступности перенести недостающие журналы и

зарегистрировать их командой

alter database register physical logfile ‘…’ ;

— т.к. gap показывает только последний ошибочный диапазон – повторять шаг 1, пока выборка не станет нулевой

— тушится автонакатывание

alter database recover managed standby database finish ;

или

alter database recover managed standby database finish skip standby logfile ;

— база делается новой master

alter database commit to switchover to primary ; (альтернатива – alter

database activate standby database 😉

shutdown ;

раскомментировать относящиеся к archive_log_dest_2(xxx) опции для копирования журналов с нового master на standby

startup ;

за кадром

За кадром настоящей статьи – описание намоленных решений по организации скриптового стэндбая для standart
edition и варианты настройки standby на том же сервере, что и продуктовая БД (что может быть востребовано для
распараллеливания по нодам юниксового кластера)

Белонин С.С. (С), май 2007 года

(даты последующих модификаций не фиксируются)


Сортировка списка актеров на странице фильма

Название опции: actors_order, тип данных string.

Возможные значения:

  • birthdate — сортировка по дате рождения, от более старых к более молодым.
  • -birthdate — сортировка по дате рождения, от более молодых к более старым.
  • name — сортировка по имени, в алфавитном порядке (по умолчанию).
  • -name — сортировка по имени, в обратном алфавитном порядке.
  • cyrillic-first — сортировка по имени, сначала идут актеры с кириллицей.

Пример:

var CLIENT_SETTINGS = {
  // …
  'actors_order': 'name'
};

Сохранение выбранного соотношения сторон для каждого канала отдельно

Название опции: save_aspect_ratio_per_channel, тип данных: bool.

Возможные значения:

  • true — в настройках приложения на устройстве выбранное пользователем соотношение сторон будет сохраняться отдельно для каждого канала.
  • false — будет сохраняться последнее выбранное соотношение сторон общее для всех каналов (по умолчанию).

Пример:

var CLIENT_SETTINGS = {
  // …
  'save_aspect_ratio_per_channel': false
};

Сохранение выбранного языка аудио-дорожки для каждого канала отдельно

Название опции: save_audio_track_lang_per_channel, тип данных: bool.

Возможные значения:

  • true — в настройках приложения на устройстве выбранный пользователем язык аудио-дорожки будет сохраняться отдельно для каждого канала.
  • false — будет сохраняться последний выбранный язык общий для всех каналов (по умолчанию).

Пример:

var CLIENT_SETTINGS = {
  // …
  'save_audio_track_lang_per_channel': false
};

Сохранение выбранной категории телеканалов при перезапуске приложения

Название опции: save_last_tvcategory, тип данных: bool.

Возможные значения:

  • true — после запуска приложения будет выбрана та категория, которая была выбрана перед закрытием приложения, а также при возвращении из полноэкранного плеера в список каналов текущий фокус будет выставлен на последнюю выбранную категорию и последний проигрываемый канал.
  • false — после запуска приложения будет выбрана категория «Все каналы» (по умолчанию).

Пример:

var CLIENT_SETTINGS = {
  // …
  'save_last_tvcategory': false
};

Способ сортировки фильмов по умолчанию

Название опции: default_vod_sort_order, тип данных: string.

Возможные значения:

  • -created_at — по дате добавления (сначала самые новые) (по умолчанию).
  • -kinopoisk_rating — по рейтингу Кинопоиска (сначала самые популярные).
  • -imdb_rating — по рейтингу IMDB (сначала самые популярные).
  • -year — по году выхода фильма (сначала самые новые).
  • -premiere_date — по дате выхода премьеры фильма (сначала самые новые).
  • name — по названию (в алфавитном порядке).

Пример:

var CLIENT_SETTINGS = {
  // …
  'default_vod_sort_order': "-created_at"
};

Управление показом пункта «выбор плеера» в экране «настройки»

Название опции: show_change_player_settings, тип данных: bool.

Возможные значения:

  • true — на странице «Настройки» внутри приложения будет отображен пункт «Выбор плеера» для тех устройств, которые это поддерживают (на текущий момент — это устройства под Android в рамках сборки версии выше 2.0).
  • false — пункт «Выбор плеера» на странице настроек будет скрыт (по умолчанию).

Пример:

var CLIENT_SETTINGS = {
  // …
  'show_change_player_settings': true
};

Управление показом пункта «сортировка каналов» в экране «настройки»

Название опции: show_sort_screen, тип данных: bool.

Возможные значения:

  • true — на странице «Настройки» внутри приложения будет отображен пункт «Сортировка каналов».
  • false — пункт «Сортировка каналов» на странице настроек будет скрыт (по умолчанию).
Сайт IT специалиста Белонина Сергея Станиславовича
Пункт «Сортировка каналов» в экране «Настройки»

Пример:

var CLIENT_SETTINGS = {
  // …
  'show_sort_screen': true
};

Управление шаблоном разными пультами

Название опции: remote_control_mode, тип данных: string.

Возможные значения:

  • all_buttons — шаблон подстраивается под управление пультами с полным набором кнопок (по умолчанию).
  • limited_buttons — шаблон подстраивается под управление пультами с ограниченным набором кнопок, как правило, такие пульты идут в наборе с современными Smart TV и STB.
Сайт IT специалиста Белонина Сергея Станиславовича
Экран авторизации в режиме управления пультами без цветных кнопок

Пример:

var CLIENT_SETTINGS = {
  // …
  'remote_control_mode': 'all_buttons'
};

Установка особого соотношения сторон экрана при воспроизведении фильмов

Название опции: set_default_aspect_ratio_for_vod, тип данных: bool.

Возможные значения:

  • true — после включения воспроизведения фильма из видеотеки будет принудительно установлено соотношение сторон 16×9.
  • false — будет сохранено соотношение сторон, выбранное ранее абонентом (по умолчанию).

Пример:

var CLIENT_SETTINGS = {
  // …
  'set_default_aspect_ratio_for_vod': false
};

Частота обновления даты и времени в статус баре

Название опции: time_update_interval, тип данных: int.

Позволяет задать интервал обновления даты и времени в верхнем статус баре портала, в миллисекундах. По умолчанию 60000.

Из-за асинхронных операций иногда может возникать ситуация, когда программа передач уже обновлена, а время осталось прежним. Абоненту может показаться, что время застыло или отстало. Для устранения этой проблемы можно уменьшить данный интервал, тогда время будет обновляться чаще (по умолчанию 1 раз в минуту).

Пример:

var CLIENT_SETTINGS = {
  // …
  'time_update_interval': 60000
};
Похожее:  Аутентификация Samba в домене Windows / Хабр

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *