Вышла Joomla 4

Итак, в свой 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, который при необходимости можно использовать.

Скриншот панели администратора Joomla 4.0Скриншот панели администратора Joomla 4.0Скриншот стандартного шаблона для фронтенда Joomla 4.Скриншот стандартного шаблона для фронтенда Joomla 4.

Web для всех

Стандартные шаблоны админки и фронтенда соответствуют требованиям для слабовидящих (Level AA of WCAG 2.1).

Российским аналогом WCAG является ГОСТ Р 52872–2019 «ИНТЕРНЕТ-РЕСУРСЫ И ДРУГАЯ ИНФОРМАЦИЯ, ПРЕДСТАВЛЕННАЯ В ЭЛЕКТРОННО-ЦИФРОВОЙ ФОРМЕ. ПРИЛОЖЕНИЯ ДЛЯ СТАЦИОНАРНЫХ И МОБИЛЬНЫХ УСТРОЙСТВ, ИНЫЕ ПОЛЬЗОВАТЕЛЬСКИЕ ИНТЕРФЕЙСЫ. Требования доступности для людей с инвалидностью и других лиц с ограничениями жизнедеятельности», в котором использованы аналогичные уровни доступности.

Новый медиа-менеджер

Раньше доброй традицией было сразу после установки Joomla ставить редактор JCE, так как к нему в комплекте шёл нормальный файловый менеджер. Joomla 4 имеет полностью переработанный медиа-менеджер. Теперь из коробки Вы имеете поддержку webp и встроенный простой редактор изображений.

Новый медиа-менеджер Joomla 4Новый медиа-менеджер Joomla 4Редактирование изображений в стандартной поставке Joomla 4Редактирование изображений в стандартной поставке Joomla 4

Новая сущность — Процессы (Workflow)

Любой контент проходит несколько этапов создания. Настроить эти этапы под себя можно с помощью Процессов в Joomla 4.

Изменение стадии процесса при создании материала Joomla 4.Изменение стадии процесса при создании материала Joomla 4.

Web Services (REST API Joomla 4)

В «коробке» Joomla 4 появился долгожданный REST API, который позволяет получать информацию с сайта как другим сайтам, так и мобильным приложениям. Раньше для этого необходимо было устанавливать сторонние расширения.

Пример работы с REST API Joomla 4

Улучшения безопасности

Повышена безопасность Joomla 4 в целом, так как переработан механизм запросов в базу данных. Теперь «под капотом» используются prepared SQL statements.

Стандартная шаблонизация HTML-писем Joomla 4

5aa0de6a81f743c16be7a13467381aa3.jpg

Для каждого компонента возможно создавать HTML-шаблоны писем уведомлений. Компонент предоставляет переменные, значения которых будут подставляться в шаблон письма. По умолчанию в настройках шаблонов писем включен тип письма «текст без HTML», чтобы появился HTML-каркас письма включаем этот тип в настройках. Обратите внимание на то, что шаблоны писем можно создавать для каждого установленного языка: для русского языка — свой шаблон (логотип, телефоны и т.д.), для украинского — свой, английского — третий и т.д.

Настройки шаблонов писем в Joomla 4Настройки шаблонов писем в Joomla 4Для тела письма включён редактор. Если выключить - можно вставить заранее заготовленную вёрстку.Для тела письма включён редактор. Если выключить — можно вставить заранее заготовленную вёрстку.

Улучшенный и расширенный 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.

image-loader.svg

После проверки отображается информация о совместимости.

image-loader.svgimage-loader.svgimage-loader.svg

Перед обновлением на 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-сообщество!

© Habrahabr.ru