Оновлення до останньої версії D10 (10.3.6)

Ми тут побували на Drupal Cafe Lutsk #26, і нас надихнуло на статтю, при чому ж ми маємо достатньо проектів на Drupal CMS.

Що ж час оновити систему нашого соціального проекту до останньої версії.. Гори сарай, гори і хата, як кажуть ) 

Друпал 10 себе вже нормально зарекомендував, але ще до 11 версії страшно оновлюватись. Але ми не боїмосі )

Початкові дані

Почнемо з того, що ми вже пройшли проблему оновлення CKEditor 4 до CKEditor 5. І ми вже мали проект з Drupal 10.1.8. 

Мабуть зрозуміло, через які проблеми нам довелось пройти, щоб оновитись від D10.1.8? 

Вже після цього, серйозного оновлення, перестала працювати реєстрація, проблема виявилась проста, треба було б оновити всі модулі, всі! А не те що червоним світиться.. )

Що ж команда з оновлення OpenID Connect / OAuth client успішно пофіксило помилку:

composer require 'drupal/openid_connect:^3.0@alpha'

Мабуть краще покажемо скріни і трохи прокоментуємо це . Може хто ще збирається апгрейдити свої проекти…

Drupal 10

На цей момент актуальна версія “десятки” це - 10.3.6.

Правильна послідовність дії при оновленні:

  1. Перевірити актуальні версії.
  2. Оновити всі модулі до актуальних робочих версій.
  3. Оновлюватись мінорно (послідовно, не одразу до останньої версії).
  4. В процесі оновити Drush.
  5. Також буде потреба оновити php 8.3, СУБД.

Тож бо, тепер по черзі.

Вимоги Drupal 11:

  • Apache 2.4.7 or higher, Nginx 1.1 or higher, or any other web server with proper PHP support.
  • Database
    - MySQL 8.0 or higher.
    - MariaDB 10.6 or higher.
    - Percona Server 8.0 or higher.
    - PostgreSQL 16 or higher.
    - SQLite 3.45 or higher.
  • PHP
    - PHP version: Drupal 11 requires PHP 8.3.
    - PHP extensions needed: PDO, XML, GD-library, OpenSSL, JSON, cURL, Mbstring, zlib.

Оновлення Drush та інших модулів

Наш проект не дозволив оновитись до останньої версіїї Drush, тому йдемо послідовно. мінорно:

composer require drush/drush:^12.5.2 -W

Далі вже онволюємо сам друпал до версії 10.3.6

composer require drupal/core-recommended:10.3.6 drupal/core-composer-scaffold:10.3.6 drupal/core-project-message:10.3.6 --update-with-all-dependencies

Досить спрощує використання ключа -W, бо таким чином ми оновлюємо всі залежності.

З цікавого, також, стала проблема в модулі Gin Toolbar, тому радимо вимкнути його:

drush pmu toolbar

Запускаємо апдейт бази данних:

drush updb

Та і на тому система оновлена до максимальної "десятки".

Підготовка до оновлення Drupal 11

Так, як Drupal 11 вимагає вже php8.3, то час вже і нам то робити.

Команди що допоможуть оновити PHP:

 

Save existing php package list to packages.txt file

sudo dpkg -l | grep php | tee packages.txt

 

Add Ondrej's PPA

sudo add-apt-repository ppa:ondrej/php # Press enter when prompted.

sudo apt update

 

Install new PHP 8.3 packages

sudo apt install php8.3 php8.3-cli php8.3-{bz2,curl,mbstring,intl}

 

Install FPM OR Apache module

sudo apt install php8.3-fpm

OR

sudo apt install libapache2-mod-php8.2

 

On Apache: Enable PHP 8.3 FPM

sudo a2enconf php8.3-fpm

When upgrading from an older PHP version:

sudo a2disconf php8.2-fpm

 

Remove old packages

sudo apt purge php8.2*

 

Є ще дещо. треба оновити/встановити:

sudo apt-get install php8.3-gd

sudo apt-get install php8.1-xml

Оновлення Drupal 11

Оновимо Drush 13:

composer require drush/drush:^13 -W

У нас проект маленький, критичного нічого не було змінено, окрім оновлення моделів, бо деякі модулі залежні саме від версії Drupal.

Нагадаю як оновлюються модулі:

composer require ‘drupal/<name_module>:^<version>’

Таку команду можна найти на кожній сторінці проекта-модуля.

Тому наступним кроком оновили Drupal:

composer require drupal/core-recommended:^11 drupal/core-composer-scaffold:^11 drupal/core-project-message:^11 --update-with-all-dependencies

Висновок

Оновлення до Drupal 11 — це стратегічний крок, що відкриває нові можливості для розвитку вашого бізнесу в цифровому просторі. Ця версія не тільки пропонує сучасні рішення для створення високоякісного контенту, але й забезпечує вищий рівень продуктивності та безпеки. Drupal 11 допомагає організаціям бути гнучкими та готовими до змін, швидше впроваджувати нові функції та інтеграції, що стає важливою перевагою в умовах зростаючої конкуренції. Ретельна підготовка до оновлення та використання нових інструментів і можливостей цієї версії дозволять оптимізувати ваші робочі процеси та підвищити ефективність управління сайтом. Оновлення до Drupal 11 означає готовність вашого бізнесу до сучасних викликів і технологічних інновацій, забезпечуючи стабільність і успішний розвиток у майбутньому.