I. Движок конвертации и хранения
Полностью переделана интеграция с CDN. Если раньше KVS поддерживала фиксированный набор CDN провайдеров, то теперь можно подключить любого CDN провайдера. Для этого достаточно реализовать набор типовых функций (API для данного CDN).
Реализована функция полной проверки отдачи контента с сервера хранения. Если раньше для каждого сервера были доступны отдельные опции "проверить прямую ссылку", "проверить защищенную ссылку" и "проверить стриминг", то сейчас эти опции заменены одной опцией, которая в автоматическом режиме проверяет отдачу всех возможных файлов с сервера и даже работу стриминга. Все проверки учитывают различные настройки защиты: например, прямые ссылки на видеофайлы не должны работать, прямые ссылки на файлы форматов альбомов должны работать только для тех форматов, которые доступны публично и т.д. Этот механизм позволяет с легкостью проверить настройки любого сервера хранения.
Улучшена интеграция удаленных серверов конвертации с главным сервером. На главном сервере по каждому серверу конвертации можно посмотреть не только лог, но и ответы всех библиотек, которые используются на данном сервере конвертации. Также добавлена возможность указывать смещение во времени, чтобы избежать ложных ошибок о неработоспособности серверов конвертации, если время на них отличается от основного.
В форматы видео наряду с возможностью переопределять ватермарки для разных спонсоров через доп. поля контент провайдеров добавлена похожая возможность переопределять ограничение длительности для разных спонсоров.
В случае создания трейлеров, состоящих из нескольких частей, добавилась галочка, которая позволяет создать последнюю часть с конца видео. Ранее такой возможности не было, и последняя часть трейлера создавалась с начала последнего фрагмента, что не всегда является желаемым поведением.
Оптимизировано создание большого кол-ва одинаковых трейлеров с разными опциями качества. Выигрыш по времени очень существенный!
При пересоздании какого-либо формата видео через массовое редактирование появилась опция выключить наложение ватермарка для данной операции. Эта опция имеет смысл если в качестве исходного файла видео выступает один из существующих форматов, на который уже наложен ватермарк - таким образом, не произойдет наложение ватермарка повторно.
Добавлена возможность удалить таймлайновые скриншоты для любого формата видео, где их создание выключено. Это может потребоваться для увеличения свободного места, если таймлайновые скриншоты вам больше не нужны.
Полностью переделан движок по созданию тумб скриншотов и фотоальбомов. Снижено количество промежуточных вызовов ImageMagick, исправлена проблема с качеством сжатия получаемых скриншотов / изображений.
Улучшено логгирование всех фоновых задач движка конвертации. Также реализован учет % выполнения для всех задач (ранее % показывался только по задачам, которые работали над группой контента). Теперь можно видеть % выполнения задачи создания нового видео, например.
В форматы скриншотов добавлена вторая строка опций ImageMagick, которая используется только для скриншотов, которые загружаются вручную. Ранее для загруженных вручную скриншотов происходил только ресайз и наложение ватермарка, что не позволяло никаким образом производить пост-обработку для загруженных вручную скриншотов. Сейчас такой проблемы не осталось.
Добавилась возможность создать формат скриншотов с размером исходника видео (то есть такие скриншоты будут иметь разный размер в зависимости от размеров исходного видео). Для этого в качестве размера скриншотов нужно использовать специальное слово source.
Каждая фоновая задача теперь имеет свой отдельный лог.
II. Платный доступ
Введена поддержка токенов в качестве альтернативы премиум доступу, ограниченному по времени. Токены доступны для стандартных (не премиум) пользователей и могут быть как куплены через интеграцию с платежной системой, так и "заработаны" за какие-то действия в мемберзоне. Пользователи могут использовать доступные у них токены для покупки премиум доступа к контенту. При этом статус пользователя будет оставаться стандартным, но к купленному контенту у них будет доступ как у премиум пользователей. Таким образом, концепцию токенов можно использовать одновременно с концепцией премиум доступа, ограниченного по времени.
Добавлена страница настроек мемберзоны, на которой можно включить возможность использовать токены для покупки доступа к стандартным / премиум видео и фотоальбомам, а также указать стоимость по умолчанию для этих 4 групп контента. Для каждого видео или фотоальбома в отдельности можно переопределить его стоимость на странице редактирования или через массовое редактирование.
На странице настроек мемберзоны также добавлена возможность настроить награды пользователям за действия в мемберзоне (кол-во зарабатываемых токенов за каждое действие): регистрация на сайте, загрузка аватара, отправка комментария (с минимальным ограничением длины), загрузка видео (с минимальным ограничением длительности), создание фотоальбома (с минимальным ограничением кол-ва фотографий).
Для мемберов на сайте можно вывести списки купленных ими видео и фотоальбомов.
Реализована давно ожидаемая возможность настраивать относительные даты появление контента в зависимости от даты регистрации пользователей. Эта возможность включается через системный конфиг, поскольку она сильно изменяет поведение сайта и панели администрирования, и по умолчанию она выключена. В случае включения, у вас появится возможность указывать смещение в днях относительно регистрации как в положительную сторону (номер дня после регистрации, например 1 означает, что контент станет доступен сразу после регистрации, 10 означает, что такой контент станет доступен на 10-й день после регистрации), так и в отрицательную сторону :=) Последнее означает, что такой контент будет виден еще до регистрации (т.е. незалогиненным пользователям), а его дата появления будет показываться в зависимости от текущей даты на сервере. Например, контент с датой постинга -10 всегда будет показываться как добавленный 10 дней назад независимо от текущей даты. Относительные даты появления контента могут использоваться одновременно с абсолютными датами, так что часть контента может использовать одну концепцию, вторая часть - другую.
Реализована возможность интегрировать сайт KVS с любой партнеркой, которая работает через .htpasswd файлы. Теперь можно без проблем мигрировать любую партнерку на KVS - для входа в мемберзону нужно организовать логин через специальный скрипт, который следует положить в папку, закрытую через .htpasswd. Данный скрипт при необходимости создаст пользователя в базе KVS и залогинит его. При этом никаких изменений в концепции работы партнерки не требуется, только ваш старый сайт заменится новым сайтом на KVS.
В блоке регистрации при настройке платного доступа через биллинги кредитных карт добавлена возможность использовать сгенерированные логин и пароль, чтобы не требовать от пользователя их ввода. Тогда форма регистрации сократится до простого выбора пакета доступа.
Концепция логгирования биллингов полностью изменена в новой версии. Лог всех событий сохраняется в базу данных, что позволяет сделать возможность выборок с фильтрами.
III. Мультиязычность сайта и контента
Добавлена поддержка мультиязычности контента, что является, наверное, одним из самых объемных изменений новой версии. В панели администрирования можно создавать дополнительные языки и добавлять переведенные названия и описания для контента и всех объектов категоризации. Добавлен отдельный интерфейс перевода объектов, а также возможности перевода видео и альбомов прямо на страницах их редактирования.
В движок сайта внесены изменения, которые позволяют сайту работать в режиме одного из дополнительных языков. При этом 100% наличия переводов не требуется, если какие-то объекты не были переведены - по ним будут показываться их основные названия и описания. Кроме локализации данных, в движок добавлена поддержка локализации шаблонов путем создания языковых файлов с переведенными текстовками. Реализация мультиязычного сайта может быть выполнена по нескольким подходам, которые описаны в документации.
Блоки комментариев на сайте стало возможно перевести на отображение только комментариев из текущей локали - для каждого комментария запоминается локаль, в которой он был отправлен. Эта возможность по умолчанию выключена, таким образом блоки будут по умолчанию отображать все комментарии.
Добавился плагин анализа лога аудита, который кроме отображения суммарной статистики по действиям работников-администраторов, может также использоваться для учета работы переводчиков. Все действия по переводу попадают в лог аудита, что позволяет высчитать кол-во переведенных символов за любой промежуток времени.
IV. Фотоальбомы
Наконец-то мы вынесли хранение фотоальбомов на аналогичную архитектуру хранения, как и для видео. Теперь можно создать отдельную группу серверов (у каждой группы серверов появился тип: видео или фотоальбомы) для хранения всех файлов фотоальбомов: исходников, форматов и ZIP архивов.
Обработка фотоальбомов вынесена на сервера конвертации.
Добавлена возможность загрузки нескольких фотографий по одной, а не только в ZIP файле.
Функциональность фотоальбомов в панели администрирования практически сравнялась с функциональностью по видео: добавлена поддержка режима "дескописателя", добавлена возможность отображения фотографий на главной странице редактирования фотоальбома, расширен набор фильтров на списке.
Добавлена поддержка импорта фотогалерей.
V. Плеер
Добавлена базовая поддержка HTML5 режима. HTML5 режим может использоваться в случае проигрывания MP4 файлов и включается автоматически при отсутствии поддержки Flash у пользователя.
В настройках плеера появилась возможность выбирать режим embed кода: iframe (поддерживает HTML5) или типовой embed код (только Flash). Эта настройка влияет на все embed коды, которые генерируются KVS.
В случае наличия выпадающего списка с форматами качества плеер будет запоминать выбранный пользователем формат и автоматически выбирать его для других видео.
При наведении на кликабельный логотип происходит его небольшое размытие как индикатор кликабельности.
Устранены некоторые существенные проблемы, которые ранее были анонсированы патчем.
VI. Импорт контента и фиды
Удобство импорта: добавлены останавливаемые фоновые задачи и защита от переполнения HDD на главном сервере. Теперь после начала импорта вы можете видеть фоновую задачу, которая показывает % выполнения импорта и имеет свой лог. Вы можете удалить задачу, что приведет к остановке процесса импорта. В случае, если на главном сервере заканчивается свободное место (можно настроить лимит), процессы импорта приостанавливаются до тех пор, пока место не освободится. Такое может случаться в случае импорта большого объема данных, когда исходные файлы временно скачиваются на сервер для последующей обработки.
Данные всех импортов сохраняются на файловой системе. При необходимости вы можете найти данные, которые вы импортировали ранее.
Добавлена опциональная проверка ссылок на дубликаты, что позволяет защититься от повторного импорта одного и того же контента (если он импортируется по тем же ссылкам, что и ранее).
Добавлено использование синонимов категорий и псевдонимов моделей при импорте контента. Теперь новые категории / модели не будут создаваться, если уже есть другие категории / модели с такими синонимами / псевдонимами.
В случае импорта псевдо видео добавилась возможность определять длительность и создавать скриншоты на основе ссылки на видеофайл. Это позволяет создавать сайты с одинаковым контентом, но с разным набором скриншотов и редиректом на главный сайт.
Изменена логика определения дубликатов видео в фидах импорта. В старых версиях для составления уникального ключа импортированного видео использовался домен фида, что приводило к проблемам, если на одном домене работают несколько разных фидов, которые отдают разные видео с одинаковыми идентификаторами. В новой версии мы сделали возможность управлять этим аспектом: теперь для каждого фида импорта нужно указывать ключевую строку, которая будет использоваться для определения дубликатов. Таким образом вы сами сможете полностью контроливать поведение фида при определении дубликатов.
Концепция логгирования фидов импорта полностью изменена. Лог всех событий сохраняется в базу данных, что позволяет сделать возможность выборок с фильтрами.
В фиды экспорта добавлена поддержка фильтров по длительности, возможности выдавать только видео, ротация скриншотов которых была завершена, возможности выдавать временные ссылки на видео.
VII. Движок сайта
Появилась возможность создавать глобальные блоки - блоки, которые не привязаны к конкретной странице. Такие блоки имеют глобальные настройки и один шаблон, что позволяет одним махом изменять их, чтобы сразу затронуть все страницы сайта, где эти блоки используются. Область применения - блоки с одинаковым контентом на разных страницах сайта (например, глобальный список тэгов или категорий, который отображается на каждой странице). Если раньше для этого приходилось на каждой странице вставлять отдельный блок и дублировать его настройки для каждой страницы, то теперь настройки можно указать в глобальном блоке. В случае необходимости изменения этих настроек в будущем, их требуется изменить только в 1 месте.
Добавилась поддержка группировки страниц сайта по префиксу в названии.
Для каждой страницы сайта появилась возможность выключить ее в любой момент времени, а также настроить уровень доступа пользователя для открытия этой страницы.
Во всех шаблонах стал доступен список стран. Также мы собрали иконки флагов всех стран и можем предоставить их по требованию (по умолчанию они не включены в продукт).
Исправлены некоторые проблемы с подключением трейдовых движков.
VIII. Социалка
Пользователи могут создавать свои каналы и управлять ими. Для каждого канала они могут выбирать круг лиц, которые могут постить видео в канал: все пользователи, только друзья или только сам владелец канала.
Появилась возможность использовать флаги для каналов.
Добавлен новый тип данных - плэйлисты. Пользователи могут создавать свои плэйлисты и управлять ими. Добавлена поддержка нескольких типов закладок, которые вы можете использовать на сайте по своему желанию. При добавлении видео в закладки появляется возможность сделать выпадающий список, где пользователи могут выбрать в какой тип закладок добавить либо выбрать один из плэйлистов. Пользователи также могут перемещать видео между своими плэйлистами.
Добавлена концепция доверенных пользователей, любые действия которых не требуют проверки администратором.
Добавлена возможность показывать историю просмотров контента любого пользователя.
Пользователи могут заполнять / изменять свое статус сообщение. Изменение статус сообщения отражается в событиях сайта.
В массовых рассылках добавлена возможность фильтровать адресатов рассылки по статусу: всем активным, только премиум пользователям или только вебмастерам.
При регистрации добавлена возможность указать свой ник (в дополнение к логину). Ранее возможность изменять ник была доступна только после регистрации на странице редактирования профиля.
IX. Комментарии
Структура хранения комментариев полностью изменена, а сам раздел комментариев перенесен в раздел пользователей в панели администрирования. Теперь комментарии по всем объектам отображаются в одном списке. Это изменение также позволило убрать тормоза с блока list_comments, который выводит глобальный блок комментариев на сайте.
Анонимные пользователи теперь могут опционально подписывать свои комментарии.
Добавлена поддержка смайлов и bb-кода.
Для каждого блока комментариев появилась возможность настроить, требуют ли проверки комментарии от зарегистрированных пользователей.
X. Панель администрирования и юзабилити
Самая главное улучшение версии - опция включения доступа для службы поддержки вынесена на страницу старта :=)
Плагин обновления - мы решили отказаться от идеи последовательных обновлений для вашего удобства. Теперь для обновления версии 3.x на любую 3.y будет достаточно провести процедуру 1 раз, при этом плагин будет лишь требовать выполнение тех шагов, которые актуальны для вашей текущей версии.
На странице логина в панель случае неправильного введения данных показывается число оставшихся попыток перед срабатыванием защиты от перебора.
На любых списках панели администрирования можно выбрать множество объектов в 2 клика. Для этого выберите самый верхний из требуемых, затем кликните на самом нижнем удерживая клавишу Shift. Автоматически выберутся все объекты внутри интервала.
Массовое редактирование видео и фотоальбомов теперь можно запустить по отфильтрованному множеству объектов, даже если они все не отображаются на одной странице. Вам теперь не нужно перенастраивать кол-во отображаемых элементов на списке, чтобы запустить массовое редактирование по 100500 отфильтрованным объектам. Просто настройте фильтр и воспользуйтесь отдельной опцией.
При выборе категорий / моделей теперь можно создавать новые категории / модели сразу на странице редактирования. Для этого просто впишите название нового объекта и выберите соотв. опцию в выпадающем списке (новый объект). При сохранении видео / фотоальбома произойдет автоматическое создание нового объекта категоризации. Также теперь можно копипастить список категорий и моделей, разделенный запятыми, прямо в текстовое поле - ранее такое было возможно только для тэгов.
На страницах редактирования объектов, которые поддерживают категоризацию, добавлено отображение флагов данного объекта с возможностью удалить их. Ранее удаление флагов было возможно только через массовое редактирование.
Добавлена возможность массового переименования тэгов на списке тэгов.
Статистика теперь учитывает суммарно кол-во заходов на страницы видео и альбомов (ранее - только по видео).
Массовое редактирование: добавлена возможность обнуления рейтинга, добавлена возможность сменить владельца контента (администратора, который является владельцем контента). Последнее может использоваться для распределения контента между контент менеджерами с целью исключить какие-либо пересечения в их работе. Для этого в настройках профиля администратора KVS позволяет ограничить доступ только к контенту, владельцем которого является данный администратор.
Добавлены новые фильтры у видео и фотоальбомов, добавлены новые столбцы для отображения в таблице.
В разделе статистики улучшена навигация: добавлены ссылки для связи между разными страницами статистики.
При выводе различных изображений в панели администрирования (скриншоты, фотографии) KVS стал автоматически определять кол-во изображений в строке исходя из размера изображения и разрешения монитора.
Появилась возможность включить привязку изменения названия объекта и его директории. В случае включения, поле директории будет недоступно для изменения и будет изменяться синхронно при изменении названия. Актуально, если у вас работают контент менеджеры, которые изменяют названия контента и иногда могут забывать обнулить значение директории, чтобы она перегенерировалась.
Добавлен новый главный раздел Администрирование, куда перенеслось часть страниц из раздела Настройки, которые не связаны с настройками. Системные Настройки переименованы в Настройки Контента и часть настроек, которые не связаны с контентом вынесены от другие разделы.
XI. Блоки сайта
В конфигурации появилась опция, которая позволяет вынести JS файлы сайта на CDN (указывается URL к статическим файлам). Поскольку KVS подключает JS файлы из движка, сделать это через шаблоны возможности нет.
Появилась возможность показывать похожие видео / фотоальбомы по названию. Для этого используется полнотекстовый поиск по названию. Данные варианты доступны в параметре mode_related блоков list_videos и list_albums. По нашему мнению, в случае большой базы контента данные режимы работают интереснее, чем остальные.
В блоке list_dvds добавилась возможность для каждого DVD / канала опционально вытянуть все его видео. Это можно включить параметром pull_videos, а также указать кол-во видео и сортировку дополнительными параметрами.
В блоке list_albums добавился параметр show_image_info, который позволяет для каждого фотоальбома вытянуть его фотографии.
В блоках list_videos, list_albums и list_content добавились параметры skip_content_sources и show_content_sources, которые позволяют статически отфильтровать выводимый контент по контент провайдерам. В блоке list_videos добавились параметры skip_dvds и show_dvds, которые позволяют статически отфильтровать выводимые видео по DVD / каналу.
На странице видео / фотоальбома появилась возможность вывести ссылки на предыдущее и следующее видео (фотоальбом). Последовательность определяется датой появления. Эти данные становятся доступными только после включения параметра show_next_and_previous_info, который добавлен в блоки video_view и album_view.
В блоке list_categories добавлен параметр show_only_with_albums_or_videos, который позволяет показать только те категории, в которых есть хотя бы 1 видео или 1 фотоальбом.
В блоке list_videos добавлен фильтр по группе контент провайдеров.
Появилась возможность передавать имя скачиваемого видеофайла / ZIP архива для фотоальбома. Для этого в ссылку на скачивание необходимо добавить параметр download_filename=<имя файла>.
XII. Другие поправки
В модели добавлено поле цвета глаз.
У категорий расширено кол-во доп. полей.
В систему защиты видео по IP внесена поправка, которая позволяет указывать список "белых" IP, доступ с которых не будет блокироваться. Также появилась возможность видеть список IP, которые заблокированы на текущий момент.
В модели добавлено поле, которое позволяет перечислить псевдонимы. Добавлен новый плагин автовыбора моделей (по аналогии с плагинами для тэгов и категорий), который, если включен, будет анализировать название и описание контента на наличие там модели или одного из псевдонимов.
В плагин автовыбора категорий добавились опции, которые позволяют настроить в каких случаях его запускать (ранее он срабатывал только если у видео / фотоальбома нет ни одной категории).