Итак, в свой 16-й день рождения вышла CMS Joomla 4.0. Это действительно долгожданное событие, так как с момента предыдущей мажорной версии прошло 9 лет.
Новое в Joomla 4.0
Краткий список нововведений в Joomla 4.0.
Измененный и упрощенный процесс установки
В целом процесс установки проходит в 3 экрана. При желании, в процессе установки можно установить дополнительные языки для бэкенда и фронтенда.
Новый шаблон панели администратора и фронтенда
Админка Joomla 4 на css-фреймворке Bootstrap 5. Произошёл отказ от javascript-библиотеки jQuery. Разработчикам необходимо учитывать этот момент при адаптации своих расширений для Joomla 4. Однако, в поставке J4 присутствует jQuery 3.6, который при необходимости можно использовать.
Web для всех
Стандартные шаблоны админки и фронтенда соответствуют требованиям для слабовидящих (Level AA of WCAG 2.1).
Российским аналогом WCAG является ГОСТ Р 52872-2019 "ИНТЕРНЕТ-РЕСУРСЫ И ДРУГАЯ ИНФОРМАЦИЯ, ПРЕДСТАВЛЕННАЯ В ЭЛЕКТРОННО-ЦИФРОВОЙ ФОРМЕ. ПРИЛОЖЕНИЯ ДЛЯ СТАЦИОНАРНЫХ И МОБИЛЬНЫХ УСТРОЙСТВ, ИНЫЕ ПОЛЬЗОВАТЕЛЬСКИЕ ИНТЕРФЕЙСЫ. Требования доступности для людей с инвалидностью и других лиц с ограничениями жизнедеятельности", в котором использованы аналогичные уровни доступности.
Новый медиа-менеджер
Раньше доброй традицией было сразу после установки Joomla ставить редактор JCE, так как к нему в комплекте шёл нормальный файловый менеджер. Joomla 4 имеет полностью переработанный медиа-менеджер. Теперь из коробки Вы имеете поддержку webp и встроенный простой редактор изображений.
Новая сущность - Процессы (Workflow)
Любой контент проходит несколько этапов создания. Настроить эти этапы под себя можно с помощью Процессов в Joomla 4.
Web Services (REST API Joomla 4)
В "коробке" Joomla 4 появился долгожданный REST API, который позволяет получать информацию с сайта как другим сайтам, так и мобильным приложениям. Раньше для этого необходимо было устанавливать сторонние расширения.
Пример работы с REST API Joomla 4
Улучшения безопасности
Повышена безопасность Joomla 4 в целом, так как переработан механизм запросов в базу данных. Теперь "под капотом" используются prepared SQL statements.
Стандартная шаблонизация HTML-писем Joomla 4
Для каждого компонента возможно создавать HTML-шаблоны писем уведомлений. Компонент предоставляет переменные, значения которых будут подставляться в шаблон письма. По умолчанию в настройках шаблонов писем включен тип письма "текст без HTML", чтобы появился HTML-каркас письма включаем этот тип в настройках. Обратите внимание на то, что шаблоны писем можно создавать для каждого установленного языка: для русского языка - свой шаблон (логотип, телефоны и т.д.), для украинского - свой, английского - третий и т.д.
Улучшенный и расширенный Command Line Interface (CLI)
CLI требуется, как правило, для ресурсоёмких процессов (обработка больших объёмов информации, синхронизация данных со сторонними сервисами и т.д.), которые не должны нагружать основной web-сервер. Эти процессы обычно "вешаются" на CRON и их работа не мешает пользователям сайта.
Улучшенная кодовая база Joomla 4
Удалены функции и классы, имевшие статус deprecated в Joomla 3. Ядро Joomla 4 пересобрано с использованием namespaces. К использовавшимся ранее в Joomla 3 PSR стандартам добавлены PSR7, PSR17 и PSR18. Напомним так же, что проект Joomla является проектом-участником PHP FIG, отвечающим за разработку и реализацию этих стандартов.
До сей поры существовали 2 параллельных проекта: Joomla Framework (php-фреймворк, а-ля Yii, Laravel etc) и Joomla CMS, которая является почти тем же фреймворком. но с предустановленными компонентами/модулями/плагинами/шаблонами, нужными в большей степени для демонстрации подходов к разработке и некоторыми отличиями в коде и подходах. В Joomla 4 интегрирована кодовая база Joomla Framework.
Усовершенствована система диспетчеризации событий - для разработки плагинов. Что такое плагин в Joomla?
А также:
Новый Renderer, обеспечивающий поддержку шаблонов рендеринга со многими популярными библиотеками PHP (включая Twig, Mustache и Blade)
Новый пакет Console для создания CLI-приложений
Новый Preload пакет для управления HTTP/2 ресурсами.
Поддержка шифрования OpenSSL в пакете Crypt
Переработанный пакет Keychain для использования пакета Crypt
Переработанный роутер (Router)
Переработанный пакет для работы с сессиями (Session)
Официальные рекомендации по настройке окружения для разработчиков Joomla.
Официальный список потерей обратной совместимости Joomla 4.
Миграция с Joomla 3.10 на Joomla 4.0
Напоминаем, что переход с Joomla 3.x на Joomla 4.x является миграцией. Joomla 3.10.0 называют "мостом" между линейкой 3.x и 4.x. Перед миграцией необходимо убедиться, что все используемые расширения имеют поддержку Joomla 4, а Ваш хостинг отвечает минимальным техническим требованиям.
В Joomla 3.10 в компоненте "Обновления Joomla" находится кнопка "проверить обновления". После нажатия запускается Pre-update Check - проверка на совместимость текущего окружения и расширений с Joomla 4.
После проверки отображается информация о совместимости.
Перед обновлением на Joomla 4 убедитесь в том, что Вы действительно используете все установленные компоненты, плагины, модули, языки и шаблоны. А так же что все используемые совместимы с Joomla 4.
Для миграции в настройках компонента "Обновление Joomla" переключите сервер обновлений на "Joomla Next".
Минимальные технические требования для Joomla 4
Software |
Recommended |
Minimum |
PHP |
8.0 |
7.2.5 |
Supported Databases | ||
MySQL |
5.6 + |
5.6 |
PostgreSQL |
11.0 + |
11.0 |
Supported Web Servers | ||
Apache |
2.4 + |
2.4 |
Nginx |
1.18 + |
1.10 |
Microsoft IIS |
10 + |
8 |
Дистрибутивы
Использование Joomla 4.0 на боевых проектах
Говорить об использовании Joomla 4 на боевых проектах можно с некоторой осторожностью, до тех пор, пока разработчики сторонних расширений не обновят до версий, совместимых с "четвёркой". Однако, многие студии заблаговременно начали работу по обеспечению совместимости своих продуктов. В Joomla Extensions Directory расширения с поддержкой J4 имеют специальную метку.
Тем не менее, это большое событие наконец-то произошло, с чем и поздравляем Joomla-сообщество!
Комментарии (9)
zikkuratvk
18.08.2021 12:20+3Можно сказать свершилось. По мне так разрабатывали Joomla 4 сильно долго. Но сам то, что они довели выпуск до финала, это молодцы.
kernUSR
18.08.2021 12:43+3Джумла 4 наконецто вышла! Это круто!
Я люблю джумлу и работаю с ней постоянно, но ложку дёгтя я бы подкинул.
Все новые "фишечки" полезные и приятные, но где они были 5 лет назад?
Почему rest завезли только сейчас? Почему я должен был всё это время писать кастыли?
Поддержка твига и прочих шаблонизаторов из коробки, как фича в 2021 году? Серьёзно?
Какого чёрта в 2021 году в рекомендациях заявлен MySQL 5.6, которую прекратили поддерживать в феврале!!!! Нативной работы с JSON'ом в базе нам не видать опять? Напомню! Джумла нативно работает на pgsql, в котором с json'ом можно работать ещё со времён Царя Гороха, но в DatabaseDriver у Joomla реализации работы с json нет и не предвидится... хнык-хнык
А теперь обмажусь мёдом!
Workflow (пространства, как по мне, не самый удачный перевод. Я склоняюсь к "Рабочий процесс" или вообще не переводить) - просто суперская штука! Это нереально полезный функционал для сми. Процесс утверждения материала на публикацию теперь можно завернуть сразу в cms, а не гонять его в гуглодоках или офис 365. Инструмент пока неизведанный, но полёт фантазии рисует очень красочные горизонты
Соответствие госту и WCAG! Сколько с этим было гемороя, но это теперь есть. И это не похёрство, в виде кнопочек"версия для слабовидящих". Это реально работающая система, которая прекрасно дружит с экранными дикторами, а сама цветовая схема разработана ВОЗ для того, чтоб люди с различными заболеваниями могли одинаково чётко видеть сайт, без "увеличте шрифт" и "сделайте мне сайт чёрно-белым". В общем - круто. Это бомба!
Новая админка хоть и вызывает много вопросов и кажется неудобной, но мы привыкнем. А когда привыкнем - поймём, что она намного круче того, что было. К стати, в новой адлминке очень удобный дашборд сделали
Нативная поддержка шаблонов писем, с мультиязычностью. Это киллер-фича. Такого я не встречал ни в одной системе ранее. В принципе, сама мультиязычность, в джумле - это уникальная разработка, которая не лишена изъянов, но является лучшим и наиболее гибким решением не только в самой джумле, но и в принципе, среди других cms
Наконец-то мы дождались - фреймворк и cms слили воедино! Да здравствует composer в cms (ранее с этим были проблемы)
В общем, джумла 4 хоть и опоздала, но принесла много радости своим пользователям. А ещё больше радости разработчикам! Спасибо всем причастным к выходу релиза!
iResource
19.08.2021 22:58+1Улучшенный и расширенный Command Line Interface (CLI)
Интригующий заголовок абзаца, но нет ничего по сути дела )
А тема CLI в Joomla была бы очень интересна...
В целом спасибо за обзор, конечно!sergeytolkachyov Автор
19.08.2021 23:08Тему CLI в четверке нужно изучать)) При подготовке опирался на крохи информации из разных источников. В тройке cli тоже есть и примеров работы даже больше, чем в четвёрке.
progreccor
Отлично! Хорошее развитие.