В этом релизе вводим новый хештег внутри описания релиза #осторожносовместимость
— им будут отмечены доработки, которые могут повлиять на работу внешних интеграций — просим обратить особое внимание на это.
PYTHON3
Мы много месяцев шли к этому и в этом релизе наконец готовы объявить, что Smarty можно запустить на Python3, а если конкретнее, то на Python 3.8.
Что это даст с точки зрения функционала?
Пока ничего, на данный момент Smarty работает одинаково, как под Python2, так и под Python3. Но с точки зрения написания кода для нас это открывает новые возможности, поэтому мы заинтересованы в плавном, но настойчивом переходе на новую версию языка.
Как будет происходить переход на новую версию Python?
Начиная с этого релиза все новые инстансы Smarty мы будем поднимать под Python3 (и на Debian 10-11, более старые версии не будут поддерживать новую версию языка и более не поддерживаются их разработчиками). Спустя несколько месяцев мы начнем постепенно в рамках технических работ предлагать нашим текущим операторам обновляться на новые версии Debian и Python и в конечном итоге, когда работающих Smarty под Python2 не останется, мы прекратим его поддержку.
В следующих релизах мы ещё поделимся с вами процессом перехода на новую версию, не переключайтесь:)
ФИЛЬМЫ START ЧЕРЕЗ ИНТЕГРАЦИЮ С MEGOGO
Теперь с помощью интеграции с MEGOGO появилась возможность получения фильмов из каталога кинотеатра START. В интерфейсе полученные таким образом фильмы от START ничем не отличаются от полученных напрямую: они отображаются с плашкой START, располагаются в отдельном разделе видеотеки и подключаются в рамках отдельной подписки. Помимо этого биллинг Smarty также поддерживает продажу бандла MEGOGO+START.
ИМПОРТ UHD-ФИЛЬМОВ ИЗ MEGOGO
На странице настройки интеграции с MEGOGO появился новый чекбокс для синхронизации UHD-фильмов («Загружать UHD контент»), которые ранее по умолчанию отфильтровывались и не попадали в каталог Smarty в связи с малым количеством устройств, поддерживающих воспроизведение данного контента. Теперь по усмотрению оператора эти фильмы можно добавить в каталог.
СЕЗОНЫ СЕРИАЛОВ
В Smarty появились новые сущности: Серия и Сезон. С помощью них теперь есть возможность объединять несколько сезонов сериалов в рамках одного объекта фильма.
Функционал пока доступен только в Smarty, а отображение сезонов не добавлено в шаблоны приложений.
В будущем релизе мы добавим отображение сезонов в шаблоны Futuristic
и Infinitly
, а также добавим возможность миграции каталогов внешних кинотеатров на новую схему.
ЦЕНОВЫЕ КАТЕГОРИИ ДЛЯ ВИДЕО
Мы провели большой рефакторинг работы ценовых категорий, чтобы настройка монетизации фильмов вызывала меньше вопросов. Итак, ниже краткий гайд, как настроить различные варианты покупки внутренних видео (покупка и подписка видео из внешних кинотеатров MEGOGO и START происходит при участии биллингов кинотеатров).
В Smarty cуществует 3 глобальных типа монетизации фильмов:
- подписка — это модель, используемая на данный момент для монетизации каналов и для фильмов она работает аналогичным образом: через навешивание тарифов на объект фильма и абонента/аккаунта.
- покупка — как раз для данной модели нужно использовать ценовые категории с типами: покупка (единоразовая покупка фильма «навсегда») и аренда (покупка фильма на ограниченное количество дней).
- бесплатный просмотр — для этого мы можем либо навесить фильму ценовую категорию с типом «свободно», либо добавить фильм в бесплатный тарифный план.
ИНТЕГРАЦИЯ SMS-ШЛЮЗОВ PULSEEM И SMS-ASSISTENT
+2 интеграции SMS-шлюзов на нашем счету:
- Pulseem — работает на территории Израиля https://www.pulseem.co.il/
- SMS-assistant — работает на территории Беларуси https://sms-assistent.by/
Документация по настройке SMS-шлюзов: https://mi-smarty-docs.readthedocs.io/ru/latest/installation_and_configuration.html?highlight=sms#sms
ОТПРАВКА СМС-СООБЩЕНИЯ ОБ ОКОНЧАНИИ ПОДПИСКИ
Команда send_activation_expires_messages
уже довольно давно присутствует в Smarty и используется операторами для рассылки сообщений об окончании подписки на экраны телевизоров и e-mail. В этом релизе появилась возможность также рассылать и смс-сообщения, передав в эту команду опцию --send_sms
. Помимо этого теперь можно отредактировать текст рассылаемого сообщения в разделе «Локализация» в панели администрирования.
Внимание! Для корректной работы рассылки смс-сообщений в Smarty должен быть настроен смс-шлюз, а у абонентов заполнено поле «Номер телефона».
ДОРАБОТКА ВИДЖЕТА ПОГОДЫ
Недавно один из наших операторов столкнулся с коллизией, возникающей в виджете погоды, если происходит попытка получения данных для города с неуникальным названием. Она происходила из-за того, что во внешних сервисах погоды ранее поиск производился по названию города и в ситуации, когда городов больше, чем 1, возвращалась погода от того, что первый в списке.
В этом релизе мы решили эту проблему, добавив возможность указать для города его идентификатор в сервисе погоды в настройках виджета:
Подробнее о настройке виджета погоды: https://mi-smarty-docs.readthedocs.io/ru/latest/service_configuration.html#section-32
ДОРАБОТКИ ПАРСИНГА EPG
Для management-команд подгрузки и кеширования данных о передачах cache_record_list
, clean_old_records
и epg_import
добавлена возможность указать опцию client_id
, чтобы команды затрагивали только одного Client в рамках Smarty.
А также теперь в команде epg_import
учитывается возможность существования нескольких EpgChannel с одним и тем же внешним идентификатором — благодаря этому, например, можно создать каналы с разными иконками, но одинаковой программой передач.
УВЕДОМЛЕНИЯ В АДМИНКЕ
Вместе с ростом абонентской базы у некоторых наших операторов появились проблемы с задержками в работе панели администрирования внутри раздела «Статистика» — оно и понятно, чем больше данных собирается, тем больше времени требуется на расчет цифр при построении графиков.
В этом релизе мы немного модернизировали UX нашей админки для возможности создавать отложенные задания на построение графиков с помощью нового раздела «Уведомления».
Теперь, в случае, если расчеты занимают внушительное время, можно спокойно покинуть страницу с графиком и быть уверенным, что когда график будет готов, пользователю админки придет об этом уведомление.
По клику на уведомление будет открыта страничка со статистикой, где можно просмотреть все последние запросы на расчет.
К следующему релизу мы планируем проработать функционал уведомлений более детально: добавить отображение времени уведомления, текста, прикрутить этот функционал к другим страницам, где это требуется, а пока — представляем вам первую версию этой фичи:)
УМНАЯ СОРТИРОВКА КАНАЛОВ
Теперь статистику телесмотрения можно не только просматривать и анализировать, но и создавать с помощью нее динамическую сортировку каналов по популярности. В этом поможет команда create_channel_sorting_by_popularity
— после добавления ее в крон оператор может получить динамическую сортировку каналов, в которой самые просматриваемые будут в топе списка. Напоминаем, что смена сортировки каналов на данный момент доступна только в шаблоне Impuls
, но у нас есть планы добавить эту возможности и в шаблон Futuristic
.
РОТАЦИЯ СТАТИСТИЧЕСКИХ ДАННЫХ
Новая команда для настройки ротации собранной статистики, используемой для построения графиков в разделе «Статистика» в панели администрирования: reports_remove_old_data
, подробнее: https://mi-smarty-docs.readthedocs.io/ru/latest/installation_and_configuration.html?highlight=send_activation_expires_messages#smarty-8
РОТАЦИЯ ИСТОРИИ ПРОСМОТРЕННЫХ ФИЛЬМОВ
Добавлена новая management-команда remove_viewed_content_history
для удаления из базы информациии о просмотренных до конца фильмах, подробнее: https://mi-smarty-docs.readthedocs.io/ru/latest/installation_and_configuration.html#section-28
TVMIDDLEWARE API
- Внесены исправления для параметра ответа
slider.url
в методеPortalDashboardSliderList
- Добавлен новый метод
AccountResetPassword
для сброса пароля (ранее использовался методAccountRegister
, с этого релиза рекомендуем использовать новый метод) - Входной параметр
comment
запросаAccountRegister
сделан необязательным. - Восстановлена корректная фильтрация фильмов в методе
VideoList
в связке с фильтром по видеопровайдеру. - В методе
VideoAction
теперь возвращается более подробная информация об ошибке при подключении фильмов из внешних кинотеатров (полеerror_message
). - В ответ методов
VideoList
,NoAuthVideoList
иVideoDetail
добавлено полеvideo_provider_id
. - Исправлена 500-я ошибка при запросе NoAuthSelectionList.
- Метод ProgramListSearch дополнен для поиска без учета регистра.
- Если в метод
PortalDashboardSliderList
не передан параметрportal_dashboard_id
, то теперь возвращается первый в списке слайдер. - Поля
country/countries
теперь возвращаются пустой строкой вместоNone
. - В метод
PaymentQRCode
добавлен входной параметрtemplate
для указания шаблона платежной страницы, которая открывается по QR. - Для метода
ApplicationRSSWidget
добавлена настройкаTVMIDDLEWARE_RSS_WIDGET_REQUEST_TIMEOUT
для установки таймаута ожидания данных из внешнего источника новостей (по умолчанию 3 секунды). - В метод
ActorList
добавлен параметр ответаcount
. #осторожносовместимость
Полеphone_confirmation_type
удалено из запросаAccountRegister
и перенесено в форму общих настроек Client:
Подробнее об изменениях в API: https://microimpuls.github.io/smarty-tvmw-api-docs
BILLING API
- Добавлены новые методы
AccountList
иCustomerList
для получения списков абонентов и аккаунтов для возможности синхронизации списков из Smarty в биллинг оператора. #осторожносовместимость
В методеAccountInfo
исправлен тип поляis_basic
.
Подробнее: https://microimpuls.github.io/smarty-billing-api-docs/
АДМИНКА
Отрефакторена страница «Метрики телеканалов» — фильтры стали очевиднее, последние запросы сохраняются в правый столбец для быстрого доступа:
Добавлен фильтр по дилеру в отчет по оплатам и на страницу финансовых операций:
Добавлена возможность массового редактирования абонентов и аккаунтов:
В форму массового редактирования устройств (playdevice/edit) добавлен блок «Конфигурация портала и приложений»:
На страницу списка каналов добавлен столбец LCN:
В форму массовой генерации промокодов добавлено поле для установки длины кода.