Найти тему
Topsite Web

Инструменты необходимые для обновления Drupal

Оглавление

Если я сравню свое настоящее «я» со мной, которое было пять лет назад, я бы увидел много изменений в том, как я одеваюсь, в том, как я говорю и что самое важное, в моей профессиональной жизни и положении, которое я получил в своей карьере. Что касается меня, я горжусь всеми изменениями. Я заслуживаю похлопывания по спине.

То же верно и для программного обеспечения: если люди меняются со временем, программное обеспечение, которое они создают, тоже обязательно изменится. И именно об этом мы сегодня и будем говорить.

Drupal исполнилось 20 лет, и его 9-е издание вышло, а 10-е уже не за горами. Программное обеспечение претерпело множество изменений за время своего существования, было много версий Drupal, и все они были выдающимися. Как и я, Drupal также заслуживает похвалы по своей виртуальной спине.

Обновление часто связано с продвижением вперед и с тем, какой возможный вред может быть нанесен этим. Итак, очевидно, что люди захотят перейти к последней версии Drupal, обновившись до Drupal 9.

Учитывая, что последнее обновление Drupal является основной версией и требует огромного количества работы и усилий, некоторые из нас колеблются и, вероятно, правы. Однако в этом нет необходимости.

В Drupal 9 реализованы все возможности Drupal 8 и два раза в год продолжаются постоянные инновации, добавляя новые функции.

Это означает, что Drupal 9 равен Drupal 8 за вычетом устаревших API, что делает его второстепенным обновлением версии. Таким образом, логически обновление не требует капитального ремонта инфраструктуры вашего сайта, и не требует.

Я не буду говорить о самом процессе обновления, в котором мы смотрим повсюду, от ядра Drupal до пользовательского кода, но об инструментах, которые потребуются для этого. Итак, приступим к сборке инструментов обновления и подготовимся к Drupal 9.

Upgrade Status

О готовности Drupal 9 нельзя говорить без упоминания модуля upgrade status. Это первостепенный инструмент, необходимый для успешного обновления.

Итак, что он делает?

Он выполняет практически все основные функции, необходимые для подготовки к обновлению.

Предлагает вам обновиться до текущей версии

Для обновления у вас должна быть последняя версия Drupal 8, которая может быть либо Drupal 8.8, либо Drupal 8.9. Статус обновления не только проверяет используемую вами версию, но и предлагает вам обновить ее.

Предлагает вам проверить системные потребности

Обновление также имеет определенные системные требования, от Apache до PHP и MySQL, каждый из которых должен быть обновлен до версии, которая будет соответствовать обновлению. И угадай что? Статус обновления проверяет, соответствуете ли вы требованиям.

Предлагает вам сосредоточиться на проектах

От системных требований перейдем к добавленным модулям. Этот инструмент обновления имеет возможность интегрироваться со статусом обновления, чтобы напоминать вам о внесенных проектах и ​​их обновлениях. Обычно проект D8 совместим с D9, поэтому, когда вы обновляете их, они все равно будут нормально работать с вашим сайтом Drupal 8.

Предлагает вам решать другие проблемы совместимости

Вы могли подумать, что этих трех должно быть достаточно, но это еще не все. Существует множество проблем совместимости с Drupal 9, которые необходимо решить с помощью запуска phpstan. И upgrade status тоже может это сделать.

Upgrade status также может интегрироваться с drush. Вам нужно будет установить его с помощью Composer. Если бы мне пришлось описать статус обновления и его работу в качестве инструмента обновления Drupal 9, я бы просто сказал, что это инструмент, который проверяет, готовы ли вы нажать кнопку окончательного обновления.

Drupal Check

Следующим важным инструментом для перехода на Drupal 9 является модуль Drupal Check. PHPStan был разработан как инструмент статического анализа, который может запускать автономный исполняемый файл PHP из командной строки.

Что это дает?

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

Для беспрепятственного обновления ваша система должна быть на 100% совместимой с Drupal 9, включая настраиваемый код, настраиваемые модули, добавленные модули и код миграции, если вы обновляетесь с Drupal 7 до Drupal 8.

Но это похоже на модуль 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 и понимает PHP, чтобы освободить место для сложных крайних случаев.

Теперь Drupal Rector взял эту концепцию и реализовал ее на Drupal. Его предшественником был Drupal 8 Rector. Целью здесь было эффективно автоматизировать обновление кода с Drupal 8 до 9.

Что оно делает?

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

Не расстраивайся. Почему?

Это связано с тем, что устаревший API, на который он нацелен, составляет около четверти всех устаревших API. Таким образом, использование этого инструмента сэкономит вам массу времени и усилий и исключит любую возможность контроля со стороны человека, поскольку процесс автоматизирован.

Конечно, у автоматизированного инструмента есть планы на будущее. Есть надежда интегрировать его с Drupal.org и создать правила Rector для 15 наиболее часто используемых устаревших API.

IDE

Есть вероятность, что вы используете интегрированную среду разработки (IDE) или редактор кода для разработки кода Drupal.

Что делать в таком случае?

Ответ - использовать IDE или редактор кода, который может легко и эффективно понять и определить устаревшие версии.

Почему это важно?

Для этого есть две причины;

  • Один из них связан с видимостью. Если ваша IDE понимает устаревшие версии, они будут очень заметны даже в процессе разработки.
  • А во-вторых, он отменяет вызовы устаревших методов и дополнительно информирует вас о правильном вызове.

PHPStorm - один из примеров инструмента IDE, который очень удобен при рассмотрении вопроса об обновлении до Drupal 9.

Поддержка тестирования Drupal.org

Для дальнейших проверок устаревания служба поддержки тестирования drupal.org также предоставляет способы выявления нежелательных строк кода.

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

Опять же, есть некоторое сходство между этим инструментом и upgrade status и Drupal check из-за запуска PHPStan.

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 поставляется с расширениями основных функций и примерами инфраструктуры миграции. Его можно легко реализовать в виде объектов конфигурации, которые адаптируются с точки зрения загрузки, модификации и последующего сохранения.

Вывод

Итак, у вас есть все необходимые инструменты, которые потребуются для запуска процесса обновления. Если вы хотите передать обновление Drupal в руки профессионалов обратитесь в службу поддержки сайтов Topsite Web.