
目次
1. Sitecoreアップグレードとは何か、なぜ必要なのか?
Sitecore(サイトコア)は、デジタルエクスペリエンスCMSプラットフォームソフトウェア製品のリーディングカンパニーです。Sitecoreチームは、新機能、機能追加、バグ修正、最新技術の導入など、製品の改善に継続的に取り組んでいます。新しい機能が導入されるたびに、Sitecoreは新しい製品バージョンをリリースしています(Sitecore製品はバージョン5.xからスタートし、現在は9.3です)。新バージョンがリリースされると、サポート期限を過ぎた旧バージョンのサポートを終了し(https://kb.sitecore.net/articles/641167)、アップグレードパッケージやアップグレード手順を提供することで、新バージョンへのアップグレードを推奨しています。新機能やより良いバージョンのSitecore製品を利用するためには、既存のSitecoreアプリケーションを新しいバージョンにアップグレードする必要があります。
2. Sitecoreアップグレードの検討事項
a. 既存のサイトを発見すること
- 現在使用しているSitecoreモジュール(Custom/MarketPlace)(例:WFFM、EXM、URL-Rewrite、Power-Shell Extensionsなど)を識別します。
- Sitecoreのカスタマイズ(コマンド、パイプライン、イベント、スケジュールされたジョブなど)を確認します。
- サードパーティの統合を確認します(CRM統合、DAM統合など)
- ソリューションで使用されているサードパーティのライブラリ/NuGetパッケージを確認してください。(例:DIコンテナ、Glassmapperなど)
- Sitecoreのホットフィックスライブラリを確認します。
- パッチ設定ファイルを識別します。(パッチファイル/直接ファイル更新)
- 廃止されたSitecoreのAPIとサービスを特定します。
- 使用されているキャッシング、検索プロバイダ(Solr, lucene, Coveo)、依存性インジェクション、セッション管理技術を特定します。
- DMS/xDBの使用範囲とマーケティング機能を特定します。
b. 新しいSitecoreバージョンに対応したサイトディスカバリーポイントで利用可能な互換性のある/代替ソリューションを発見すること
- 新しいSitecoreバージョンで互換性のあるSitecoreモジュールが利用可能であることを確認してください。
- サードパーティライブラリ/NuGetパッケージの互換性のあるバージョンが、新しいSitecoreバージョンで利用可能であることを確認してください。
- 既存のソリューションにあるSitecoreのHotfixが新しいバージョンで対応されていることを確認してください。
- キャッシング、検索プラットフォーム、DI、セッション管理などのソリューションに互換性があるかどうか確認してください。
- 既存のマーケティング機能に互換性のある/代替機能が利用可能であることを確認してください。
c. 新しいSitecoreバージョンのためのインフラの必要性を特定すること (https://kb.sitecore.net/articles/087164)
- OS(Windows 10、Windows 2014 SP2またはWindows 2016 SP1
- Visual Studio2017
- .NetFramework4.7.2
- Microsoft SQL Server 2014 SP2 /SQL Server 2014 SP1 / MS Azure SQL
- IIS10
d. アップグレードするSitecore環境を特定する こと- Dev、QA、UAT、Prod
e. アップグレードに必要なアセットをダウンロードすること
Express Migration Tool:Sitecore 6.6,7.2,7.5,8.0を最新バージョンのSitecoreに移行します。
エクスペリエンスプラットフォーム移行
- コンテンツアイテムとメディア
- すべてのユーザー、役割、セキュリティ権限
- 設定の移行の支援
- WFFMの項目とデータ
xDB移行ツール:Sitecore 8.1 XDBのデータをSitecore 9 XDBに移行します。
DMS AnalyticsからxDBへの移行: 変換ガイドラインのセットに従う必要があり、これはバージョン8以下のバージョンでサイトコアをアップグレードするためにのみ必要です。
3. Sitecoreアップグレードのステップ
Sitecoreのアップグレードに関わる主なステップは以下の通りです。
- インフラのアップグレード
- Sitecore DBアップグレード
- アップグレードパッケージのインストール
- Sitecoreソリューションのアップグレード
- Sitecoreモジュールのアップグレード
- xDBデータとフォームデータの移行
開発者環境でのアップグレード手順
- インフラをアップグレードします。
- 現在のSitecoreインスタンスのバックアップを取ります。
- すべてのアップグレードパッケージ/ファイルをダウンロードして保存します。
- Source Control リポジトリに新しい Upgrade ブランチを作成します。
- 本番DBから2つのSitecoreインスタンス(すべての統合を含む)を作成します。(1つは検証用、もう1つはアップグレード用)
- Sitecoreデータベースをアップグレードします。(マスター、ウェブ、コア)
- Sitecoreのアップグレードドキュメントに記載されている手順に従い、DBスクリプトを実行します。
- Sitecoreアップグレードパッケージをインストールします。
- Sitecoreのアップグレードドキュメントに記載されている手順に従って、コンフリクトを分析し、問題を修正してください。
- 互換性のあるSolrバージョンでFresh Sitecore 9.xインスタンスを設定します。(環境に応じてタイポロジーを選択)
- Sitecore 9.xインスタンスでアップグレードされたデータベース(Master、Web、Core)をリストアし、接続文字列を更新します。
- ソリューションのアップグレードを実行します。
- 既存のプロジェクトの.netフレームワークをアップグレードします。
- プロジェクト内で参照されているSitecoreアセンブリーを新しいSitecoreアセンブリーにアップグレードします。
- 必要なサードパーティライブラリとNuGetパッケージをアップグレードします。
- 旧式のSitecore APIがあれば、互換性のあるAPIに置き換えます。
- Sitecoreモジュールをアップグレードします。
- 設定ファイルとカスタマイズを修正してください。すべてのパッチ設定ファイルをインクルードフォルダ内のフォルダに保存します。
- ソリューションを構築します。
- アップグレードしたコードをSitecore 9.xインスタンスにデプロイし、コンフリクトがあれば修正します。
- キャッシュをクリアし、フルサイトを公開します。
- Solr Schemaを投入し、インデックスを再構築します。Linkデータベースを再構築します。
- xDBデータ移行ツールでxDBデータを移行します。
- アップグレードしたインスタンスを検証し、既存の機能や機能、Sitecoreで利用可能な新機能をすべて検証します。
- 上記の手順を2~3回実行して、隠れた問題がないかどうかを確認し、正常に動作することを確認してください。
4. より高い環境でのSitecoreアップグレードの考慮点
開発者環境でアップグレードが正常に実行されると、次のような準備ができています。
- アップグレードされたSitecoreプロジェクトソリューションは、別のコードブランチで利用可能です。
- より高いSitecore環境でアップグレードを実行するためには、以下の手順に従う必要があります。
- xDB と Form データの移行には、正確な手順が必要であることが知られています。
QAやUAT環境のアップグレードの場合は、以下のいずれかの方法で対応します。
Or
- アップグレードしたデータベースを下位環境からリストアし、コードをデプロイします。
- 本番環境からのアップグレードの場合、以下の点を考慮する必要があります。
- アップグレードは最新のSitecoreデータベース上で行う必要があります。
- アップグレード中のダウンタイムをゼロにする必要があります。
- コンテンツ作成者に最小限のコンテンツフリーズを強制する必要があります。
- 完全なxDBデータの移行が必要です。
- プロッドの問題が発生した場合に、古いバージョンのサイトにロールバックするためのオプションが必要です。
5. Sitecoreアップグレードの考えられる課題
- 互換性のあるバージョンのSitecoreマーケットプレイスモジュールが利用できない場合
- サードパーティ製のライブラリを使用していて、必要なバージョンの.netフレームワークにアップグレードされていない場合
- WFFM フォームを Sitecore Forms に移行する (Sitecore 9.x は WFFM フォームをサポートしていません)こと
- Sitecoreのコンフリクトや時代遅れのAPIやサービスを修正すること
- 本番環境でのSitecoreアップグレードをダウンタイムゼロで実行すること(適切なアップグレード戦略で可能です)
上記のサイトコアアップグレードのステップと考慮事項は一般的なステップですが、アプリケーション固有のセットアップと実装に基づいて追加のステップが必要になる場合があります。