Joomla 4, следующая мажорная версия, активно развивается благодаря большому сообществу добровольцев. Многое произошло за последние месяцы!
Перед тем, как Joomla перейдет в стадию бета (что означает «заморозку новых возможностей»), мы хотим довести до вашего сведения важную информацию:
- Изменения в технических требованиях
- Улучшения в системе поиска
- Новый проверщик стиля кода
Повышение технических требований
Веб-индустрия развивается очень быстро и Joomla нужно соответствовать вызовам времени, чтобы оставаться на плаву и не разочаровать своих пользователей. Поэтому было принято решение повысить технические требования для Joomla 4.
Поскольку Joomla 4.0 и Joomla Framework 2.0 были в разработке в течение нескольких лет, было решено пересмотреть поддерживаемые версии программного обеспечения, чтобы оптимизировать CMS на предстоящие годы и соответствовать тому, что уже используют пользователи (эта информация доступна благодаря тем из них, кто включает плагин статистики).
PHP минимум до PHP 7.2
7.2 и 7.3 в настоящее время являются единственными активно поддерживаемыми ветками релиза PHP, причем PHP 5 больше не поддерживается с декабря 2018 года, а PHP 7.1 получает только исправления безопасности до декабря 2019 года. К моменту выпуска Joomla 4 самая старая поддерживаемая версия PHP 7.2 будет иметь меньше года поддержки для обеспечения безопасности. Поддержка этой версии позволяет использовать преимущества встроенного PHP-шифрования sodium без полифила, а также объявления типов void, которые будут полезны для новых интерфейсов в Joomla 4.
MySQL минимум до 5.6
5.6, 5.7 и 8 – это версии базы данных MySQL, поддерживаемые в настоящее время. Версия 5.5 достигла своего конца цикла жизни в декабре 2018 года, в то время как MySQL 5.6 будет поддерживаться до февраля 2021 года.
Обратите внимание, что минимальная версия MySQL может быть изменена в течение жизненного цикла Joomla 4, если это будет необходимо, поскольку в будущем можно было бы использовать MySQL 5.7, что позволило бы использовать тип базы данных JSON в столбцах MySQL.
PostgreSQL минимум до 11
Новая мажорная версия PostgreSQL выпускается раз в год и содержит новые функции. По крайней мере, раз в три месяца мажорная версия получает исправления ошибок, а при необходимости - исправления безопасности.
Временами было трудно поддерживать все доступные версии PostgreSQL. Поэтому, чтобы сделать Joomla 4 более стабильной, и поскольку почти половина нынешних пользователей PostgreSQL уже используют версию 11, был сделан выбор в поддержку только последней версии 11 и выше (версия 11 достигнет конца цикла жизни в ноябре 2023 года).
Отказ от поддержки Internet Explorer
Решение отказаться от поддержки IE было основано на нескольких критериях. Менее 5% пользователей Интернета используют Internet Explorer. Новый браузер Edge (на основе Chromium) будет иметь уровень совместимости с IE, который будет способствовать дальнейшему снижению использования IE.
Значит ли это, что Joomla 4 не будет работать в IE? И да и нет!
Бэкенд-шаблон Joomla 4 не будет поддерживать IE, поэтому вам потребуется другой браузер для установки / поддержки веб-сайта. То же самое относится и к базовому шаблону внешнего интерфейса Cassiopeia, поскольку он не будет поддерживать требования IE, поэтому можно ожидать некоторые проблемы с отображением. Тем не менее, это может быть решено путем создания или установки шаблона, который поддерживает IE.
Как это повлияет на основной код?
По мере прекращения поддержки PHP 5 в коде можно внести множество новых возможностей и улучшений. Многие из этих изменений могут быть сделаны без влияния на существующий публичный API. Однако некоторые функции (например, подсказки скалярных типов) могут привести к нарушениям обратной совместимости, если они будут приняты.
Поэтому будут согласовываться следующие политики, связанные с Joomla 4.0 и Joomla Framework 2.0, для нового и существующего кода:
- Все новые классы и методы в новых основных версиях могут использовать все функции, доступные в PHP 7.2, включая подсказки скалярных типов и объявления возвращаемых типов;
- Приватные методы и методы в финальных классах (которые не могут быть расширены по определению) могут быть обновлены для использования типизации PHP 7.2;
- Общедоступные и защищенные методы в существующих классах, как правило, не будут менять сигнатуры своих методов, если только это изменение не улучшит понимание и использование кода (например, методы, которые могут использовать переменные сигнатуры);
- Ядро отказалось от использования сложных полифилов, которые существовали просто ради поддержки IE, переменных CSS и flexbox.
Единая и улучшенная поисковая система
В рамках мажорной версии производится оценка всех расширений и концепций, чтобы попытаться упростить жизнь каждому пользователю Joomla. Одна из проблем в Joomla начиная с версии 2.5 - поиск. Joomla 4.0 сделает большой шаг вперед, и мы хотим вам об этом рассказать.
В чем проблема?
В течение многих лет Joomla предоставляла две поисковые системы. Первая - это Поиск (или com_search), которая существует со времен Mambo и с тех пор практически не развивалась. Другая - это Умный Поиск (или com_finder), который был любезно пожертвован для Joomla 2.5, но не был отполирован на 100%.
Две совершенно разные системы для одной и той же задачи не облегчают работу пользователей и часто приводят к путанице. Не говоря уже о том, что разработчики ядра должны поддерживать обе системы.
В чем разница между поиском и умным поиском?
Поиск - это очень простая система, которая вызывает группу плагинов для наивного поиска в базе данных по поисковому запросу и возвращает серию результатов. Они реагируют на каждое упоминание этого термина, но также только на этот точный термин. Если у вас много данных и поисковых плагинов, это может повлиять на производительность вашего сайта. Результаты не будут упорядочены, но код, необходимый для создания такого плагина, прост.
С другой стороны, Умный Поиск - это поиск по индексу. Поиск по индексу имеет много преимуществ, упорядочивая результаты по релевантности, что-то вроде нечеткого поиска, где ищутся варианты слов и меньше влияют на производительность. Система интеллектуального поиска является более мощной, но требует небольшой обработки, поскольку вам необходимо создать индекс.
Что было сделано?
В прошлом году Умный Поиск был полностью переработан. Была улучшена структура данных и способ, которым Умный Поиск выполнял фактический поиск, чтобы значительно повысить производительность. Были исправлены несколько давних ошибок и доработана система таксономии. Самое главное, исправлено много ошибок, связанных с многоязычной поддержкой.
Со всеми этими изменениями Умный Поиск предоставит вам лучшие результаты поиска. Поэтому было решено удалить простую поисковую систему из ядра Joomla 4.0.
Хотелось бы поблагодарить cloudaccess.net, который частично профинансировал усовершенствование системы Умного Поиска.
Как мне перейти с поиска на умный поиск?
Эти две системы очень разные, и нет реального способа обновить одну на другую нажатием кнопки. Если вы в настоящее время используете Поиск на своем сайте и хотите переключиться на Умный Поиск, вам придется настроить систему. Не паникуйте, это проще, чем кажется: включите плагин, создайте индекс вашего контента (это всего лишь один клик!) И сделайте поиск доступным для ваших посетителей, создав элемент меню или модуль (или оба).
Для получения дополнительной информации об Умном Поиске и о том, как его настроить, нажмите кнопку «Справка» в панели управления умным поиском.
Призываем разработчиков расширений как можно скорее приступить к созданию плагинов Умного Поиска для своих расширений, чтобы не разочаровывать своих пользователей.
Но мне нужен старый поиск!
Если вы действительно не хотите переключаться на умный поиск, вы все равно сможете установить устаревшую поисковую систему в качестве отдельного расширения на новые сайты Joomla 4. Этот пакет будет доступен на сайте загрузок (https://downloads.joomla.org) и будет поддерживаться в течение всего жизненного цикла Joomla 4. Если вы выполняете обновление с сайта Joomla 3, старый поиск не будет удален – как например, это случилось с компонентом "Веб-ссылки" в Joomla 3.3.
Автоматическое исправление ошибок стиля кода
Благодаря реализации PHP CodeSniffer 2.x, появилась возможность автоматически исправлять многие ошибки стиля кода. Пользовательские сниффы Joomla в стандарте оформления кода тоже получили возможность автоматического исправления. Это должно сэкономить разработчикам и проектам Joomla много времени в обеспечении соответствия стандарту кода без ручного вмешательства. Уже ведется работа над переходом на PHP Codesniffer 3.x, чтобы находится на последней и самой лучшей версии Codesniffer в Joomla 4.
Особая благодарность Уолту Соренсону (Walt Sorenson), который посвятил много времени работе над набором правил Codesniffer для Joomla. В духе открытого исходного кода многие из твиков Joomla были отправлены обратно в проект Codesniffer.