17 августа 2021 года у CMS Joomla день рождения. В этот же день вышла версия Joomla 4.0. В честь праздника опубликовал на Хабре краткий обзор нововведений Joomla 4.0, дублирую себе.

Итак, в свой 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

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

Web для всех

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

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

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

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

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

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

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

Любой контент проходит несколько этапов создания. Настроить эти этапы под себя можно с помощью Процессов в 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

email templates joomla 4

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

email templates html joomla 4

email templates settiings joomla 4

Улучшенный и расширенный Command Line Interface (CLI)

CLI требуется, как правило, для ресурсоёмких процессов (обработка больших объёмов информации, синхронизация данных со сторонними сервисами и т.д.), которые не должны нагружать основной web-сервер. Эти процессы обычно "вешаются" на CRON и их работа не мешает пользователям сайта.

Улучшенная кодовая база Joomla 4

Удалены функции и классы, имевшие статус deprecated в Joomla 3. Ядро Joomla 4 пересобрано с использованием namespaces. К использовавшимся ранее в Joomla 3 PSR стандартам добавлены PSR7PSR17 и 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 pre update check 1

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

joomla 4 pre update check 2

joomla 4 pre update check 3

joomla 4 pre update check 4

Перед обновлением на Joomla 4 убедитесь в том, что Вы действительно используете все установленные компоненты, плагины, модули, языки и шаблоны. А так же что все используемые совместимы с Joomla 4.

Для миграции в настройках компонента "Обновление Joomla" переключите сервер обновлений на "Joomla Next".

Минимальные технические требования для Joomla 4

SoftwareRecommendedMinimum
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-сообщество!

Толкачев Сергей Юрьевич
Толкачев Сергей Юрьевич

Joomla-разработчик. Контрибьютер ядра Joomla. Один из ведущих Telegram-канала русскоязычного Joomla-сообщества JoomlaFeed, один из модераторов чата русскоязычного Joomla-сообщества. Мои расширения в официальном маркетплейсе расширений Joomla - Joomla Extensions Directory. Имею публикации в официальном журнале международного Joomla-сообщества - Joomla Community Magazine.

Муж. Отец 3 детей.

Россия, Саратов.

Расширения Joomla WebTolk

89 Всего расширений
11 Категорий
395 Выпущено версий
380669 Всего скачиваний
Корзина
Корзина пуста