Banner advertisements
В Smarty появилась новая сущность — рекламный баннер. Концептуально это новый механизм показа рекламных изображений с текстом и кнопкой перехода к действию, который можно таргетированно показывать той или иной аудитории внутри абонентской базы.

Реализация с точки зрения интерфейса на данный момент доступна только в шаблоне Sibseti — там эти баннеры отображаются на главном экране вместо фонового изображения.

Рекламные баннеры можно создавать вручную через панель администрирования, так и автоматизировать их создание через Content API-методы. Подробнее про настройку и создание баннеров можно почитать в documentation.
Adminka
- В качестве картинки тайтла внутри фида теперь можно выбрать горизонтальный постер:

- Добавили сворачивание данных в некоторых списках, например, в типах устройств и фильмах, чтобы списки были более читаемыми и не такими длинными.

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

- Во всех списках с чекбоксами поддержали поведение с поднятием вверх отмеченных пунктов для лучшей наглядности.

- В секретную фразу для стриминг-сервиса добавлены новые переменные, а также добавлен их перечень в легенду под поле в админке.

- Добавлено алерт-сообщение о том, что данные телесмотрения не поступают в MiStats по какой-то причине. Для корректной работы алерта необходимо также обновить MiStats до версии 0.2.5.

- На страницу «Стриминг-сервисы» добавлен столбец «Приоритет».
- При загрузке фотографий актёров через админку изображениям теперь не добавляются прозрачные рамки по краям.
Привлекательность тарифов
У тарифа появилось поле «Дополнительные атрибуты», с помощью которого можно наполнять карточки тарифов дополнительной информацией.

Например, в новом интерфейсе Titanium это поле использовано для реализации разных градиентных фонов для карточек тарифов с помощью полей bg_first_color and bg_second_color.



Помимо этого у тарифа появилось новое поле «Архивный», для возможности удобно выводить устаревшие тарифы из линейки — пользователи, которые уже подключили этот тариф, продолжат видеть его в интерфейсе, а вот для остальных он будет скрыт.

Улучшения для VOD
- Провели оптимизацию команды
make_vodpvr: сокращено количество используемой оперативной памяти, сокращено время работы, а также решена проблема с зависанием команды. Помимо этого добавлена новая опция команды —check_program_blocking, благодаря которой архивные фильмы не создаются из передач, на которые установлена блокировка. - Изменен механизм обновления постеров в командах синхронизации внешних кинотеатров: теперь постеры безусловно перезаписываются только в случае указания новой опции
--force_image_update. В остальных случаях постер скачивается только если он отсутствует, либо при выходе нового сезона сериала. - Отрефакторен механизм удаления изображений у фильмов: если удаляется основное изображение, то так удаляются и остальные его модифицированные копии — с блюром, уменьшенные и увеличенные.
- For the team
viju_sync_contentnew option addedextra_tmdb_meta, которая включает дополнительный импорт меты для фильмов Viju из источника TMDB.
Оптимизация памяти в Redis
В этом релизе поработали над сокращением объёма занимаемой памяти на сервере c Redis, в рамках этого:
- добавили новую менеджмент-команду
invalidate_clever_cacheдля выборочной безопасной очистки Redis; - доработали удаление инвалидированных ключей из Redis.
Динамика абонентов и отчёты
Подсчёт данных для графиков и отчётов из вкладок «Отчёты» и «Statistics» перенесен из MongoDB в SQL и Redis для возможности отключения старого сервера статистики с MongoDB 🎉
Также произошли некоторые изменения во внутренних механизмах работы данной статистики:
- добавлена одноразовая команда миграции данных
migrate_account_activity; - удалена команда
reports_remove_old_data; - переработана команда
collect_daily_stats.
TVMW API
- Оптимизация скорости работы методов
VideoSettingsSet,VideoRatingSetandProgramListSearch. - Method
VideoListтеперь возвращает списки избранных и просмотренных фильмов для неактивных аккаунтов. - From the method response
NoAuthVideoDetailудалены лишние поля, относящиеся непосредственно к конкретному аккаунту —is_favoritedи остальные. - Добавлена валидация номера телефона в метод
CustomerInfoSet. - Methods
Customer TariffListandCustomerInfoдобавлены новые поля для тарифов —archivedandmeta. - In response to methods
PortalDashboard VideoListandSelectionDetailfieldvertical_poster. - New method added
CountryInfo. - Исправлена структура ответа метода
Video EpisodeList. - In response to method
Loginприerror=5flagdevices.has_active_sessions. Также данный метод теперь в приоритете берёт IP из поляX-Real-IP. - Добавлена оптимизация метода
ProgramCategoryChannelList.
Content API
- Methods added
ActorListandActorDetail. - Added method
VideoFileDetail. - Отрефакторен ответ метода
VideoDetail— убрана лишняя вложенность и добавлены дополнительные поля. - Добавлен новый метод для создания блокировок передач
ProgramBlockingCreate.
Other
- Исправлена ошибка подсчёта состояния баланса пользователя после его пополнения.
- Добавлены новые опции конфигурации
TVMW_LOGIN_REQUEST_CHECK_IGNORE_IPSandTVMW_LOGIN_REQUEST_CHECK_IGNORE_ABONEMENTSдля возможности отключения лимита на авторизации на тестовых аккаунтах и IP. - Теперь при выставленной опции
REBIND_DEVICE_ON_LOGIN = Trueпосле перепривязки устройства другому аккаунту также будет удаляться сессия старого аккаунта, связанная с этим устройством.