Викия

ru-Викия

коммент.0

Vignette - новые миниатюры изображений на Викия

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

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

Зачем вообще нужен сервис для новых миниатюр изображений?

Не так давно Викия начала работу по модернизации всей своей платформы. Одним из заданий, поставленных в ходе этой работы, является замена всех сервисов, которые сложно обслуживать, или которые написаны на языках программирования, которые мы больше не поддерживаем. Одной из первых целей на улучшение стал сервис создания миниатюр изображений. Стандартные миниатюры MediaWiki доказали свою эффективность и пользу, но пришло время заменить их на нечто более современное, что лучше подходит Викия в плане масштабируемости и производительности.

Как раз в то время, когда начались обсуждения по поводу замены старого инструмента создания миниатюр, Викия приобрела компанию Huddler. В Huddler разработали их собственный сервис для миниатюр. После ряда обсуждений было решено использовать миниатюры Huddler и унифицировать таким образом создание миниатюр изображений на двух проектах сразу. В Huddler написали оболочку для работы с ImageMagick - инструментом для обработки изображений с доступом из командной строки. Новый сервис показал себя не хуже старых инструментов миниатюризации, в дополнение нескольким новым режимам создания миниатюр.

Некоторые из преимуществ нового инструмента для создания миниатюр, названного Vignette
  • Читабельные и понятные URL-адреса картинок. Старый сервис миниатюр использовал непонятные URL вроде "600px-imageName.jpg.png", "600x200x10-imageName.jpg", и даже "v,000000,600x200x10--20,600,10,100-imageName.jpg". В новом сервисе эти миниатюры представлены как "scale-to-width/600?format=png", "zoom-crop/width/600/height/200", и "window-crop-fixed/width/600/height/200/x-offset/-20/y-offset/10/window-width/620/window-height/90". Хотя они могут показаться всё ещё довольно сложными, на самом деле их гораздо проще прочесть и понять, какой тип миниатюры был создан, лишь взглянув на адрес изображения.
  • Простой в обслуживании код клиента. Одной из проблем старого сервиса миниатюр, обнаруженных при переводе клиентских приложения Викия на новый сервис, была неэффективная генерация миниатюр. Все параметры миниатюр подбирались вручную и потом соединялись вместе в общей базе. Было непросто исправить это, но теперь управлять миниатюрами в приложениях Викия стало гораздо легче благодаря простой и прозрачной генерации миниатюр.
  • Обратная совместимость. Vignette поддерживает старые адреса миниатюр. Это важно, так как мы не можем быть уверенными, что все клиентские приложения Викия обновлены и используют новый сервис.
Интеграция

Vignette уже сейчас активно используется на Викия, и его интеграция со всеми сервисами Викия почти завершена. Одним из требований при переходе на новый сервис была необходимость сделать сам переход как можно более незаметным для конечного пользователя, и, за несколькими мелкими исключениями, это требование было выполнено успешно.

После интеграции, пользователи не должны видеть изменений в качестве миниатюр - внешне всё выглядит так же, как и год назад.

Хотя новый сервис миниатюр уже активно используется, работа над интеграцией Vignette ещё не завершена. Необходимо перевести мобильные приложения Викия на новый сервис, добавить Wikia API поддержку новых миниатюр, и, в конце концов, полностью отказаться от старого сервиса миниатюр. Вероятно, подобным образом мы откажемся ещё от многих устаревших частях нашей платформы, по мере её апгрейда.

Исходный код

Викия-сеть

Случайная вики