Год подходит к концу, и мы хотим поговорить о том, что ждёт Joomla! CMS в следующем году. На горизонте Joomla! 4, ведь именно в следующем году она должна быть официально объявлена.
Идея полного пересмотра текущей версии не так нова, но реальный толчок в этом направлении случился на сессии ‘MakeitHappen’ во время конференции J! andBeyond 2015. После этого была создана рабочая группа по Joomla 4 и несколько отличных разработчиков сообщества начали работу по подготовке кода.
Joomla! 4 пока ещё в начальной стадии. Хотя архитектура уже спроектирована и начался процесс кодинга. Были опубликованы и обсуждены прототипы, принято решение. Пишутся интеграционные и системные тесты, которые позволят уменьшить проблемы обратной совместимости.
Ортогональная структура компонентов
Сейчас практически каждый компонент в Joomla! содержит код, который пересекается, например, категории и процесс публикации. Другие компоненты дополнительно содержат код, типа тегов или версионности.
В Joomla! 4 всё будет по другому. Компоненты, которые мы знаем сейчас, в Joomla! 4 будут называться вертикальными компонентами. Они будут сконцентрированы на работе ядра.
А все пересекающиеся компоненты, такие как теги, версионность, категории уйдут в горизонтальные компоненты, их функциональность будет автомагически добавляться во все компоненты. Это, конечно, настраиваемо.
Комбинация вертикальных и горизонтальных компонентов, называемая как ортогональная структура компонентов, сделает написание и поддержку компонентов в Joomla! 4 более простой, чем сейчас.
Абстракция
В документации Joomla! указано, что поддерживается несколько баз данных, но по факту, нормально может использоваться только MySQL. Для того, чтобы это исправить, будет интегрирован уровень абстракции базы данных, Doctrine DBAL. Он очень похож на JDatabaseQuery.
Файловая система также получить уровень абстракции, предоставляемый FlySystem.
Преимущество использования внешних библиотек в Joomla! в том, что они не должны поддерживаться сообществом Joomla!, а разработаны и хорошо протестированы людьми со знаниями и опытом в этих областях.
Обновление
У изменения архитектуры, которая будет являться произведением искусства, есть своя цена. Конечно, стоит ожидать проблем с обратной совместимостью, поэтому это Joomla! 4, а не Joomla! 3.x. Однако для ядра будет гарантировано обновление в один клик. К сожалению, это не может быть гарантировано для сторонних расширений. Они должны быть изменены. Если это будет возможно, детали архитектуры будут портированы в Joomla! 3, чтобы разработчики начали её применять. Рабочая группа по Joomla! 4 поставила перед собой цель сделать переход настолько гладким, насколько это возможно. Сейчас выглядит так, что изменения будут в основном касаться удаления ненужного кода.
Этом пока вся информация о том, что нас ждёт в следующей версией Joomla! CMS. Больше информации последует в следующем выпуске Joomla! Magazine.