Вышел Drupal 10: что нового и почему лучше начать миграцию на новую версию уже сейчас

Главные вкладки

Аватар пользователя Drupal Coder Drupal Coder 9 января 2023 в 21:14
2

К новому году команда Drupal положила нам под ёлочку десятую версию с новыми технологиями и приятными переменами в скорости работы и безопасности. В этой небольшой статье мы заглянем в список инноваций и узнаем, чем они нас порадуют, а также расскажем, почему лучше задуматься о переезде на последнюю версию уже сейчас.

Что изменилось в новой версии Drupal

14 декабря 2022 года вышел Drupal 10 — последняя на текущий момент версия CMF (или CMS, многие до сих пор спорят) с открытым кодом, плод усилий тысяч разработчиков.

Список обновлений в Drupal 10

Интерфейс Olivero. Olivero станет заменой теме оформления Bartik, которая была установлена по умолчанию на версиях 7, 8 и 9. Устаревший интерфейс создавал ложное впечатление о возможностях Drupal.

Более плавный, элегантный и современный интерфейс. Его основное преимущество — соответствие WCAG, руководству по доступности веб-контента для людей с ограниченными возможностями. Теперь создавать новые проекты на Drupal стало ещё удобнее.

Drupal 10_1

Бэкенд от Claro. Также заменит устаревшую тему Seven. Улучшенное юзабилити для работы с контентом: вкладки администратора перемещены по результатам исследований пользовательского опыта для лучшей доступности, улучшено редактирование с мобильных устройств. Любые подобные улучшение потенциально ускоряет работу с сайтом для модераторов и контент-менеджеров.

Drupal 10_2

CKEditor 5. Обслуживание CKEditor 4 истекает в 2023 году. Этот модуль для работы с текстами служил более 10 лет, теперь его заменит более современный приемник. Причём, пятая версия теперь входит в ядро Drupal 10 и не требует отдельной установки.

Обновления на радость контент-менеджерам: можно редактировать ссылки и изображения без дополнительных окон, прямо на месте, а при вставке текстов из Google Docs и Word CKEditor 5 удалит разметку из этих программ.

Современные компоненты JavaScript для замены некоторых применений jQuery. Раньше в Drupal была встроена большая библиотека jQuery, которая занималась реализацией функций, не поддерживаемых в браузерах. Благодаря развитию технологии JavaScript растут возможности браузеров — они могут выполнять часть того, что раньше лежало на jQuery. Теперь от части этой библиотеки можно отказаться, что ускорит загрузку сайта и его работу.

Генератор тем Starterkit. Создание новых сайтов стало ещё удобнее. Теперь при сборке темы на основе базовой версии можно не бояться проблем с обновлениями. После создания темы с помощью Starterkit можно отслеживать изменения в теме, чтобы включить в неё улучшения и исправления ошибок. это поможет сайту оставаться более стабильным.

Symfony 6 на замену Symfony 4 и PHP 8.1. В Symfony 6 улучшены производительность и безопасность — устранены баги и исправлены уязвимости. Новая версия PHP 8.1 работает быстрее и долго будет оставаться безопасной.

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

Важный блок для тех, у кого сайт на Drupal 7

Казалось бы, зачем владельцу iPhone 5 самая новая модель? Эта работает, звонит и выходит в интернет. Если не вдаваться в детали дизайна и ненужных функций, мы упрёмся в повышение производительности, лучшее железо и другие приятные возможности.

То же самое можно сказать о Drupal 7 — самая популярная версия с кодом десятилетней давности. В 2023 году прекращается поддержка этой версии Drupal, с неё нужно уходить как можно скорее. Если вернуться к аналогии с iPhone, просто представьте, что больше нельзя обновлять приложения на нём или ваши данные намного легче украсть отсюда, чем с новой модели, которую во всю обслуживают и улучшают.

Если вам кажется, что изменилось не так много, нужно понимать, что сравнение идёт с  8 и 9 версиями, переходить с которых будет немного проще, а перемены не такими значительными. Но вот между 7 и 10 Drupal за 10 лет образовалась настоящая пропасть. Вот небольшой список того, что ещё можно получить, если совершить «прыжок» с 7 на 10: 

  • увеличится скорость открытия страниц за счет динамического кэширования (сбрасывается только кэш изменённых блоков и страниц, а не всего сайта;
  • будет тратиться меньше времени разработчиков (денег) на перенос настроек dev/pro. Поддержка конфигураций позволит отслеживать все изменения настроек сайта в системе контроля версий GIT;
  • станет доступна технология FaceBook Big Pipe, благодаря которой посетителям быстрее отображается контент: можно настроить отложенную загрузку блоков (например, рекламу) за один запрос к веб-серверу;
  • упростится возможность реализации многоязычности и доступности контента для людей с ограниченными возможностями;
  • станет доступна поддержка нового формата изображений webp для ускорения загрузки изображений и продвижения в поисковиках;
  • расширятся возможности интеграции с другими системами импорта\экспорта контента за счет встроенных миграций и веб-сервисов. Например, можно предоставить партнерам  доступ для автоматического обновления контента на сайте, либо массово импортировать статьи, отдавать контент сайта в мобильное приложение или на партнерские сайты;
  • добавится готовый модуль для создания мобильного приложения по технологии PWA;
  • будет больше готовых модулей интеграции, например рассылки Unisender, CRM Битрикс 24, Google AMP (аналог Яндекс.Турбо);
  • будет поддерживаться современная семантическая верстка, разметка Schema.org, Microformats.org, Open Graph, JSON-LD для передачи информации поисковикам и увеличения переходов из поисковых систем;
  • будет добавлена поддержка встроенных видео и интеграция с YouTube, Vimeo;
  • появится возможность реализовать полнотекстовой поиск с поддержкой русской морфологии через интеграцию Apache Solr.

Довольно внушительный список, согласитесь. И всё это даже не покупка iPhone поновее. Это как поменять машину на ракету.

Что будет со старыми версиями Drupal?

Мы всё равно будем поддерживать более ранние версии Drupal. Но нужно понимать, что большинство новых фишек, обновлений и улучшений будут недоступны на тех версиях, поддержка который прекращена.

Если вам дорога безопасность вашего сайта и его стабильность, лучше задуматься о переезде уже сейчас.

Зачем мигрировать на новую версию Drupal?

Миграцию всегда можно провести с пользой. Когда проект развивается долго, на нём копится технический долг, мёртвый код и баги, от которых можно избавиться переходом на новую версию. Этот груз сказывается на качестве сайта и удорожает поддержку — приходится делать одно и то же, чинить в одном месте, пока ломается в другом. За один раз можно избавиться от того, что копилось десятки лет разработки и несколько поколений разработчиков разного уровня. 

Помимо апгрейда, можно также провести, редизайн, который будет намного проще и дешевле внедрить при переезде на обновлённую версию Drupal.

В новом году подарите вашему проекту новую жизнь: до 31 января 2023 года, в честь перехода на Drupal 10, Initlab предлагает скидку 50% на аудит миграции. А если вы до конца января 2023 года решите перевести сайт на новую версию Drupal, мы также сделаем скидку на работы по миграции по итогам аудита вашего сайта.

 

Комментарии

Аватар пользователя ivnish ivnish 10 января 2023 в 5:54

А я считаю, что рано обновляться до Drupal 10.

Ещё не все популярные и не очень модули довели до совместимости с Drupal 10. Я, как мейнтейнер более 20 контрибных модулей, знаю о чем говорю. Друпал.ру будет просто завален однотипными темами типа "не работает modulename на Drupal 10, памагите"

Во-вторых многие по ошибке думают, что с выходом новой версии Drupal 9 превратится в тыкву. Это не так. Девятка будет поддерживаться ещё долго, как и восьмерка поддерживалась

В-третьих большинство фич десятки, которые интересны большинству сайтбилдеров (темы оформления, ckeditor5) уже давно доступны для Drupal 9

Аватар пользователя ady1503 ady1503 10 января 2023 в 21:09

Очень хорошо объяснил.

У меня такое же мнение.

Лучше всего вносить изменения и постепенно переходить на версию 10. Многие проекты еще не готовы к версии 9, и спешка до версии 10 создаст хаос для разработчиков.

Аватар пользователя cwpnaWLs7M4a cwpnaWLs7M4a 13 января 2023 в 21:52

"будет больше готовых модулей интеграции" вот с этим я согласен. вот пример современного инет магазина. посчитайте сколько там нужно интеграций:

Аватар пользователя karmike karmike 30 января 2023 в 23:27

Буду переделывать один сайт практически с нуля, наверно, лучше сразу 10 ставить. Сайт будет развиваться постепенно, сначала будет очень простой, поэтому надеюсь, что глюками не засыплет.
Начинал с 7-ки, пережил (с красноглазием) переходы на 8 и 9. Лучше сейчас перейти на десятку и потом года три хотя бы сидеть на ней.
У кого большие работающие сайты, тем, конечно, стоит подождать более стабильных версий.

Аватар пользователя Zeratul Zeratul 24 февраля 2023 в 21:18

Думаю тут всё также как с Виндой. Нужно, что бы новая версия отстоялась, протестировалась и обросла сервиспаками с латками. Паралельно с этим инет наполнился бы ответами на возникающие проблемы при переходе на новую версию.

Аватар пользователя PVasili PVasili 5 июня в 9:50

большая библиотека jQuery, которая занималась реализацией функций, не поддерживаемых в браузерах

А что-то пропустил в этой жизни Smile
Афтар: интересно, что JS библиотека могла сделать в браузере, что он не умел делать?

…возможности браузеров — они могут выполнять часть того, что раньше лежало на jQuery.

мысль очень интересная

И всё это даже не покупка iPhone поновее. Это как поменять машину на ракету.

странные эти "владельцы iPhone поновее", мне нужно ехать, зачем мне ракета Smile

Всю рекламную чушь видать писали маркетологи, не знающие предмета и предметно области. Читать местами довольно забавно.

Аватар пользователя Drupal Coder Drupal Coder 18 июня в 21:19
1

PVasili wrote: Афтар: интересно, что JS библиотека могла сделать в браузере, что он не умел делать?

Всю рекламную чушь видать писали маркетологи, не знающие предмета и предметно области

Как что? Эту часть статьи писал sin, не маркетологи ) Опустили технические подробности так как статья все же про другое.

Имелось ввиду следующее:

1. Одной из фишек, способствовавших взрывному росту популярности JQuery, была поддержка мощнейших селекторов через $.("..") на уровне CSS3. К слову, реализация внутри JQuery парсера селекторов и поиска по DOM была заимствована из другой гораздо менее известной библиотеки ) С появлением querySelector() и развитием уровней Selector API поиск по DOM на чистом JS такой же мощный, а код не многим длиннее, чем на JQuery.

2. Другая киллер фича JQuery, заметно сокращавшая код -- это чейнинг коллекций компонентов через ".". Использование функционального программирования (функции map, filter, reduce) , спред оператора ..., стрелочных функций, которые стали доступны в ES6, делают работу с коллекциями на чистом JS более лаконичной, заменяя собой чейнинг.

3. Проверка загрузки DOM по таймеру -- знаменитое джиквериевское начало $(document).ready() -- очевидно потеряло актуальность с появлением нативной поддержки события DOMContentLoaded. Внутри JQuery.ready() оно уже давно используется, возвращаясь к старой реализации с таймером только для совместимости с древними браузерами.

4. Использование IIFY $()() и плагины JQuery уже избыточны с появлением в ES6 модулей и лексической области видимости переменных, объявленных через let.

Вот и получается, что браузер теперь нативно и быстро умеет на JS делать все то, что ранее могла JQuery. Несмотря на это 70+% сайтов в интернете все еще используют эту библиотеку в 2024 году для совместимости с огромным количеством мощных плагинов. Матерые фронтэндеры, разрабатывающие на реактивных JS фреймворках, услышав что JQuery все еще входит в Drupal, не зря воротят носом. Никакой необходимости в ней, кроме обратной совместимости с уже написанным кодом, уже давно нет. Сообществом Drupal ведется большая работа по переписыванию старого JQuery кода на чистом JS с целью убрать ее вовсе:

https://www.drupal.org/project/drupal/issues/3052002

Но в Drupal 11 c JQuery мы все еще не попрощаемся Smile

Аватар пользователя gun_dose gun_dose 19 июня в 11:09
2

Объективно большинство друпалеров всё ещё не готово попрощаться с jQuery, т.к. даже сейчас многие пишут свои скрипты с использованием jQuery. Это уже не говоря о том, что реально мало кто знает, как переписать jQuery на нативный js. Хотя лично я уже несколько лет стараюсь нигде не использовать jQuery без крайней необходимости. Более того, если приходится работать с уже ранее написанным js, стараюсь там порефакторить хоть что-нибудь на нативку.