移行への貢献
Drupalの「Migrate Drupal」コアモジュールは、DrupalからDrupalへの移行のAPIサポートを提供し、「Migrate Drupal UI」は古いバージョンのDrupalからのアップグレードのためのシンプルなユーザーインターフェースを提供します。
Drupal 6からDrupal 8、およびDrupal 7からDrupal 8へのアップグレードは、単一言語サイトでは安定しています。多言語サイトのアップグレードパスはまだ完了していません。多言語のDrupal 6からDrupal 8へのアップグレードに関する簡単な情報は、多言語Drupal 6からDrupal 8へのアップグレードを参照し、多言語移行の問題のリストは多言語移行メタ問題を参照してください。D6-D8およびD7-D8のアップグレードパスの安定性を確保する方法はいくつかあります。
サイトのアップグレードを徹底的にテストし、結果を報告する
Drupal 6またはDrupal 7のサイトをDrupal 8にアップグレードするときは、必ず結果を徹底的にテストして確認してください。期待どおりにアップグレードされなかったものが見つかる可能性があります。その場合は:
- まず、問題がDrupal 6または7からDrupal 8へのアップグレード時の既知の問題セクションに記載されているか確認してください
- 問題がリストにない場合は、Drupal 6からDrupal 8への移行の未解決の問題またはDrupal 7からDrupal 8への移行の問題を検索してください。
- 直面している問題に対する既存の問題が見つからない場合は、メイン移行システムの問題キューに新しい問題を作成してください。新しい移行バグを報告することは、それ自体が非常に貴重な貢献であり、移行の安定性を確保するのに役立ちます!
新しい問題を報告する場合、それらは「移行システム」コンポーネントに割り当てられます。可能な限り多くの詳細情報を提供することが非常に重要です。
- 該当する場合は、アップグレード前(Drupal 6/7)とアップグレード後(Drupal 8)のスクリーンショットを提供してください。
- 問題をできるだけ具体的に説明してください。
- 問題に関連すると思われる追加情報をサイトに記載してください。
- 良い問題レポートの例:https://www.drupal.org/node/2853872
- 概要、スクリーンショット、スクリーンショット下の注記は、元の問題レポートで作成されました。
- 分析中にますます多くの情報が見つかったため、問題の概要は後で数回更新されました。
- 問題概要の更新は、修正プロセスの非常に重要な部分です。バグの移行は非常に複雑な場合があり、問題の概要を最新に保つことは、メンテナーや他の貢献者の移行に大いに役立ちます!
- ためらわないでください - できるだけ詳細なバグレポートを書くよう努めます!
パッチのテストを支援する
移行パッチのテストを支援したい場合は、テスト環境をセットアップする必要があります。常に最新のDrupal 8 devにパッチを適用してください。
- パッチの適用にgitを使用する方法については、gitパッチ開発者ガイドを参照してください。
- パッチに関するより一般的な情報については、はじめにガイドの「パッチ」セクションを参照してください。
移行問題の根本原因の特定を支援する
Drupalとそのデータモデルの経験がもう少しある場合は、移行エラーの根本原因の理解に役立つ可能性が高いです。データ移行について話しているので、最も重要なのは次のことを理解することです:
- Drupal 6/7でソースデータがどこから来るのか
- そしてDrupal 8でどこに行くべきか
データの出所を理解するのに役立ついくつかのツール
- Develモジュールは、Drupal 6/7のソースデータを検査するのに最適なツールです。
- phpMyAdminやその他のデータベースブラウザは、Drupal 6/7でデータソースを見つけるのに役立ちます。
- データが保存されているDrupal 6/7のフォームを特定できるが、データベースからデータを見つけられない場合は、APIを読んで手がかりに従うことができます。データが保存されているDrupal 6/7のフォームを開き、フィールドをコピーして貼り付け、Googleで検索してください
site:api.drupal.org <ここに検索したいものを入力>
移行設定はDrupal 8で次のように読み取れます
- admin/config/development/configuration/single/export
- 「設定タイプ」として「移行」を選択します
- 確認したい移行を選択します
自動化された移行テストについて一言
Drupal 8コア関連のすべてのバグ修正は、テスト自動化カバレッジを持つ必要があります。テスト自動化に精通していない場合は、テストなしで修正を提出できます。この章は、テストに参加したい上級の貢献者を対象としています。
テストボットが実際に移行を実行するには、移行をテストする必要があります。D6/D7からD8へのコア移行のテストを作成する場合、Drupal 8コアに含まれるデータベースフィクスチャがソースデータとして使用されます:
- core/modules/migrate_drupal/tests/fixtures/drupal6.php
- core/modules/migrate_drupal/tests/fixtures/drupal7.php
- 移行テスト用のデータベースフィクスチャの生成について詳しく学ぶ
実際のテストは通常、対応するモジュールのカーネルテストで定義されます。たとえば、core/modules/comment/tests/src/Kernel/Migrate/d7