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

Для каждого компонента возможно создавать 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.

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

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


  1. progreccor
    18.08.2021 11:58
    +1

    Отлично! Хорошее развитие.


  1. gionet
    18.08.2021 12:14
    +1

    Долго ж они шли к этой версии


    1. sergeytolkachyov Автор
      18.08.2021 12:41

      Долго, но они это сделали.


  1. zikkuratvk
    18.08.2021 12:20
    +3

    Можно сказать свершилось. По мне так разрабатывали Joomla 4 сильно долго. Но сам то, что они довели выпуск до финала, это молодцы.


  1. 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 хоть и опоздала, но принесла много радости своим пользователям. А ещё больше радости разработчикам! Спасибо всем причастным к выходу релиза!


    1. sergeytolkachyov Автор
      18.08.2021 12:59

      "Workflows" так и переведено - "процессы".


  1. a090588
    19.08.2021 19:05
    +1

    наконец то вышла!


  1. iResource
    19.08.2021 22:58
    +1

    Улучшенный и расширенный Command Line Interface (CLI)
    Интригующий заголовок абзаца, но нет ничего по сути дела )
    А тема CLI в Joomla была бы очень интересна...
    В целом спасибо за обзор, конечно!


    1. sergeytolkachyov Автор
      19.08.2021 23:08

      Тему CLI в четверке нужно изучать)) При подготовке опирался на крохи информации из разных источников. В тройке cli тоже есть и примеров работы даже больше, чем в четвёрке.