アップグレード前にDrupal 8の主要な概念を学ぶ
注:このページで説明するトピックは、Drupal 8への実際の設定やコンテンツの移行とは関係ありません。ここで説明するのは、Drupal 8へのアップグレードを準備するサイト開発者がこれらのトピックに慣れ、最も適切なアプローチを選択できるようにするためです。
Drupal 8設定管理システム
Drupal 8の最も強力な新しい概念の1つは、Drupal設定全体をある環境から別の環境(DEV - STAGING - PRODなど)にデプロイするために使用できる、強化された設定管理システムです。
Drupal 8では、さまざまな設定フォームで行うすべての設定変更をyamlテキストファイルにエクスポートし、別の環境にインポートできます。サイトのすべての設定がエクスポートされ、そこからインポートされる「同期ディレクトリ」を定義できます。設定の変更を制御された方法で管理できるように、このディレクトリをGitなどのバージョン管理システムに置くことをお勧めします。
これは、アップグレードの可能な戦略の1つが、コンテンツタイプやフィールドなどの設定をDEV環境に移行し、サイト設定を手動で完成させることであることを意味します。完全なサイト設定は、STAGINGとPRODに簡単にデプロイできます。実際のサイトコンテンツは、完全なサイト設定のデプロイ後にSTAGINGとPRODに移行されます。
アップグレードアプローチの選択について詳しく学ぶ。
Drupal 8の設定管理について詳しく学ぶ
Composerを使用してDrupalコア、モジュール、テーマをインストールできる
Drupal、モジュール、テーマを管理する従来の方法
Drupalサイトを管理する従来の方法は、Drupalコアのtarballまたはzipをダウンロードして解凍し、追加のモジュールとテーマについても同じことを行うことでした。一部のモジュールでは、サードパーティのライブラリを特定のディレクトリ(通常はsites/all/libraries)に手動でダウンロードする必要があります。Drupal 8コアとほとんどのモジュールは、この従来のアプローチでも引き続きインストールおよび更新できますが、Composerでのインストールが必要なモジュールは増えています。
Drupal 8はComposerでインストールおよび更新できる
最新のPHPアプリケーションは通常、再利用可能なライブラリやコンポーネントを使用して構築されます。これは、Symfonyプラットフォームや他の多くのサードパーティのコンポーネントを使用するDrupal 8にも当てはまります。また、追加のDrupalモジュールがサードパーティのライブラリに依存していることもますます一般的になっています。ComposerはPHPの依存関係マネージャーで、コンポーネントの依存関係を解決し、必要なバージョンを自動的にダウンロードします。
従来のtarball/zipアプローチでD8コアを最初にインストールし、その後Composerでのみインストールできるモジュールが必要になった場合、Drupal 8サイトの管理と更新は困難になる可能性があります。サードパーティの依存関係を持つモジュールの例をいくつか示します:
- Addressはcommerceguys/addressingライブラリに依存しています
- Geofieldはphayes/geoPHPライブラリに依存しています
- Simple FB Connectはfacebook/graph-sdkライブラリに依存しています
Composerでインストールする必要がある追加モジュールが必要になることがわかっている場合は、Drupal 8コアもComposerでインストールすることを強くお勧めします。サイトが従来のアプローチで最初にインストールされた場合、Composer管理アプローチへの移行はかなり複雑になる可能性があります。これは、最初からサイト全体の構築にComposerを使用することで回避できます。実際には、tarball/zipファイルを手動でダウンロードして解凍せず、Composerを使用してDrupal 8コア、すべての提供モジュール、テーマをインストールすることを意味します。