Авторизация
Сброс пароля
Фотобанк «Комсомольской правды»
1. Вводная задача от заказчика, проблематика, цели
О заказчике
Медиагруппа «Комсомольская правда» — бренд с великой историей, традиционными ценностями, высоким доверием читателей, слушателей и партнеров, многомиллионной аудиторией, последовательной стратегией развития и успешной цифровой трансформацией.
«Комсомольская правда» — это самая тиражная ежедневная общественно-политическая газета России, еженедельная газета для всей семьи, федеральная радиостанция, а также сайты с рекордной посещаемостью и лидирующими позициями по цитируемости. А ещё это издательство книг и сеть пресс-центров по всей стране.
Проблематика
На момент старта проекта архив фотоматериалов «Комсомольской правды» насчитывал более чем 5 млн фотографий. Изображения хранились на старом физическом сервере в инфраструктуре заказчика. Работа с ним осуществлялась через специальное прикладное ПО в локальной сети.
Сервер не поддерживал обновлений и имел устаревшую конфигурацию. Заказчик понимал, что в любой момент сервер может полностью исчерпать свой ресурс. Затраты на восстановление данных будут непредсказуемы.
Кроме технических проблем с сервером были большие сложности с продажей фотографий. В издательство регулярно поступают запросы от других СМИ на покупку фотографий с разных событий и мероприятий.
Текущее ПО не предоставляло возможности массовой выгрузки изображений, а возможности для поиска фото были крайне ограничены. Сотрудники Издательства тратили много сил и времени, чтобы найти, выбрать нужные фото и выгрузить их с сервера.
Необходимость безопасного хранения данных, систематизации, удобного процесса поиска, выгрузки и тем самым нового канала продаж привели к идее создания онлайн-фотобанка «Комсомольской правды».
Неудачный эксперимент
У клиента был опыт создания фотобанка на CMS «1С-Битрикс», однако система не смогла справиться с огромным объёмом информации, обеспечить бесперебойную работу по загрузке и обработке изображений, поэтому клиент находился в поиске альтернативного решения.
Цель
Разработать онлайн-версию банка фотографий «Комсомольской правды» с возможностью поиска по метаданным и продажи их СМИ-партнёрам, редакциям и другим заинтересованным лицам.
Задачи
- Перенести все материалы в новое хранилище, которое будет легко масштабироваться, не зависеть от «железа» и обеспечит стабильное и надёжное хранение данных.
- Разработать для сотрудников и редакторов Издательства новое ПО для загрузки, обработки и поиска изображений, обеспечить их удобным онлайн-инструментом для работы.
- Спроектировать и реализовать публичный сервис для физических и юридических лиц с возможность поиска и покупки фотоматериалов Издательства.
2. Описание реализации кейса и творческого пути по поиску оптимального решения
Пользователи сервиса
Исходя из целей и задач проекта, выделили 2 основные группы пользователей сервиса:
- сотрудники и редакторы Издательства, ответственные за работу с архивом материалов
- покупатели фотоматериалов
Мы прописали функциональные требования для этих ролей. Для удобства и наглядности представили их в формате карты пользовательских сценариев — User Story Map.
Описание сервиса для сотрудников Издательства
Сервис предоставляет для редакторов Издательства инструменты по загрузке фотографий, их систематизации и работе с метаданными:
- Реализовали сервис как онлайн-инструмент взамен старому десктопному ПО.
- Выбрали Yandex.Cloud, чтобы все действия с изображениями происходили не на ядре сервиса, а в инфраструктуре и на вычислительных мощностях Яндекса. Таким образом, загрузка и обработка фотографий не нагружает публичный ресурс и никак не отражается на взаимодействии пользователя с сервисом.
- Учитывая специфику обработки данных фотобанка, мы создали отдельные экраны для массового добавления и редактирования изображений в виде плиточной раскладки.
- При загрузке изображений в БД реализовали чтение и запись метаданных трёх типов: IPTC, EXIF, XMP.
- Для продажи фотографий автоматически формируется три типа разрешений: low, middle, high, и наносится watermark.
- Как объектное хранилище выбрали Yandex S3, а также реализовали отдельный микросервис для обработки фото, чтения и записи метаданных c помощью Exiv2.
Описание сервиса для покупателей материалов
Основными покупателями материалов Издательства являются другие СМИ. Они покупают авторские фото, чтобы использовать их в своих материалах. Вся работа была построена в ручном режиме: менеджер покупателя обращался к менеджеру «Комсомольской правды», делал запрос на фото, ждал выборку, выбирал фото к покупке, получал счёт на оплату и после оплаты получал материалы.
Это была долгая и архаичная процедура, которая требовала автоматизации.
В итоге мы реализовали сервис, который позволяет:
- выбрать фото из каталога фотографий с помощью быстрого поиска по метаданным, фильтрам по дате, присутствию людей на фото, ориентации фото и автору.
- искать похожие фото и фото, сгруппированные по материалам съёмки
- формировать свои коллекции из выбранных фото
- делиться коллекциями с другими людьми
- получить ограниченный доступ к загрузке материалов в течение 14 дней после регистрации
- покупать фотографии в соответствии с тарифами сервиса. Для юридических лиц с оплатой по договору, реализована возможность постоплаты по факту приобретённых изображений
Особенности поиска и фильтра по фотографиям
- установили и настроили полнотекстовый поисковый движок Elasticsearch
- оптимизировали поисковые индексы для уменьшения размера базы и более быстрой отдачи данных из кластера Elasticsearch
- внедрили и настроили работу морфологического поиска
- реализовали подсказки через N-gram tokenizer от 2 до 12 символов, что помогло пользователям при вводе совершать меньше ошибок, а сервису — вычислять наиболее используемые в описаниях изображений слова и рекомендовать их в дальнейшей подсказке
- настроили строгий поиск и поиск по частичному совпадению
- реализовали фильтр поиска по параметрам: ориентация, дата съемки, автор и т.д.
Возможности личного кабинета покупателя
- Пакеты изображений (поштучный и пакетный формат). При пакетной покупке пользователь осуществляет предоплату пакета с заключением договора с Издательством. В случае поштучной покупки пользователь покупает изображения в кредит и каждый месяц ему выставляется счёт за приобретённые изображения.
- Типы лицензий изображений: для интернета, для печати, эксклюзивная цена.
- История покупок и загрузок. Отображаются оплаты за пакеты и за покупку поштучно. А также список приобретённых изображений (превью, дата скачивания, формат, стоимость, кнопка «Скачать»). Если с файлом, который был скачан, что‑то случится, — всегда можно скачать его ещё раз.
- Автоматизированные отчёты как для авторов, которые публикуют свои изображения, так и для покупателей, что помогает избежать человеческого фактора в итоговых финансовых документах.
Шумских Даниил
TeamLead, MACHAON
Метатеги у разных фото хранились в разной кодировке. За 20 лет существования фотобанка мы увидели настоящих «динозавров», о которых сейчас мало кто вспомнит. C помощью различных методов мы определяли кодировку, делали мини-эвристику в рамках экспорта, импорта и редактирования, чтобы материалы корректно читались и записывались.
3. Результаты сотрудничества
Новый фотобанк «Комсомольской правды» — это в первую очередь удобный, стабильный, масштабируемый сервис для внутреннего использования.
Благодаря миграции данных в Yandex.Cloud со старого сервера:
- на 70% увеличилась скорость загрузки
- в 2 раза сократилось время на ручную обработку изображений
4. Заключение
Редакторы других СМИ и издательств с помощью удобного интерфейса, поиска, демонстрации изображений получили возможность самостоятельно находить, покупать и скачивать фотографии, минуя процедуру сложного и долгого запроса фотографий через менеджера «Комсомольской правды».
В фотобанке хранятся изображения ещё четырёх изданий, в том числе Экспресс газеты, которые в свою очередь договорились продавать свои фотографии через сервис «Комсомольской правды». Таким образом, проект трансформировался не только в фотобанк для хранения и продажи фотографий Издательства, а в онлайн-площадку для размещения и продажи изображений других СМИ и издательств.