Пролог
Поправьте меня, если я не прав, но медиа-менеджер в Joomla не менялся со времен версии 1.0. Конечно же, я не имею в виду внешний вид, а именно функционал. Идея по улучшению медиа-менеджера постоянно выдвигалась в качестве возможного проекта Google Summer of Code в 2009, 2012, 2013 и 2014 годах, но так и не была осуществлена.
Похоже, что все изменится в Joomla 3.x. В какой именно версии мы увидим новый медиа-менеджер? Пока точного ответа на этот вопрос нет. Согласно плану развития Joomla, он должен был появиться в версии 3.9 (июнь 2015), но благодаря невероятной работе Buddhima Wijeweera был представлен сообществу намного раньше - буквально несколько дней назад. Теперь многое зависит от сообщества и его активности в процессе тестирования. Смею предположить, что он будет включен в Joomla уже в этом году.
Сразу же ссылки для особо нетерпеливых джумлаводов:
- Репозиторий проекта: https://github.com/Buddhima/joomla-cms/tree/new_com_media
- Pull Request : https://github.com/joomla/joomla-cms/pull/3839
Текущий статус
Проект достиг того уровня, когда можно было представить его сообществу для тестирования. Но это еще далеко не все, ведь он не идеален. Buddhima попытался покрыть ту зияющую дыру, которая существует между существующим медиа-менеджером, и тем, каким он должен быть. Многое было сделано, но много чего еще можно и нужно сделать.
Что нового в новом медиа-менеджере
Отрадно, что кроме рефакторинга кода, Buddhima добавил 12 новинок. Давайте рассмотрим каждую из них.
1. Интерфейс
2. Превьюшки изображений
При клике на изображение она открывается в большом превью. При клике на название открывается новый редактор изображений.
3. Категории
Теперь медиа можно распределять по категориям.
4. Drag & Drop загрузчик
Загрузка сразу нескольких файлов. Можно видеть прогресс загрузки. Также доступен обычный загрузчик.
5. Редактор изображений
Редактор доступен при клике на название изображения. Позволяет редактировать данные, связанные с медиа. Реализован механизм блокировки (checkin & checkout). На данный момент позволяет редактировать только изображения.
6. Новые действия
В новом редакторе мы можем манипулировать изображением. Для этого были добавлены кнопки на панель инструментов. Все действия, связанные с ними, основываются на классе JImage.
7. Свойства
Свойства используются для обновления медиа информации, которая сохраняется в базе данных.
8. Теги
Теперь изображениям можно добавлять теги.
9. UI менеджера изображений
В дополнение к медиа-менеджеру, этот проект концентрировался на рефакторинге менеджера изображений. Свойства изображений теперь справа, а загрузчик находится в отдельной вкладке. Таким образом, больше места отведено превьюшкам изображений.
10. MVC
Новинки не только снаружи, но и внутри. Был использован новый MVC и добавлены три класса модели.
11. Формы, поля и макеты
Были добавлены новые макеты, поля и формы для com_media. На данный момент редактор использует форму, которая располагается в папке form, и в будущем разработчики смогут добавить еще больше форм для поддержки других типов медиа.
12. Типы контента
- com_media.image: тип контента для изображений
- com_media.category: тип контента для категорий
Новые типа контента могут добавляться по мере их появления и поддержки новым медиа-менеджером, например com_media.video, com_media.audio и т.п.
Что еще может быть сделано?
Вот несколько идей, которые по мнению Buddhima стоит реализовать в новом медиа-менеджере.
- Улучшение Drag & Drop
- Решение проблем кроссплатформенности
- Поддержка аудио & видео
- Взаимодействие со сторонними API, например: Youtube, Vimeo, Flicker, SoundCloud и т.п.
- ACL для медиа
- Мульти выбор в менеджере изображений
- Новые иконки
- Эффекты для изображений
- Манипуляции с файлами изображений