Smarty (старые релизы)
-
smarty - серверная часть платформы Microimpuls IPTV/OTT Middleware.
В этой теме буду публиковаться новые версии пакетов
smarty
и модулей, а также история изменений.Полезное:
- Документация: http://mi-smarty-docs.readthedocs.io/
- Admin guide: http://mi-smarty-docs.readthedocs.io/ru/latest/service_configuration.html#smarty-admin-guide
- Инструкции по настройке абонентских устройств: http://mi-device-configuration-manuals.readthedocs.io/
-
release:
smarty v. 1.10.3changelist:
- Новый механизм получения жанров передач из источника EPG и их ассоциации к локально заданным жанрам
- Новый метод TVMW API, позволяющий получить список жанров EPG и отфильтровать телеканалы по жанру
- Возможность поиска по номеру абонемента в списке клиентов
- В ответ TVMW API /login теперь отдается поле abonement
-
release:
smarty v. 1.11.27changelist:
- Оптимизация метода TVMW API /api/channel/list
- Переход на Django 1.9
- Оптимизация метода проверки баланса абонентов в модуле Billing
- Удален django_redis, переход на cacheops
- Исправление ошибки возвращения флага родительского контроля в API функционала "ТВ по интересам"
- Улучшение верстки админ.панели в разделе "Финансовые операции", возможность экспорта таблицы
- Добавлено поле abonement в TVMW API /api/login для возможности узнать логин при использовании авторизации по UID устройства
- Возможность поиска по номеру абонемента в разделе "Клиенты"
- Добавлено понятие "Жанр" в EPG, возможность ассоциации жанров телепрограмм из источника EPG внутренним жанрам Smarty
- Новые методы TVMW API для реализации функционала фильтрации по жанрам в разделе "ТВ по интересам"
- Minor fixes
Внимание!
В связи с переходом на Django 1.9 для корректной работы системы необходимо особым образом произвести миграцию схемы БД после установки обновления. Для этого после установки нужно выполнить:$ cd /usr/share/nginx/html/microimpuls/smarty $ pip install --upgrade -r requirements.txt $ python manage.py migrate contenttypes --settings=settings.<your settings name> $ python manage.py migrate captcha --fake --settings=settings.<your settings name> $ python manage.py migrate users --fake-initial --settings=settings.<your settings name> $ python manage.py migrate --settings=settings.<your settings name>
-
release:
smarty v. 1.12.3changelist:
- Ускорение выборки EPG в запросах /channel/list за счет оптимизации ORDER BY
- Новое поле next_programs в TVMW API запросе /channel/list теперь позволяет получить необходимое количество следующих передач после текущей, определяется параметром programs_limit. Соответствующие изменения в проекте mw_portals в совокупности дают большой прирост производительности
- Метод /message/pop объявлен deprecated, необходимо использовать /account/status
-
Рекомендуемое обновление!
release:
smarty v. 1.14.16changelist:
- Улучшен механизм кеширования для TVMW API
- Исправлена ошибка в машрутизации видеосервисов при использовании сложной логики и сдвига вещания Timeshift
- Исправлена ошибка редактирования аккаунта, возникающая при определенных условиях
- Значительно увеличена производительность модуля TV Middleware при большом количестве одновременных онлайн-сессий
- Добавлен метод TVMW API /account/register с токен-авторизацией дополнительно к соответствующему методу Billing API
- Стандартные конфигурационные файлы nginx и uwsgi дополнены основными настройками для highload
- Добавлен метод TVMW API /channel/programs (beta)
- Исправлена ошибка, из-за которой иногда могла возвращаться некорректная текущая EPG для канала
- Исправлена ошибка некорректной сортировки жанров в VOD
-
release:
smarty v. 1.16.8changelist:
- Исправлена ошибка с двойной регистрацией аккаунтов через Billing API
- Поддержка API для платформы MediaHills
- Исправлена ошибка с подсчетом количества устройства оператора на странице "Устройства" при использовании мультипровайдера
- Добавлен универсальный парсер EPG из формата XMLTV, в т.ч. из файла
- Возвращена поддержка старых версий приложений для Samsung Smart TV при использовании HLS
- Minor fixes
-
release:
smarty v. 1.17changelist:
- В виджете "Личный кабинет для сайта" отключена проверка заполненности паспортных данных при оплате
- В методах API "ТВ по интересам" добавлена возможность отображения категории "Все каналы"
- Добавлено поле "Серийный номер" для модели "Устройство аккаунта".
- В список ответа TVMW API метода login добавлено поле contract_number
- Появилась возможность сохранять несколько категорий для EPG-передач, а также форсировать присвоение определенной категории всем передачам определенного канала
- Добавлен флаг для типа устройства "Базовое" или "Дополнительное"
- Добавлен флаг "Родительский контроль" для фильмов
- Исправлена ошибка с отображением иконок в списке каналов в панели администратора
- Начата разработка модуля Megogo
- Начата разработка модуля Videoservices для более плотной интеграции с видео-серверами Microimpuls
- Начата разработка модуля логирования
- Minor fixes
-
release:
smarty v. 1.22Внимание!
Обновление требует установки пакетаredis-server
, запуска в постоянном режиме демона redis и добавления в crontab операции обновления кеша:*/3 * * * * python /usr/share/nginx/html/microimpuls/smarty/manage.py cache_channel_list --settings=settings.<название вашей конфигурации>
Внимание #2!
Данное обновление вводит понятие "Базового" и "Дополнительного" устройства, и по-умолчанию после миграции все устройства станут "Базовыми". Чтобы сохранить прежнюю логику работу функции "Мультиабонемент", требуется вручную в системной панели администратора обновить тип для всех устройств на "Дополнительный".
changelist:
- Redis стал обязательным компонентом системы
- Механизм логирования действий в панели администратора Smarty - начальная реализация для страницы редактирования аккаунтов
- Исправление мелких ошибок инвалидации кеша, связанных с видео-сервисами
- Механизм логирования запросов получения доступа к контенту Live TV
- Механизм логирования необработанных исключений в ядре системы
- Механизм логирования рассылки сообщений
- Исправление мелких ошибок в модуле Reports
- Механизм логирования фоновых операций планировщика - epg_import, check_accounts, check_streams, check_events, send_activation_expires_messages, clean_old_messages, resend_sms
- Добавлен механизм распределенного выполнения фоновых операций планировщика через очередь RQ (Redis Queue)
- Обновленная логика кеширования списка телеканалов и ассоциированного EPG для повышения быстродействия
- В запрос TVMW API /channel/list добавлен параметр
program_id
- Исправление ошибки формирования URL к иконкам телеканалов в виджете для сайта "Список телеканалов"
- Добавлено разделение устройств на типы "Базовое устройство" и "Дополнительное устройство", изменена логика работы функции "Мультиабонемент": теперь для дополнительных устройств действует отдельное ограничение количества сессий по тарифному плану, а для базовых - отдельное, при этом при попытке авторизации дополнительного устройства сверх установленного лимита происходит отключение первого подключенного по принципу "карусели", а при попытке авторизации базового устройства возвращается ошибка авторизации, таким образом система позволяет одновременно использовать только установленное по тарифному плану количество базовых устройств.
- Добавлена возможность отключения проверки IP-адреса для функции "Мультиабонемент"
- Добавлена возможность отключения проверки IP-адреса при авторизации абонентского устройства при обращении к видео-сервису HTTP Streamer
- Улучшение внешнего вида и удобства главного меню панели администратора Smarty
- Понятие "Клиент" в смысле Customer переименовано в понятие "Абонент"
- Исправление ошибки добавления файла для фильма при использовании СУБД Oracle
- Исправление ошибки задержки запуска сервера приложений при отключенном сервере MongoDB для модуля Reports
- TVMW API: поле
parent_control
переименовано вis_parent_control
- Исправлена ошибка, из-за которой при нескольких одновременных подключениях в течении одной секунды мог генерироваться одинаковый ключ сессии в TVMW API
- Добавлена новая логика формирования списка телеканалов в TVMW API: если у абонента согласно подключенным тарифным планам и настройкам системы для какого-либо телеканала не найдено ни одного доступного видео-сервиса, то этот канал не попадает в список
- Добавлен метод TVMW API /api/health/check/ - проверка доступности сервера приложений для использования HTTP-балансировщика (например, alteon или nginx)
- В модель "Аккаунт" добавлено поле "Описание статуса", а также в соответствующие методы API поле status_reason. Может быть использовано для интеграции с биллингом и изменения логики приложения в зависимости от статуса аккаунта.
- Исправлена ошибка страницы редактирования параметров виджета
-
smarty v. 1.24
changelist:
- Исправление ошибки, связанной с автоматическим подключением тарифных планов с флагом "по-умолчанию" при регистрации через API
- Оптимизирована работа механизмов кеширования
- Добавлено логирование действий пользователей в панели администратора
- Добавлено логирование запросов к контенту
- Изменения в виджете для сайта "EPG" - выделение каналов с пустой программой, выделение прошедших передач, текущей и будущих, исправлена ошибка выборки по дате
- Alpha-версия нового модуля - videoservices, для управления видео-серверами Microimpuls
- Исправлена ошибка при скачивании картинок EPG в ситуации, когда сервер EPG недоступен
- Исправлена ошибка экспорта в CSV на странице транзакций
- Исправлены ошибки в модуле Monitoring, связанных с выборкой по дате и отображении дат в графиках
- Добавлен скрипт ротации логов Smarty через logrotate.d
- Удалены deprecated-механизмы кеширования и API views
- В метод TVMW API /channel/list добавлено поле
next_program
, полеnext_programs
удалено - В парсер EPGService добавлена автоматическая проверка на день недели и запрос EPG на последующую неделю
- Исправлена ошибка проверки IP-адреса для функции "Мультиабонемент"
- Исправлена ошибка, связанная с вызовом distinct для NCLOB при работе с Oracle для API группы "ТВ по интересам"
- Для TVMW API program/category/channel/list добавлено поле
program_preview_url
- Исправлена ошибка авторизации MongoDB для модуля Reports
- В панели администратора теперь при попытке перехода на страницу редактирования недоступного объекта вместо страницы с ошибкой пользователь перенаправляется на страницу списка
-
release:
smarty v. 1.40Внимание! Новая документация Billing API: https://microimpuls.github.io/smarty-billing-api-docs/
Внимание #2! Новый обязательный модуль - videoservices. Не забудьте установить его и прописать в конфиге в INSTALLED_APPS.
Внимание #3! В настройках инстанса не забудьте добавить новый параметр MEDIA_BASE_URL, можно сделать его равным SMARTY_URL.
changelist:
- Понятие "Видео-сервис" переименовано в "Стриминг-сервис" (логический объект маршрутизации стриминга), добавлено понятие "Видео-сервер" (физический сервер или инстанс видео-сервера)
- В модуле
videoservices
(видео-серверы) реализована интеграция с MicroPVR и Micromanager (конфигуратор, мониторинг потоков, мониторинг состояния, инжестирование контента VOD) - Добавлена возможность привязки стриминг-сервиса к видео-серверу для интеграции и автоматического вызова некоторых функций через API (включение и мониторинг записи каналов, получение мета-информации ассетов VOD, авторизация потоков)
- В Billing API добавлены новые методы: AccountTariffAssign, AccountTariffRemove, CustomerModify, AccountModify, AccountInfo, CustomerDelete, AccountDeviceCreate, AccountDeviceDelete, AccountMessageCreate
- В Billing API в методе CustomerInfo в ответ добавлено поле
tariffs
- В Billing API в методе TransactionCreate поле
id
переименовано вext_id
- Изменены коды ошибок в Billing API
- Исправлена ошибка включения модуля
reports
в настройках устройства - Улучшено удобство панели администратора на страницах настройки стриминг-сервисов, фильмов и ассетов VOD
- Добавлен новый тип виджета Site-Widgets API - платёжная форма
- Исправлена работа функции импорта описания фильма с сервиса Кинопоиск, добавлены недостающие поля
- Исправлена ошибка, из-за которой не работала кнопка "Назад к списку" в форме создания платежа
- Для объекта "Радиостанция" добавились поля: иконка и описание
- Улучшено удобства панели администратора: на страницах списков телеканалов, абонентов, аккаунтов, устройств, фильмов, тарифных планов и т.д. добавлены фильтры по полям с возможность мультивыбора, экспорт данных в CSV
- В модуле
reports
исправлена ошибка с графиком рейтинга передач, если название передачи - пустая строка - В модуле
reports
исправлена ошибка, приводящая к некорректному подсчету длительности телесмотрения для аккаунтов с несколькими тарифами и стриминг-сервисами - Для нелинейных сервисов в URL добавлен параметр
endless=1
для устройств Samsung и Android STB (для возможности включения на видео-сервере режима "бесконечного" вещания записывающегося файла без проверки на Content-Length - функция поддерживается сервером MicroPVR) - Возможность привязки тарифных планов к аккаунтам (ранее только к абонентам)
- Оптимизация алгоритмов привязки и выборки тарифных планов к аккаунтам и абонентам
- Кластерный механизм выполнения задач планировщика (импорт EPG, проверка баланса, рассылка сообщений и т.д.)
- Для фильмов добавлены понятия "Период публикации", "Рейтинг Кинопоиска", "Рейтинг IMDB"
- Оптимизация механизма кеширования EPG - убрана лишняя метаинформация для уменьшения размера кеша
- Механизм проверки доступности стриминг-сервисов с помощью Ping, TCP connect, API call, HTTP GET для возможности автоматической балансировки
- Исправление ошибки проверки сессий при авторизации с устройств типа "Базовое устройство"
- Добавлен модуль
external_api
- механизм исходящих запросов к API внешних систем с возможностью наследования под конкретную систему оператора, например фунция запроса баланса, покупки контента и др. в биллинговой системе оператора - Функция сохранения прерванной позиции просмотра архивной передачи и VOD
- Возможность привязки стриминг-сервиса к IP подсетям
- Возможность подключения внешнего Javascript-скрипта к виджету Site-Widgets
- Исправлена ошибка удаления некоторых объектов из панели администратора
- В настройки Smarty добавлена новая опция MEDIA_BASE_URL - базовая часть URL для подстановки к относительному URL иконки или обложки контента
- Исправлена ошибка, из-за которой могла пропасть дата в поле редактирования объекта
- Добавлен механизм сохранения напоминаний EPG и их выдачи при запросе ссылок на контент
- Сообщения теперь привязываются к аккаунту, а не к абоненту
- Новые возможности сообщений - срочные сообщения и неудаляемые сообщения (требуется поддержка в портале)
- Возможность скачивания и оптимизации обложки на сервере Smarty с Кинопоиска
- Возможность отображения в портале раздела "Новинки" для VOD (добавлен параметр в метод TVMW API VideoList)
- Для ассетов VOD добавлен признак "Трейлер"
- Возможность создания тематических пакетов фильмов для VOD
- В методы TVMW API ChannelList и ProgramCategoryChannelList добавлено поле
rating
(возрастной рейтинг контента) - Реализовано логирование для всех модулей и действий в панели администратора
- Исправлена ошибка фильтрации стриминг-сервисов по типу устройства, если тип устройства не передан, которая могла возникать при использовании сторонних приложений
- Исправлена ошибка, из-за которой при создании аккаунта через Billing API для аккаунта не присваивался ПИН-код
- В парсер EPG xmltv_common добавлена поддержка таймзон виде +0500
- Возможность просмотра состояния кеш-серверов Redis в панели администратора
- Поле
max_archive_duration
в методе TVMW API ChannelList и ProgramCategoryChannelList - Для стриминг-сервисов добавлена возможность задания приоритета: в ситуации, когда для контента найдено несколько доступных стриминг-сервисов, предпочтение будет отдано сервису с большим приоритетом
- Возможность поиска каналов, передач, радиостанций и фильмов в TVMW API
- Исправлена ошибка, из-за которой в панели администратора при создании транзакции она могла быть неверно привязана к абоненту
-
release:
smarty v. 1.41changelist:
- Возможность выбора тарифных планов для аккаунта в форме редактирования аккаунта (функция пока не документирована)
- Рефакторинг TVMW API
- Исправлена ошибка с форматом дат в формах редактирования аккаунта, абонента, фильма
- Исправлена ошибка работы с EPG кешем в случае, если EPG устарела
- Небольшие исправления в модуле external_api
- Скачивание логотипа канала с источника epgservice в случае, если для программы не задана обложка
- Установка класса для body в виджете для сайта "Платежная форма" в случае успешной и неуспешной оплаты
- Импорт возрастного рейтинга фильма с сервиса Кинопоиск
- В разделе "Абоненты" добавлен поиск по всем номерам телефона по вхождению
- В разделе "Аккаунты" поиск по ФИО исправлен на поиск по вхождению
- Исправление ошибки с избыточными подключениями к MongoDB, уменьшение таймаутов подключения
-
Это сообщение удалено!
-
release:
smarty v. 1.42Заметки к релизу:
Если в БД уже создана таблица sms_sms и при выполнении миграции возникает ошибка:
django.db.utils.OperationalError: (1050, "Table 'sms_sms' already exists")
то необходимо добавить параметр
--fake-initial
:python manage.py migrate --fake-initial --settings=<settings.smth>
changelist:
- Исправлена ошибка экспорта данных в CSV.
- Добавлен парсер EPG "dummy_source" для генерации 15-минутных интервалов EPG. Может быть использован для каналов без EPG для возможности их удобного просмотра в режиме архива.
- Расширение API ProgramCategoryChannelList
- В метод ProgramListSearch добавлен параметр
skip_unavailable
для скрытия из выборки программ, недоступных для просмотра - Исправлена ошибка поиска по UID устройства
- Расширение Site-Widgets API - возможность показа содержимого виджета на сайте по прямому URL без iframe
- Исправлена ошибка миграции - в некоторых случаях при первичной установке не создавались таблицы для модуля sms
- Поиск по полям "Фамилия" и "Имя" теперь осуществляется через общее поле на странице "Абоненты"
-
release:
smarty v. 1.43changelist:
- Исправлена ошибка навигации по страницам в разделе панели администратора "Фильмы"
- Исправлена ошибка в сохранении данных метода Billing API AccountModify
- Исправлена ошибка смены базового тарифа через виджет "Личный кабинет"
- Добавлена поддержка CORS через файл конфигурации Smarty, опция CORS_ORIGIN_WHITELIST
- Исправлена ошибка навигации по страницам в разделе панели администратора "Телепрограмма"
- Исправлена ошибка, возникающая при редактировании аккаунта с пустым паролем
- Исправлена ошибка, связанная с обновлением списка элементов в панели администратора при изменении количества отображаемых элементов
- В метод Billing API AccountInfo добавлено поле
customer_id
- Исправлена ошибка, из-за которой сбрасывалась фильтрация данных при переходе по страницам в разделе панели администратора "Аккаунты"
- В опции подключения к Mongo DB (модуль Reports) добавлены таймауты socketTimeoutWS и waitQueueTimeoutMS для стабилизации работы при перегруженном сервере Mongo
- Улучшение верстки раздела "Отчеты" (beta)
- Поле "Номер паспорта" расширено до 15 символов
- Исправлена ошибка в механизме авторизации базовых и дополнительных устройств
- Опция аккаунта "Разрешить авторизацию по UID устройства" теперь включена по-умолчанию
- В методы TVMW API Login и AccountStatus добавлено поле
status_reason
- Возможность фильтрации и улучшение UI страницы "Радиостанции" в панели администратора
- Добавлена поддержка метода IsAlive для видео-сервиса Microstreamer
- Исправление ошибки в парсере EPG walla.py, из-за которой иногда создавались передачи с неправильным временем
- В парсере информации о фильме с Кинопоиска исправлен адрес главного постера на основной на странице фильма
- В модуле Videoservices обновлена схема файла конфигурации Micromanager v. 1.4.5
- Исправлена ошибка, из-за которой в панели администратора не сохранялись тарифные планы аккаунта
- Возможность проверки доступности видео-сервисов, используя несколько методов проверки одновременно
- Улучшение UI раздела "Отчеты" в панели администратора, возможность экспорта данных в CSV
- Исправлена ошибка генерации authkey, возникающая при авторизации устройств в некоторых случаях
- Для фильмов добавлен параметр "Длительность", используемый для отображения в портале
- Увеличено количество отображаемых ассетов на странице ассетов фильма
- Исправлена ошибка проверки csrf token на страницах "Аккаунты" и "Каналы", приводящая к невозможности удалить данные
- Исправление ошибки автоматической привязки канала к EPG, если в БД есть несколько подходящих EPG-каналов
- Поле "Категория" для канала теперь необязательное
-
release:
smarty v. 1.44changelist:
- Поиск по полю Device UID в панели администратора теперь работает по неполному вхождению подстроки
- В панели администратора в редактор конфигурации видео-серверов Microimpuls добавлена кнопка Properties
- Возможность экспорта в CSV для страницы "Радиостанции" в панели администратора
- В разделе панели администратора "Видео-сервисы" добавлен конфигуратора для Microporter
- Метод TVMW API PortalSettingsList теперь возвращает поле
backend_version
с версией Smarty - Добавлена недостающая локализация для некоторых полей панели администратора
- Возможность создания пользователей без доступа в служебную панель администратора, но с возможностью переключения между разными операторами (Client ID)
- Поле "Возрастной рейтинг" при сохранении фильма теперь не обязательно
- В модуле "External API" добавлен параметр "tariffs"
- Исправлена ошибка сохранения неподтвержденных транзакций при покупке фильма с использованием встроенного биллинга
- Исправление мелких ошибок в Billing API
-
Это сообщение удалено!
-
release:
smarty v. 1.47Внимание! После установки обновления необходимо вручную удалить папку
/usr/share/nginx/html/microimpuls/smarty/core/logging
, если она существует.Внимание #2! Теперь Smarty распространяется в виде единого установочного пакета smarty-base*.deb. Для избежания конфликтов при установке нового пакета необходимо удалить старые пакеты, предварительно сделав резервную копию:
dpkg -r smarty-ads smarty-billing smarty-docs smarty-monitoring smarty-reports smarty-sms smarty-tvmiddleware smarty-videoservices smarty-widgets
changelist:
Список изменений включает также изменения промежуточных версий 1.45 и 1.46.
- При установке пакета теперь устанавливаются права www-data:www-data для директории логов и web-директории
- Dev-версии пакета Smarty больше не собираются
- Исправления в работе клиента redis для кластерного режима
- Интеграция СМС-шлюза mobipace (http://mi-smarty-docs.readthedocs.io/ru/latest/installation_and_configuration.html#mobipace-com)
- Интеграция с онлайн-кинотеатром Megogo (http://mi-smarty-docs.readthedocs.io/ru/latest/integration.html#megogo)
- Улучшение формата логов Smarty
- Добавлена возможность разблокировки аккаунта с помощью передачи флага
reset_block_status_reason
в метод TVMW API Login - Доработка логики авторизации: если дополнительный статус аккаунта "Неактивен", то для аккаунта авторизация запрещена
- Доработка логики авторизации: аккаунты в статусе "Ожидание активации" при авторизации теперь переходят в статус "Активен"
- Доработка логики авторизации: при авторизации аккаунта с опцией "Мультилогин" теперь не осуществляется привязка устройства
- В запросы к MicroPVR-стримеру теперь добавляется Account ID в аргументе
aid
- Внутренний рефакторинг общей функциональности модулей Smarty
- Все проверки Device UID (MAC-адреса устройств) теперь проводятся без учета регистра (для решения возможных ошибок при миграции данных из сторонних систем)
- Множественное редактирование в панели администратора для разделов "Фильмы" и "Каналы"
- Исправление ошибки миграции при недоступном сервере MongoDB
- Доработка отображения статуса инжестирования и дистрибуции VOD в модуле "Видеосервисы"
- Оптимизация индекса при выборке данных EPG, ускорение работы TVMW API ProgramList и связанных с ним
- Исправление ошибки страницы списка аккаунтов на Oracle "inconsistent datatypes: expected - got NCLOB"
- Доработка метода проверки доступности стриминг-сервисов Microimpuls с помощью вызова метода IsAlive
- Добавлено логирование management-команды
check_accounts
- Функциональность дочерних Client ID для возможности хостинга бекенда Smarty для мета-виджетов (мультипровайдерных приложений с возможностью автоматического определения оператора по IP либо ручного выбора оператора абонентом)
- Возможность отключения функциональности мультилогинов на системном уровне
- Исправление ошибки генерации правильных URL для PVR и VOD сервисов при использовании HLS для старых Samsung Smart TV
- Возможность добавления нескольких ассетов по маске имени в VOD
- Обновление JSON-схем конфигурации для серверов micromanager 1.7.0, micropvr 1.8.0 в модуле "Видеосервисы"
- Добавлена management-команда delete_authkeys для удаления всех сессий для заданного Client ID
- Возможность установки ограничения на аккаунт на авторизацию только в рамках указанного IP-адреса или подсети
- Проверка совместимости версии MongoDB для модуля Reports
- Добавлена возможность удалять сессии аккаунта из панели администратора
- Настройка времени жизни сохраненных позиций просмотра контентов теперь отдельная для VOD и PVR
- Исправлены ошибки скрытого удаления дочерних объектов при удалении родительских в Smarty
- Размер поля "Название компании" для абонента увеличен до 256 символов
- Размер поля "ПИН-код" для аккаунта увеличен до 16 символов
- Добавлены новые типы внешних приложений "Android settings" и "Android apps"
- Добавлен новый раздел в панели администратора - "Покупки контента"
- В CSV-экспорт со страницы фильмов и каналов добавлены недостающие поля
- Исправлена ошибка на страница списка абонентов "TypeError django.db.models.fields.related in get_lookup error Related Field got invalid lookup: device_type"
- Добавлен параметр
exclude_service_id
в метод TVMW API VideoUrl для возможности перебора стриминг-сервисов на устройстве (возможность реализации отказоустойчивости на клиенте) - В модуле "Видеосервисы" добавлены страницы мониторинга и конфигурации ПО microporter и microstreamer
- Исправлены имена полей в фильтрах на странице списка устройств
- Добавлено ограничение на допустимые значения в фильтрах для полей ввода чисел в панели администратора
- Исправление ошибки, из-за которой не работала сортировка объектов стрелками в списке
- Исправлена ошибка в редакторе конфигураций видео-серверов Microimpuls (модуль "Видеосервисы")
- Добавлена возможность обновления EPG только для заданного телеканала (management-команда epg_import)
- Исправлена ошибка авторизации абонента с базового устройства, но с отсутствующими тарифными планами
- Возможность удаления старых сессий, которые не были онлайн в течение длительного количества времени (опция TVMIDDLEWARE_CLEAN_OLD_SESSIONS_DAYS, по умолчанию 3650 дней)
- Добавлена возможность выгрузки статистических данных в службу statsd
- Исправлена ошибка "account_device_error: ValueError: Cannot assign None: "AccountDevice.device" does not allow null values."
- Добавлена функциональность сохранения выбранного PVR стриминг-сервиса в рамках одной сессии аккаунта
- Исправлена ошибка, из-за которой могли не отправляться запросы к серверу PVR на создание/отмену задач записи при создании нескольких стриминг-сервисов, указывающих на один и тот же PVR-сервер
- Исправлена ошибка, из-за которой в ответе Billing API TariffList возвращались отключенные каналы
- Добавлено логирование выбора и маршрутизации стриминг-сервисов
- Метод Billing API CreateTransaction теперь позволяет создавать транзакции покупки контента
- Оптимизация алгоритма поиска EPG
- Флаг "Устройство является базовым" перенесен на уровень Client ID и редактируется теперь в настройках устройств оператора (добавлена соответствующая миграция, которая переносит существующие настройки на уровень всех Client ID)
- Добавлено логирование кластерного выполнения management-команд (RQ)
- Добавлено логирование отправки email
- Исправлена ошибка при запросе метода TVMW API VideoDetail "UnicodeEncodeError tvmiddleware.api in get error 'ascii' codec can't encode characters in position 0-8: ordinal not in range(128)"
- Исправлена ошибка при запросе метода TVMW API SettingsSave "AttributeError core.cache.backends in invalidate_obj error 'NoneType' object has no attribute '_meta'"
- Добавлен интерфейс StreamService API и метод проверки токена StreamServiceTokenCheck для интеграции авторизации с внешними видео-серверами (пример: http://mi-smarty-docs.readthedocs.io/ru/latest/integration.html#astra)
- Реализовано сохранение серийного номера устройства в момент авторизации и привязки устройства к аккаунту
- В балансировщике стриминг-сервисов реализован алгоритм учета сетевого расстояния по заданным IP-подсетям
- В методе TVMW API ProgramListSearch (поиск EPG) теперь возвращаются и будущие передачи (для возможности установки напоминаний в абонентском приложении)
- Для каналов в качестве названия передач теперь возвращается пустое значение, если передача не найдена (ранее возвращалось название канала)
- Удалена опция TVMIDDLEWARE_API_NEXT_PROGRAMS_COUNT
- В методе TVMW API AccountStatus теперь возвращается флаг
channel_list_changed
, означающий, что для аккаунта произошли изменения в списке каналов и необходимо обновить список целиком (ранее список обновлялся по таймауту и могли быть "лишние" вызовы полного списка каналов с сервера) - В настройках стриминг-сервиса добавлена возможность отключить проверку IP-адреса клиента (рекомендуется отключать эту проверку, если возможны ситуации, что запрос от устройства к Smarty и к видео-серверу может прийти разными маршрутами и с разных белых IP-адресов)
- Метод TVMW API Login при ошибке теперь возвращает поле abonement со значением "-1"
- Добавлена обработка ошибок при передаче пустого
client_id
в запросы TVMW API ("invalid literal for int() with base 10: ''") - Исправлена ошибка сброса пароля аккаунта при передаче пустого пароля в методах Billing API
- Исправлена ошибка, из-за которой в модуле "Видеосервисы" в группах могли отображаться группы других Client ID
- Изменение логики работы методов Billing API *Modify - не переданные значения теперь принимают текущие значения редактируемого объекта, а не значения по умолчанию
- Максимальное время ожидания подключения к MongoDB (модуль Reports) изменено на 2000 мс
- Добавлено поле "Rating offset" для объекта EPGSource - возможность при импорте изменения возрастного рейтинга на нужный оффсет
- Исправлена ошибка, из-за которой на мобильные устройства могли возвращаться Multicast-каналы
- Объекты Client теперь сортируются по имени в выпадающем списке
- Исправлена ошибка привязки передач телеканала к определенной EPG-категории при явном указании категории в настройках объекта EPGChannel
-
release:
smarty v. 1.48changelist:
- Megogo: исправлена ошибка воспроизведения фильмов на Samsung Orsay старых моделей
- Megogo: добавлена поддержка приставки TVIP
- Добавлена возможность запрета авторизации на базовых или запрета авторизации на дополнительных устройствах, а также возможность установки неограниченного количества сессий для мультиабонементов
- Исправлено отображение названий тарифных пакетов в виджете "Личный кабинет"
- Добавлены новые роли для прав доступа пользователей
- Актуализирована схема API для ПО Microimpuls для модуля "Видео-серверы"
- Испралена ошибка, из-за которой невозможно было получить информацию об ассете, если в имени был пробел
- Доработано логирование действий пользователей в панели администора
- Оптимизирован алгоритм определения текущего количества онлайн аккаунтов и устройств
- Исправлена ошибка при сохранении абонента в случае конфликта номера договора
- Исправлена ошибка, из-за которой при логауте абонента из интерфейса на устройстве удалялись сесиии базовых устройств на сервере Smarty
- В лог-файлы добавлена ошибка авторизации "account_does_not_exists" и "wrong_password" при ситуациях ввода неправильного логина или пароля соответственно
- Улучшен формат логов "accounts_login", "billing_out" и других
- Megogo: исправлена ошибка "Internal Server Error: /api/tvmiddleware/api/video/url/"
- Исправлена ошибка сброса пользовательской сортировки каналов
- Категория каналов "Рекомендуемые" перенесена в начало списка
- Метод Billing API TransactionCreate в поле
video_available_until
теперь принимает дату и время - Добавлено ограничение по валютам для платежных систем. Платежные системы, не поддерживающие прием валюты пользователя, не показываются в списке доступных при оплате через личный кабинет
- Добавлена поддержка платежного шлюза Paymentgate (arca.am)
- Исправлена ошибка Error 500 при редактировании параметров виджета для сайта
- В список файлов, ожидающих инжестирование, добавлена возможность перехода по страницам
- Оптимизирован модуль reports - тяжелые выборки не выполняются, пока не уточнены фильтры
- Добавлен лог-файл "smarty_api_requests", в который логируются все запросы к TV-Middleware API
- В метод Billing API CustomerInfo добавлены новые поля - находится ли аккаунт в пробном периоде (
on_trial_period
) и количество платежей (payments_count
) - Исправлена ошибка, из-за которой на странице редактирования прав пользователя дублировалось поле "Can delete messages"
- Megogo: добавлена поддержка коллекций фильмов Advod и Fvod
- Megogo: исправлена ошибка, возникающая при покупке подписки на фильм в некоторых ситуациях
- Отключено логирование в лог "smarty_accounts" при изменении поля last_active у аккаунта из-за регулярного вызова метода AccountStatus
- Добавлены типы стриминг-сервисов для более удобной поддержки RTSP-протокола с автоматическим формированием корректных RTSP ссылок для видео-сервера Microimpuls
- Опция проверки IP-адреса при авторизации мультиабонемента по умолчанию теперь отключена
- Значение количества дней для ротации логов Smarty в конфиге logrotate.d по умолчанию теперь 45 дней
- Рефакторинг и улучшение верстки и удобства раздела "Тарифные пакеты" в панели администратора Smarty
- Исправлена ошибка, из-за которой в некоторых случаях не срабатывала возможность авторизации аккаунтов с подключенными тарифными пакетами с опцией "Доступен для неактивных аккаунтов", позволяющей создать пакет услуг для должников
- Исправлена ошибка, из-за которой для Tizen формировалась неправильная ссылка на PVR, что приводило к ошибкам воспроизведения "бесконечных" потоков из отложенного просмотра с некорректным content size
- Исправлены некоторые ошибки в локализации