В Drupal 9 реализованы все возможности Drupal 8 и два раза в год продолжаются постоянные инновации, добавляя новые функции.
Это означает, что Drupal 9 равен Drupal 8 за вычетом устаревших API. Таким образом обновление не требует капитального ремонта инфраструктуры вашего сайта.
Поговорим об инструментах которые потребуются для подготовки к обновлению Drupal.
Upgrade Status
О готовности Drupal 9 нельзя говорить без упоминания модуля Upgrade Status. Это первостепенный инструмент, необходимый для успешного обновления.
Он выполняет практически все основные функции, необходимые для подготовки к обновлению.
Предлагает вам обновиться до текущей версии
Проверяет, используете ли вы версию Drupal, поддерживающую обновление.
Предлагает вам проверить системные требования
Проверяет, соответствует ли ваша система системным требованиям следующей основной версии.
Предлагает вам сосредоточиться на проектах
Интегрируется со статусом обновления, чтобы информировать вас об обновлении ваших проектов. Проекты могут быть совместимы с несколькими основными версиями Drupal, поэтому большинство проектов можно обновить на существующем сайте до выполнения основного основного обновления.
Предлагает вам решать другие проблемы совместимости
Вы могли подумать, что этих трех должно быть достаточно, но это еще не все. Существует множество проблем совместимости с Drupal 9, которые необходимо решить с помощью запуска phpstan. И upgrade status тоже может это сделать.
Upgrade Status также может интегрироваться с drush. Вам нужно будет установить его с помощью Composer.
Drupal Check
Следующим важным инструментом для перехода на Drupal 9 является модуль Drupal Check. PHPStan был разработан как инструмент статического анализа, который может запускать автономный исполняемый файл PHP из командной строки.
Проверка сообщит обо всем устаревшем коде, который используется на вашем сайте.
Для беспрепятственного обновления ваша система должна быть на 100% совместимой с Drupal 9.
Но это похоже на модуль Upgrade Status.
Да. Есть некоторое сходство между Drupal Check и Upgrade Status в том, что обе они работают над установлением совместимости с Drupal 9. Однако я бы сказал, что Upgrade Status имеет гораздо больший масштаб.
Upgrade Rector и Drupal Rector
Вы бы предпочли использовать автоматизированный механизм для обнаружения нежелательных устаревших API перед обновлением D9 или предпочитаете делать это вручную? Я почти уверен, что ваш ответ будет напоминать мой и будет первым выбором.
И эти автоматические проверки устаревания и исправления кода идут вместе с Upgrade Rector. Это также позволяет вам вносить исправления как в собственные, так и в собственные проекты с помощью предложений. По сути, Upgrade Rector — это интегрированный пользовательский интерфейс Drupal для Drupal Rector.
Итак, что такое Drupal Rector?
Прежде чем я перейду к Drupal Rector, давайте немного разберемся с историей Rector. Это инструмент, который автоматизирует обновление кода PHP.
Drupal Rector взял эту концепцию и реализовал ее на Drupal. Drupal Rector обновляет устаревший API, используемый в Drupal.
IDE
Использовать IDE или редактор кода, который может легко и эффективно понять и определить устаревшие версии.
Почему это важно?
Для этого есть две причины;
- Один из них связан с видимостью. Если ваша IDE понимает устаревшие версии, они будут очень заметны даже в процессе разработки.
- А во-вторых, он отменяет вызовы устаревших методов и дополнительно информирует вас о правильном вызове.
PHPStorm один из примеров инструмента IDE, который очень удобен при рассмотрении вопроса об обновлении до Drupal 9.
Module Upgrader
Module Upgrader — это инструмент, более ориентированный на проекты, которые находятся на Drupal 7. Следуя сценарию командной строки с возможностью сканирования источника модуля D7, он может выделить код, несовместимый с Drupal 8 или 9.
Как это работает?
- Он отмечает код, который необходимо обновить;
- При необходимости он выделяет изменения API;
- Он также может автоматически преобразовывать код D7 в D8 или 9.
Что в итоге?
У вас останутся обновленные модули, в коде которых не будет устаревших API. Как только это произойдет, вы станете на один шаг ближе к фактическому обновлению до Drupal 9. Помните, что модуль Drupal 8 без каких-либо устаревших рекомендаций является достаточно хорошим модулем Drupal 9, потому что единственное различие между ними — это устаревшие API.
Migrate Tools
Название достаточно ясное, Migrate Tools — это модуль, который предоставляет дополнительные инструменты для запуска, а также управления миграциями на Drupal 8.
Он работает с Drush и предоставляет команды для удобного управления.
- Вы можете увидеть список миграций и их статус;
- Вы можете выполнять операции импорта и отката;
- Вы можете легко остановить работающую операцию;
- Вы можете перечислить поля, доступные для сопоставления, и просмотреть сообщения, относящиеся к миграции.
Эти функции могут показаться небольшими, но они могут добавить много удобства, чтобы упростить самое простое обновление десятилетия.
Migrate Plus
Модуль Migrate Plus поставляется с расширениями основных функций и примерами инфраструктуры миграции. Его можно легко реализовать в виде объектов конфигурации, которые адаптируются с точки зрения загрузки, модификации и последующего сохранения.
Вывод
Теперь у нас есть необходимые инструменты, которые потребуются для запуска процесса обновления.