2 августа состоялся релиз Drupal 11 — одной из самых продвинутых систем управления контентом (CMS) с открытым исходным кодом. С момента выхода Drupal 10 в декабре 2022 года прошло менее года, но новая версия принесла множество значительных улучшений и нововведений. В этой статье мы подробно рассмотрим ключевые изменения в Drupal 11 и объясним, почему стоит задуматься о миграции на новую версию.
Новые возможности для работы с контентом и медиа
Workspaces: управление рабочими пространствами
Одним из самых крупных и значимых нововведений в Drupal 11 является стабильный модуль Workspaces. Этот инструмент позволяет создавать и управлять несколькими рабочими пространствами сайта, такими как Live и Stage. В каждом из этих пространств можно изолированно хранить обновления контента и конфигурации сайта.
Преимущества Workspaces:
- Изолированное тестирование: Возможность вносить изменения в контент и настройки без влияния на основной сайт.
- Постепенная публикация: Переключайтесь между рабочими пространствами и публикуйте изменения, когда они полностью готовы.
- Управление версиями: Подготовка и модерирование больших обновлений, включая контент, переводы, товары в каталоге и т.д.
Это решение аналогично веткам в системе контроля версий Git, но применяется к контенту и конфигурации сайта, позволяя избежать конфликтов и ошибок при обновлении.
Ревизии и модерация таксономии
- Ревизии таксономии: Теперь в Drupal 11 можно создавать ревизии словарей таксономии, что упрощает отслеживание изменений и восстановление предыдущих версий.
- Модерация таксономии: Используя модуль Workflows, вы можете настроить процесс модерации изменений в таксономии, обеспечивая контроль качества и согласованность данных.
Новые типы полей
- Поле для номеров телефонов: Стандартизированный ввод и хранение телефонных номеров с возможностью проверки правильности формата.
- Поле для интервалов дат и времени: Удобно для событий, расписаний и любых случаев, когда нужно указать период.
Улучшенная работа с блоками контента
- Ревизии блоков: Отслеживайте изменения в блоках контента и при необходимости возвращайтесь к предыдущим версиям.
- Упрощенное добавление блоков: Процесс добавления и настройки блоков стал более интуитивным.
- Гибкое управление видимостью: Настраивайте отображение блоков в зависимости от статуса ответа сервера, таксономии, роли пользователя или типа контента.
Media Library: эффективное управление медиафайлами
- Новый режим сетки: Упрощает навигацию и поиск нужных изображений и видео.
- Повторное использование медиа: Легко вставляйте существующие медиафайлы в контент через CKEditor с помощью специальной кнопки.
- Ревизии медиа: Поддержка версий для медиафайлов позволяет отслеживать изменения и управлять ими.
Улучшения в мультиязычности
Drupal давно зарекомендовал себя как одна из лучших платформ для многоязычных сайтов. В версии 11 были внесены следующие улучшения:
- Отслеживание устаревших переводов: При изменении оригинального контента переводы автоматически помечаются как устаревшие, что облегчает их актуализацию.
- Подсветка устаревших переводов: В административном интерфейсе выделяются переводы, требующие обновления.
- Публикация переводов через Workspaces: Обновления оригинального контента и его переводов можно публиковать одновременно, обеспечивая согласованность информации на разных языках.
Обновленный интерфейс администрирования
- Новые модули Navigation и Navigation Bar: Предоставляют удобное выпадающее меню слева для быстрого доступа к основным настройкам и страницам управления сайтом.
- Упрощенное создание полей: Добавление дополнительных полей к материалам, комментариям и пользователям стало более простым и понятным процессом.
- Улучшенная интеграция CKEditor: Настройки форматов ввода HTML, стили текста и вставка изображений теперь интуитивно понятны и удобны в использовании.
Layout Builder: улучшенная функциональность
- Перетаскивание элементов: Работа с макетами страниц стала еще удобнее благодаря улучшенной функции drag-and-drop, позволяющей быстро изменять расположение блоков и компонентов.
Повышение производительности
Gander: фреймворк для тестирования производительности
Drupal 11 включает в себя новый фреймворк Gander, который позволяет собирать и анализировать ключевые метрики производительности:
- Time to First Byte (TTFB)
- Largest Contentful Paint (LCP)
- First Contentful Paint (FCP)
- Количество запросов к базе данных и кэшу
- Количество CSS и JS файлов на странице
Эти данные помогают разработчикам оптимизировать сайт, улучшая скорость загрузки и общую производительность.
Оптимизация работы с изображениями
- Формат WebP по умолчанию: Использование WebP для изображений в Media уменьшает их размер на 25–34%, ускоряя загрузку страниц.
- Ленивая загрузка изображений: Улучшенная поддержка ленивой загрузки для адаптивных изображений и встроенного контента (oEmbed).
Минификация JavaScript
- Встроенная минификация JS-файлов: Автоматическое удаление комментариев, лишних строк и пробелов, а также сжатие с помощью gzip. Это уменьшает размер JS-файлов примерно на 66%.
Поддержка PHP 8.3
- Прирост производительности: Использование PHP 8.3 обеспечивает повышение скорости работы сайта до 1.5 раз благодаря улучшениям в самой версии PHP.
Удаление устаревшего кода и модулей
- Оптимизация ядра: Удалены устаревшие модули (Actions UI, Activity Tracker, Book, Forum, Statistics, Tour) и перенесены в дополнительные проекты, что облегчает ядро и улучшает производительность.
- Обновление JavaScript-библиотек: Заменены устаревшие компоненты jQuery UI на современные и более быстрые аналоги.
Для разработчиков
Single Directory Components (SDC)
- Удобство разработки: Стили, шаблоны и код компонентов теперь хранятся в одном каталоге, что упрощает разработку, тестирование и повторное использование элементов интерфейса.
Access Policy API
- Гибкое управление доступом: Новый API позволяет создавать сложные политики доступа, дополняя ролевую модель (RBAC). Например, можно устанавливать права доступа на основе времени или других условий.
API-first и Headless CMS
- Улучшения в RESTful API и GraphQL: Облегчена интеграция с микросервисами и внешними фронтенд-фреймворками, такими как React и Vue.js.
- Стандарт Linkset: Позволяет упростить разработку динамической навигации на фронтенде, управляемой из админки Drupal.
Улучшения безопасности
- Усиленное хеширование паролей: Использование более надежных алгоритмов для защиты пользовательских данных.
- Автоматические обновления из админки: Теперь можно обновлять ядро и модули прямо из административного интерфейса, используя безопасное соединение SSH или SFTP, без необходимости предоставлять права на запись PHP.
Переход на Symfony 7
- Современный фреймворк: Drupal 11 основан на Symfony 7, который приносит улучшения в производительности, безопасности и удобстве разработки.
- Новые возможности: Встроенный профилировщик команд, поддержка типов PHP для упрощения кода и отладки, предварительная загрузка ресурсов (preconnect).
Инструменты для ускорения разработки
- Twig Development Mode и Do Not Cache Markup: Эти опции позволяют отключить кэширование и автоматически перезагружать шаблоны, ускоряя процесс разработки и тестирования.
Recipes API
- Новая концепция рецептов: Рецепты — это наборы конфигураций модулей, которые можно применять к сайту поэтапно, облегчая построение и настройку сайта.
- Преимущества рецептов:
- Гибкость: Не привязывают сайт к конкретной сборке или дистрибутиву.
- Удобство: Могут зависеть от модулей, тем и других рецептов, автоматически устанавливая их.
- Надежность: Покрыты тестами для обеспечения стабильной работы.
Стоит ли обновляться до Drupal 11?
Пользователям Drupal 8 и 9
Да, обновление настоятельно рекомендуется. Эти версии больше не поддерживаются и не получают обновлений безопасности, что делает их использование небезопасным. Переход на Drupal 11 позволит вам воспользоваться всеми новыми возможностями и обеспечить безопасность вашего сайта.
Пользователям Drupal 10
Drupal 10 будет поддерживаться до 2026 года. Однако, если вы хотите воспользоваться новыми функциями, улучшенной производительностью и планируете долгосрочное развитие сайта, стоит задуматься о миграции на Drupal 11.
Пользователям Drupal 7
Поддержка Drupal 7 продлена до 5 января 2025 года. Если ваш сайт работает на этой версии и вы планируете его дальнейшее развитие, внедрение новых технологий или редизайн, миграция на Drupal 11 будет целесообразной. Однако следует учитывать, что переход с Drupal 7 на 11 потребует значительных усилий из-за больших изменений в архитектуре.
Как начать миграцию на Drupal 11
- Обновитесь до последней версии Drupal 10.3: Перед переходом на Drupal 11 необходимо обновить сайт до версии 10.3, чтобы обеспечить совместимость и упростить процесс миграции.
- Проверьте совместимость модулей и тем: Используйте инструменты для проверки совместимости ваших текущих модулей и тем с Drupal 11.
- Сделайте резервную копию: Перед любыми крупными обновлениями всегда создавайте полную резервную копию сайта и базы данных.
- Следуйте официальному руководству по обновлению: Подробные инструкции можно найти в руководстве по обновлению Drupal.
- Тестируйте обновление в безопасной среде: Рекомендуется сначала провести обновление на тестовом сервере, чтобы убедиться в корректности работы всех компонентов.
Заключение
Drupal 11 представляет собой значительный шаг вперед в развитии этой популярной CMS. Новые возможности для управления контентом, улучшенная производительность, современные инструменты для разработчиков и повышенная безопасность делают его привлекательным выбором для новых проектов и обновления существующих сайтов.
Если вы стремитесь обеспечить вашему сайту высокую производительность, современный функционал и безопасность, стоит начать планировать миграцию на Drupal 11 уже сегодня.
Важно: Перед обновлением убедитесь, что все ваши модули и темы совместимы с новой версией, и обязательно проконсультируйтесь с профессионалами, если у вас возникают сомнения или вопросы. Этими профессионалами можем выступить наша веб студия “Имидж Ресурс”.
Квалификация наших специалистов
Наши программисты работают с большинством современных движков сайтов и обеспечивают квалифицированную техническую поддержку: