Вышел Drupal 11: что нового и почему лучше начать миграцию на новую версию
2 августа вышел релиз Drupal 11 -- самой продвинутой в мире CMS(F) с открытым кодом! Что нового с момента выхода Drupal 10 в декабре 2022 года?
Добавлены новые возможности для организации сложной работы с контентом и медиа
Новый стабильный модуль Workspaces позволяет сохранять несколько рабочих пространств сайта, например Live/Stage, в каждом из которых изолированно храняться обновления контента и конфигурации сайта. Можно переключаться между такими состояниями, просматривать изменения и публиковать их из одного рабочего пространства в другое. На мой взгляд это одно из самых масштабных нововведений в Drupal 11. Это позволяет подготавливать, модерировать и единовременно публиковать большие изменения на сайте, не только в его коде, но и в контенте, переводах на другие языки, товарах в каталоге. Не показывать посетителям недоделанные страницы, недозаполненные товары, устаревшие переводы. Workspaces по сути аналогичны веткам в системе контроля версий файлов GIT при работе с программным кодом, только в данном случае речь идет об альтернативных ветках контента сайта в базе данных. Разработчики знают, что минусом работы с кодом в разных альтернативных ветках является трудоемкость слияния веток кода. Как с этой проблемой для контента справляются Drupal Workspaces? Очень просто -- текущая реализация не дает править один и тот же контент в двух рабочих пространствах одновременно, предупреждая возможные конфликты.
У словарей таксономии добавлена работа с ревизиями словарей. Также можно настроить модерацию изменения в таксономию с помощью Workflows. Таксономия Drupal является одной из самых мощных функций работы с полями, позволяющей гибко работать со справочниками значений и тегов.
Новые типы полей для хранения номеров телефонов и интервалов дат и времени.
Улучшена и упрощена работа с блоками контента. Реализована работа с ревизиями блоков контента. Проще добавить блок контента в регион. Видимостью блока можно управлять в зависимости от статуса ответа веб-сервера, словаря таксономии, роли пользователя, типа контента.
Модуль Media Library позволяет лучше ориентироваться в видео и изображениях, загруженных на сайт или вставленных из других источников, упрощает их повторное использование в ссылочных полях или при вставке в контент через CKEditor при создании и редактировании материалов. В новом режиме сетки проще находить нужный контент. А специальная кнопка в CKEditor показывает диалог для поиска и переиспользования видео или картинок из медиа библиотеки сайта при вставке их прямо в текст. Автоматической дедупликации Media в ядре пока нет, однако она может быть организована дополнительными модулями.
Добавлена поддержка версионирования (ревизий) в Media контент.
Drupal считается одной из лучших платформ для многоязычных сайтов. Можно переводить на любые языки контент, пользовательский интерфейс, конфигурацию сайта. В 11 версии улучшения коснулись и мультиязычности. Теперь все переводы легко можно отмечать как устаревшие при правке оригинального контента. В админке подсвечиваются требующие актуализации устаревшие переводы контента. А выкатывание обновлений сразу в оригинальные и все переведенные материалы легко можно организовать через Workspaces.
Модернизирован интерфейс администрирования сайта
Два новых экспериментальных модуля Navigation и Navigation Bar добавлют выпадающее слева меню для быстрого доступа к страницам управления сайтом.
Упрощено создание полей для добавления дополнительной информации к типам материалов, комментариям, пользователям.
Улучшена интеграция и настройки CKEditor для работы с картинками и стилями текста, фрагментами кода. Наконец-то из коробки нормально настроены форматы ввода HTML во все основные поля, стили текста и удобно сделана вставка, подпись, изменение размера картинок.
Упрощено создание вложенных пунктов меню.
В Layout builder улучшен функционал перетаскивания мышью.
Скорость загрузки страниц
Ядро Drupal теперь содержит фреймворк тестирования производительности Gander, который собирает такие параметры как Time to first byte (TTFB), Largest contentful paint (LCP), First contentful paint (FCP), количество запросов в базу данных и сами запросы, количество CSS и JS-файлов на странице, количество запросов в кеш Drupal. Публично доступный сервис на базе Grafana Dashboard мониторит производительность ядра Drupal при его разработке на drupal.org и теперь все компоненты Drupal также покрываются тестами на скорость работы. Это позволило оптимизировать стратегии кеширования, запросы к базе данных, пересмотреть и упростить код в ядре Drupal 11 версии.
Для изображений Media по умолчанию используется формат WebP, что уменьшает их вес примерно на 25-34%.
Добавлена минификация JavaScript налету. Выбрасываются комментарии, лишние строки и пробелы, лишние скобки + сжатие gzip. Размер файлов уменьшается на 2/3. Ранее для сжатия приходилось использовать сторонние модули или решения, которые не всегда работали корректно.
Улучшена работа BigPipe, добавлена работа с ленивой загрузкой респонсив изображений и ленивая подгрузка oEmbed-контента. Facebook BigPipe -- это технология отложенной подгрузки тяжелых блоков на странице за один запрос к веб-серверу, которая реализована в Drupal 8+.
Поддержка PHP версии 8.3. Уже это само по себе дает прирост производительности в 1.5 раза за счет реализованных в новой версии PHP оптимизаций.
Как обычно удален устаревший (Deprecated) код Drupal 10 и из ядра удалены и перенесены в contrib ряд редко используемых модулей (Actions UI, Activity Tracker, Book, Forum, Statistics, Tour). Некоторые компоненты устаревшей библиотеки jQuery UI заменены на современный более быстрый JavaScript.
Все эти изменения обещают прирост в скорости работы сайта до 50% по сравнению с предыдущей версией Drupal на более старой версии PHP.
Для разработчиков
Single Directory Components (SDC). Стили, разметка и код теперь организованы более логично для более быстрого написания UI, тестирования, повторного использования компонентов UI.
Access Policy API дополняет ролевой контроль доступа (RBAC) для создания более сложных и гибких решений управления доступом, например, на основе привязки ко времени доступа.
Улучшения в API-first и Headless CMS подходе для лучшей интеграции с микросервисами и отдельными фронтэндами на фреймворках типа React and Vue.js. Улучшения как в RESTful API, так и в поддержке GraphQL. Отдельные точки входа с использованием стандарта Linkset позволяют упростить на фронтэнде разработку динамической навигации, которая управляется из админки Drupal.
Улучшения в безопасности. Более сильные протоколы хеширования паролей. Автоматические обновления из админки наконец-то реализованы. Модуль обновления умеет соединяться с сайтом по SSH и SFTP и обновлять файлы сайта безопасно, без необходимости выдачи прав на запись файлов кода из PHP.
Drupal 11 построен на фреймворке Symfony 7, который вышел в ноябре 2023. В нем содержится множество изменений, улучшающих производитеьность сайта, безопасность и скорость разработки. Например, встроенный профилировщик команд, поддержка типов PHP для упрощения написания кода и отладки в IDE, поддержка предварительной загрузки ресурсов еще до того, как загрузилась страница (preconnect).
Опции "Twig Development Mode" и "Do Not Cache Markup" ускоряют разработку, позволяют отключить кеширование на всех уровнях и автоматически перезагружать шаблоны Twig.
Recipes API. Поэтапное построение сайтов с помощью рецептов -- новая концепция в мире Drupal. Рецепты представляют собой записи настроек модулей Drupal, которые можно накатить на любой сайт из админки или командной строки. В отличие от ранее популярных Features, рецепты не устанавливаются, а просто применяются к сайту. В отличе от дистрибутивов Drupal, рецепты не делают сайт зависимым от какой-то одной сборки. Рецепты могут зависеть от модулей, тем оформления, других рецептов и автоматически устанавливать их. Рецепты также покрыты тестами. В ядре Drupal в каталоге core/recepies доступны 29 рецептов. Например, рецепт создания роли редактора контента и настройки прав ему помещается в одном файле recipe.yml + тесты и выглядит так:
Рецепты от пользователей Drupal можно посмотреть тут.
Конфигурации -- одно из ключевых технологических отличий Drupal от всех других CMS, таких как Wordpress и Битрикс, которое делает Drupal-разработку похожей на разработку на фреймворках с поддержкой автоматической миграций данных и настроек модулей. Система рецептов делает работу с конфигурациями Drupal еще более гибкой. Конфигурации и рецепты автоматизируют перенос настроек между копиями сайта local/dev/stage/prod, используются для хранения настроек сайта в GIT, встраиваются в цепочки CI/CD для автоматизированного тестирования и выкатки обновлений сайта.
Стоит ли обновляться?
С Drupal начиная с версий 8 и заканчивая 9 однозначно стоит. Drupal 8 и 9 более не поддерживаются, не получают обновлений безопасности, их использование становится небезопасным. Обновление будет не очень трудоемким. Плюсом при условии обновления PHP до 8.3 можно получить хороший прирост в скорости работы сайта.
Drupal 10 будет поддерживаться до 2026 года. Обновление до 11 рекомендуется если важна скорость работы сайта или нужны новые функции, такие как Workspaces.
Для тех, у кого большой проект на старой некогда популярной версии Drupal 7 и скорость работы сайта устраивает вопрос не столь однозначный. Поддержка и выпуск обновлений безопасности Drupal 7 продлены до 5 января 2025. Наиболее важные изменения по сравнению с Drupal 7 перечислены в конце статьи про Drupal 10. Переделывать сайт на новой версии Drupal и мигрировать контент с Drupal 7 очевидно будет целесообразным если планируется дальнейшее активное развитие сайта, редизайн, внедрение новых веб-технологий, которые поддерживаются в новых версиях Drupal.
В 2025 году большинство сайтов работают под управлением самых популярных CMS — WordPress или 1С-Битрикс; однако на рынке представлено более 800 систем управления контентом. В этой статье подробно разберем одну из них.
Продукты Pimcore знакомы многим, кому нужно управлять контентом и данными о товарах. Для среднего и крупного бизнеса эта технология просто незаменима. На текущий 2025 год запланировано глобальное обновление, которое затронет всех пользователей. В свежей версии появятся новые возможности, о которых рассказывает Ремзи Эшматов, эксперт по внедрению ИТ…
Веб-разработка продолжает стремительно развиваться, и в ближайшие пять лет мы можем ожидать значительных изменений, которые повлияют на создание и функционирование веб-приложений. Новые технологии и подходы улучшат пользовательский опыт, безопасность и производительность веб-ресурсов. Разобраться в вопросе нам помогли эксперты международной онлайн-…
Последнее время на практике участились обращения, связанные с ИТ-аудитом систем. Чаще всего клиенты обращаются по вопросам рефакторинга, отладки обменов с внешними системами, новых функций и составления дорожных карт по развитию проектов. Но особенно часто встречаются запросы на оптимизацию производительности.
В своей практике я всё чаще сталкиваюсь с запросами на создание ИИ-агентов, и это неудивительно: грамотное внедрение таких решений помогает автоматизировать процессы, сократить издержки и повысить качество обслуживания. Но чтобы добиться результата, важно понимать основные подходы к созданию ИИ-агентов, знать типичные ошибки и ориентироваться в том…
Примерно 35% из сделанных мной сайтов были интернет-магазины, а разработкой сайтов я занимаюсь с 2015 года (10 лет), поэтому удалось поработать на вкус много CMS, ниже личный опыт о них.
Привет, меня зовут Андрей Виноградов, я исполнительный директор в интернет-агентстве полного цикла. Каждый день я сталкиваюсь с вопросами о стоимости сайтов. Почему один сайт стоит 10 000 ₽, а другой — от 150 000 ₽? Сегодня расскажу, за что на самом деле платит клиент и почему дешевый сайт — это почти всегда потерянные деньги.
Выбор CMS — это не просто вопрос «какая лучше?». Это стратегическое решение, которое может либо ускорить развитие бизнеса, либо загнать его в дорогостоящий долгострой.
Всем привет👋 На связи команда KUKOYAKA.PRO.
В чем приемущество 8,9,10,11 перед 7 можете назвать? Переход от jquery на ванилу, это скорее не плюс, а тренд, ну rest получше, а дальше? Модуля как там для 11?
Вот тут в конце хорошое описание преимуществ https://vc.ru/dev/565556-vyshel-drupal-10-chto-novogo-i-pochemu-luchshe-nachat-migraciyu-na-novuyu-versiyu-uzhe-seichas
С модулями в 11 хорошо все )
C десятки нормальный переезд или есть нюансы, помимо обновления пыха до версии 8.3?
Обычно нормальный, от сайта зависит: https://www.drupal.org/docs/upgrading-drupal/upgrading-from-drupal-8-or-later/how-to-upgrade-from-drupal-10-to-drupal-11