Magento Open SourceからAdobe Commerceへの移行はできるか?
この記事は公開から 1年以上が経過しています。現在の最新情報との整合性については弊社では一切の責任を負いかねます。
歴史的な経緯をご存じの方にとっては「何を今更」な話題ではありますが、時々質問をいただくことがあるので解説しておきたいと思います。
結論から言えば「Magento Open SourceからAdobe Commerceへの移行は可能」です。
反対に「Adobe CommerceからMagento Open Sourceへの移行は大変」です。
基本的に片道切符な移行だと考えていただければ良いのですが、ではなぜ「片道切符」になるのかについて解説していきましょう。
Magento Open SourceとAdobe Commerceの関係
かつて、Adobe Commerceは「Magento Commerce」あるいは「Magento Enterprise Edition」と呼ばれていました。
そして、Magento Open Sourceは「Magento Community Edition」という名称でした。
この時代をご存じの方にとっては、
Adobe CommerceはMagento Open Sourceの上位版である
という理解をされていると思います。この点は2023年現在でも変わりません。
Adobe Commerceを構成するコードやモジュールの過半数は、Magento Open Sourceと同じものです。
Magento Open Sourceに存在する不具合は、同様にAdobe Commerceにも存在するのだということを予め理解しておく必要があります。
ただし、Adobe Commerce側はライセンスに含まれるサポートの範囲内で、Magento Open Sourceに先駆けた不具合の修正が提供されることがありえます。ここはやはり有償版の利点であると言えるでしょう。
Magento Open SourceからAdobe Commerceへの切り替え作業の流れ
Adobe Commerceへ切り替えるには、以下のような流れで行います。
- composer.jsonの変更とcomposer updateの実行
- モジュールの有効化とsetup:upgradeの実行
- 動作チェックやコード調整の実施
基本的にはMagento Open SourceやAdobe Commerceのアップデート作業とそう大きな違いはないと考えていただいてよいでしょう。
アップデート作業の経験がある方にとっては「またコードの調整と総テストか・・・」ではないでしょうか。
composer.jsonの変更とcomposer updateの実行
Adobe CommerceはMagento Open Sourceに公式が提供する追加モジュールを入れた形になっています。
実際に切り替え作業をする場合には、composer.jsonにある
"magento/product-community-edition": "2.4.6-p1"
という箇所を
"magento/product-enterprise-edition": "2.4.6-p1"
と修正し、composer updateを実施することでアプリケーション本体の移行ができます。
ただしこれはAdobe Commerce本体のソースコード構成がMagento Open Sourceから切り替わっただけであり、インストール済みのエクステンションやテーマについては別問題です。
商用エクステンションのライセンスに注意
弊社では区別した取り扱いはしておりませんが、他のエクステンションベンダーの中には、Magento Open Source用とAdobe Commerce用でエクステンションのライセンス費用を分けているところがあります。
ものによってはライセンス費用に数倍の開きがあることも珍しくありませんし、そもそも動作しないという可能性も大いにありえます。
Magento Open SourceからAdobe Commerceへの切り替えを行う場合は、事前にインストールしている商用エクステンションのライセンスを確認しておくことを強くおすすめします。
もちろん、Adobe Commerce専用版があるものについては、事前に購入しておくようにしましょう。
モジュールの有効化とsetup:upgradeの実行
続いて、Adobe Commerce固有のモジュールを有効化します。
php bin/magento module:status
を実行し、無効になっているMagentoまたはAdobe製モジュールを有効にしていきます。
このあたりはエクステンションインストール時の操作と何ら変わりません。
必要なモジュールを有効化したあとは、
php bin/magento setup:upgrade
を実行し、データベース定義や各種データ定義を更新します。
ココでエラーが出る場合は、エラー内容を調査して対処する必要がありますね。
動作チェックやコード調整の実施
無事にデータベースの更新が完了したら、あとはひたすら動作チェックとコード調整です。
このあたりは通常のAdobe Commerce / Magento Open Sourceのアップデートと変わりません。
Adobe CommerceからMagento Open Sourceへのダウングレードの流れ
今度は逆のパターンです。
Adobe CommerceからMagento Open Sourceへの切り替え作業です。
- composer.jsonの変更とcomposer updateの実行
- モジュールの有効化とsetup:upgradeの実行
- 動作チェックやコード調整の実施
という基本的な流れはMagento Open SourceからAdobe Commerceへの場合と変わりません。
ただし、Magento Open SourceとAdobe Commerceではデータベース定義に一部差があるため、そう簡単には移行できません。
(Magento Open SourceからAdobe Commerceの場合はセットアップスクリプトが適切に始末してくれます)
Adobe CommerceからMagento Open Sourceへの移行が難しい理由
なぜ、Adobe CommerceからMagento Open Sourceへの移行が難しいのか?
それは以下の機能に理由があります。
- コンテンツステージング&バージョニング
- CMSページ階層
- ギフトカード
- ギフトラッピング
- ポイント
- ストアレジストリ
- ストアクレジット
- RMA
これらの機能はAdobe Commerceにしか搭載されていないものです。
Magento Open Sourceに切り替える場合、これらの機能の代替機能の用意とデータ移行が必要になります。
利用していない機能であればあまり問題にならない話なのですが、利用している機能の場合は
- 機能・サービスを廃止するのか・継続するのか
- 廃止する場合はどのように告知するのか
- 継続する場合はAdobe Commerce標準からサードパーティ製(あるいは独自開発)への移行計画
が必要になってきます。
特に
- コンテンツステージング&バージョニング
- CMS階層
あたりは色々と大変なので十分注意が必要です。
コンテンツステージング&バージョニングとは
Adobe Commerceに固有の機能である、「コンテンツステージング&バージョニング」。この機能は、
- 期間を指定した、対象コンテンツの自動差し替え
- 展開予定コンテンツのプレビュー
- 展開予定スケジュールの管理
から構成されています。
この機能を実現するために、関連するデータの主キーがAdobe Commerceでは変更されています。
この関係上、Adobe CommerceからMagento Open Sourceへ切り替える際には、データの掃除・整形が必要になります。
Adobe Commerceでの運用期間がながければ長いほど、過去データが蓄積されていくのは必然なので、ダウングレードの場合は事前のデータ調査が不可欠です。
CMS階層
CMSページ機能を階層化できるようにする機能です。Adobe Commerceにのみ付属しています。
この機能を活用している場合、Magento Open Sourceへのダウングレード時にはCMSページの構成を見直す必要性が出てきます。
Adobe Commerce上で管理しているページ数が多い場合、コンテンツの書き直しやURL変更・リダイレクトを含めた対応に追われる可能性に注意しましょう。
移行を楽にしてくれるツール
オープンソースコミュニティが下支えしているMagentoらしく、GithubではAdobe Commerceからの移行ツールが公開されています。
Migration Tool for Magento Commerce to Magento OpenSource
このツールを使用すると、データベース上のテーブル定義やデータについての調整をある程度行ってくれます。
当然ながら、正確なテストは各環境できちんと行う必要があるものの、こういったツールを活用することで移行コストを下げることができます。
それ以外の移行に伴う課題
ここまでは、Adobe CommerceからMagento Open Sourceへの「そのもの」のダウングレードの話でした。
Adobe Commerceの場合、Experience Cloudとの連携が最近では色濃く打ち出されています。
これらの機能・サービスを利用している場合は、さらにダウングレード時の検討課題が増えます。
単純にダウングレードしたいだけであればまだどうにかする方法はあるのですが、やはりExperience Cloudとの連携を多用されている場合にはかなり難易度が上がります。
そういう意味では「Magento Open SourceからAdobe Commerceへの移行はできても、逆はかなり大変」と言わざるを得ません。
Magento Open SourceからAdobe Commerceの移行をご検討の場合は
ここまで解説してきた通り、Magento Open SourceからAdobe Commerceへの移行は可能です。
ただし、移行作業に際してはアプリケーションやインフラ関係に対して適切な知識と経験が求められます。
もし移行を検討されている場合は、弊社あるいはAdobe Commerceの知見がある開発会社にご相談ください。
なお、弊社の場合は日本人のAdobe Commerceに関する有資格者がご支援をいたします。