当サイトを最適な状態で閲覧していただくにはブラウザのJavaScriptを有効にしてご利用下さい。
JavaScriptを無効のままご覧いただいた場合には一部機能がご利用頂けない場合や正しい情報を取得できない場合がございます。
同意しました
本サイトではWebサイトのエクスペリエンスを向上させるために、Cookieを使用しています。Cookieはブラウザの設定から無効にできます。詳細はこちらから

Blog

ブログ

Blog

xperience.ioをKenticoXperience13にアップグレードする際の落とし穴と勝利

By Hana Molíková  

xperience.ioをKenticoXperience13にアップグレードするプロセスから学んだ主な課題と教訓。DXPのヒントとテクニカルリーダーからの推奨事項。

xperience.ioをKenticoXperience13にアップグレードする際の落とし穴と勝利

xperience.ioをKenticoXperience13にアップグレードする際の落とし穴と勝利

2021年5月20日
コピーライター、Kentico Xperience
xperience.ioをKenticoXperience13にアップグレードする際の落とし穴と勝利

Kentico Xperienceは、かなり前から存在しています。Kentico Xperienceデジタルエクスペリエンスプラットフォームの公式ウェブサイトは、2020年7月の立ち上げ以来、Kentico12で稼働しています。近代化の過程で、私たちにとっても最新バージョンにアップグレードする時が来ました。xperience.ioをKenticoXperience 13にアップグレードするプロセスはどのように進みましたか?課題や落とし穴はありましたか?新しいバージョンの主な利点は何ですか?Kentico XperienceのテクニカルリーダーであるOndřejVasilとのこのインタビューで、学んだ教訓と他の多くの詳細が明らかになりました。

アップグレードを簡単に説明する必要がある場合、フィニッシュラインに到達するために必要な主な手順は何でしたか?

アップグレードが開始されたバージョンはKentico12.0.82(SP)で、Refresh1を含むKenticoXperience 13.0.23にアップグレードしました。幸い、前回のアップグレードではすでにポータルエンジンを交換していました。そのため、今回は、MVCで既に実行されているWebサイトを変換するだけで、非常に簡単になりました。
主な手順は、すべてコードのアップグレードから始まり、SQLスクリプトを使用したデータベースのアップグレード、テストを行い、修正プログラムを適用して終了しました。これは標準的な手順です。
それを段階的に実行し、アップグレードの個々の側面に焦点を当てましょう。コードのアップグレードがどのように行われたかについて詳しく教えてください。
承知しました!アップグレードツールを使用して、基本ファイルをアップグレードしました。そうすることで、以前のバージョンと比較して、簡単に変換できる変更が修正されました。続いて、参照ライブラリをリンクし、パッケージを更新し、複数の異なるプロジェクトでコードを磨き上げて、エラーのないソリューションを構築できるようにする必要がありました。私の意見では、それはアップグレード全体の中で最も時間のかかる部分でした。
大変そうですね!学んだ教訓、ヒント、またはそれを自分で経験する他の人のためのヒントを共有できますか?
間違いなく、私はいくつか持っています!
まず、参照を更新するときは、Visual Studioが嘘をつく傾向があるため、常に信頼するとは限りません。適切な変更を加えるために、生のcsprojファイルを調整することを恐れないでください。SublimeまたはNotepad ++が非常に便利な場合があります。たとえば、Visual StudioのUIを介して参照を追加しても、参照が更新されない場合があります。VSは、参照が適切に配置されていることを明確に示しています。または、Visual Studioが参照レコードに小文字のGUIDを使用する場合があります。これにより、すべてが壊れます。
次に、1つのソリューションで複数のプロジェクトのさまざまな参照を操作する場合、Kentico.Xperienceライブラリはadminで参照できないことに注意してください。さらに、Kentico.Xperienceライブラリを参照する参照も許可されていません。
また、ソリューションにPortal Engineサイトが残っていないこと、および古い形式が残っていないことを確認してください。そうしないと、アップグレードツールがエラーメッセージにフラグを立てます。
大事なことを言い忘れましたが、論理的な解決策やアイデアがない場合は、次の5つの手順を試してください。
  1. プロジェクト内の正しいライブラリを参照していることを確認してください。
  2. IIS内の正しいフォルダーを指していることを確認してください。
  3. 正しいデータベースを使用していることを確認してください。
  4. asp.netキャッシュをクリアします。
  5. VisualStudioを閉じて開きます。
     
コードのアップグレード中に他に何か遭遇しましたか?
通常、この機会を利用して、考えられる警告もすべて削除しました。通常、それらは通常あまり注意を払われていません。結局のところ、アップグレードに影響を与えたり、進行中に何かが遅くなったりすることはありません。そのため、このプロセスの最後に注意を払いましたが、よかったと思います。ただし、警告のほとんどは、十分に文書化されている廃止されたメソッドの置き換えに関連しているため、これは完全に簡単なことであることが判明しました。

次に何が来たの?
コードのアップグレードが完了するとすぐに、データベースのアップグレードに進みました。SQLスクリプトの起動はかなり簡単で、予期しない問題は発生していません。クレジットは主に、ウェブサイトの開発時にKenticoのベストプラクティスに厳密に従い、将来のアップグレードを検討したという事実に基づいて主張できます。そのおかげで、アップグレードを複雑にするようなトリッキーなカスタマイズは含まれていません。間もなく、最初の重要なWebサイトのロードが行われ、すべてが正常であるという確固たる兆候に過ぎなかったため、すぐに安心しました。
それで、合併症はまったくありませんでしたか?
まあ、正直に言って、まったく複雑なことのないアップグレードのようなものはありません。しかし、ケンティコでのキャリアの中で経験した他のアップグレードと比較すると、これが最もスムーズだったとあえて言います。複数のバージョンにまたがってアップグレードしたとき、私はいくつかのアップグレードを経験しました、そしてそれらは間違いなく覚えておくべきより多くの物語をもたらしました。
このようなアップグレードは、主にバージョンごとに段階的に進める必要があるため、困難です。そして、プロセスが大幅に長くなるため、これは非常にコストがかかり、非常に時間がかかる可能性があります。そのため、定期的にアップグレードすることをお勧めします。最新バージョンを最新の状態に保つことで、毎週リリースされる修正プログラムを適用できる可能性があるという事実を見逃さないでください。これにより、パフォーマンスやセキュリティ関連のエラーなど、起こりうる製品エラーに迅速に対応できます。
テスト重要性とその必要について詳しく教えてください
コードの調整、警告の数の最小化、データベースのアップグレード、およびWebサイトの実行に成功したことを考えると、ほぼ完了です。次に、そのすべてのもう1つの重要な部分であるWebサイトのテストに焦点を当てます。機能、外観、全体的なパフォーマンスに関しては、Webサイトをテストする必要があります。
一般に、サーバーエラーに関しては、アップグレードの前後の両方で、Eventlogのエラーの監視に細心の注意を払うことをお勧めします。エラーのリストには、新しいものは何も表示されないはずです。理想的には、すべての重大なエラーが完全に排除されるはずです。しかし、それに直面しましょう。すべてのエラーからクリアされたイベントログを持つことは非常に非現実的です。特に、エラーの一部がボットやページクローラーなどの外部の影響によって引き起こされている場合。したがって、それらすべてがWebサイトの機能に影響を与える必要はありません。そのことを念頭に置いて、アップグレードの前後の違いを監視することに焦点を当てることをお勧めします。
フロントエンドの機能テストも同様に重要です。クライアントのウェブサイトの背後に隠されているJavaScriptやその他の詳細がたくさんある場合は、JavaScriptベースのエラーを監視および検出するツールの使用を採用することは間違いなく価値があります。いつもたくさんあるという意味ではありません。ただし、このようなコードのエラーがコンポーネントの動作障害の原因になる場合、システムはレポートでこれらのJavaScriptエラーを検出する可能性があります。

おすすめのツールはありますか?
市場にはそのようなツールがたくさんあります。私たちにとって成功していることが証明されているのはセントリーです。
視覚的なテストはどうですか?
アップグレード後、Webサイトをページごとに確認し、フォームの送信、マーケティングの自動化、パーソナライズなどのすべての機能をテストするだけでなく、すべてのページをクリックしてすべてが正常に表示されるかどうかを確認する必要がありました。アップグレード前に行いました。
ウェブサイト自体は同じままであると想定されているため、コンテンツ、グラフィックス、テキストに関しては、自動化を活用できます。スクリーンショットを取得して比較するローカルで実行されるツールであるBackstopJSを使用しましたウェブサイトを構築する際にも活用できます。

パフォーマンステストはあなたが最後に言及したものです。それについて詳しく教えてください。
ウェブサイトの長期的なパフォーマンステストに関しては、誰もがいくつかのツールを使用していると思います。私たちの場合、それはSpeedcurveです。パフォーマンスに関しても、機能を細かく制御できます。指標の曲線に注意を払うだけです。否定的な行動があった場合は、確実に気付くでしょう。これにより、さらに調査する絶好の機会が得られます。

アップグレードされたバージョンでのあなたの経験について話しましょう。Kentico Xperience 13のどの機能が最も興味深いと思いますか?
厳しい質問!さて、3つを選択する必要がある場合は、ネイティブURLルーティング、新しい検索インデックス、およびリンクされたページと言います。そしてもちろん、全体的な再設計!それ自体は正確には機能ではありませんが。しかし、新しくて新鮮な外観は本当に素晴らしいです!私はKenticoに13年以上在籍しているので、Kentico3からKentico8までの非常に古いデザインでさえ、開発チームと一緒に個人的に再設計したことを覚えています。新しい見た目になると、それは私の耳に聞こえる音楽だと固く感じます。完全に革新的ではありませんが、Kentico8以降の進化の面で大きな一歩です。その間ずっと、KenticoXperienceの新しいブランドと完全に調和しています。
しかし、お気に入りの機能に戻りましょう。なぜこれらの3つ?
Kentico 12のWebサイトでは、DevTrevのルーティングを使用しており、非常にうまく機能していました。しかし、ここKenticoの開発者は、ネイティブのコンテンツツリーベースのルーティングを組み込んだ素晴らしい仕事をしたので、代わりにネイティブのURLルーティングソリューションを使い始めることができました。

あなたがカバーしなければならなかったURLの振る舞いに何か変更はありましたか?
はい、いくつかありました。それらを簡単にリストするには:
  • 使用したフォルダページタイプはURL情報を保持していません。
  • 末尾のスラッシュと小文字は設定であるため、コードで手動で行う必要はありません。同様に、ホームページとその動作を設定する方法があります-ルートにリダイレクトするかどうか。
  • 変更されたURLを保存する新しい以前のURLアプリがあるので、Pagesアプリでそれらをいじる必要はありません。
  • ただし、新しい代替URLを追加する機会はまだありますが、これによりトラフィックがページのメインURLにリダイレクトされます。
     
新しい検索インデックスはどうですか?
それはもう一つの素晴らしい機能です!構造化コンテンツフィールドと生ページのHTML出力の両方をクロールできるという事実が気に入っています。これは、Refresh 1修正プログラムを適用した後でもすでに変換されています。つまり、既存の機能が損なわれることはありません。HTML出力検索に使用する必要のある定義済みコンテンツの設定について詳しく知りたい場合は、ドキュメントで説明していますまた、DavidSlavíkはRefresh1に関する彼の記事で新しい検索インデックスについて語っています。

そして、なぜリンクされたページ
Kenticoでの初期の頃を振り返ると、バージョン3を非常に鮮明に覚えています。私はサイトを開発するときにリンクされたページを使うのが好きでした。ただし、この機能は、新しく適用されたMVCアプローチのために削除されました。さて、再び紹介されましたが、その事実を祝っているのは私だけではないと確信しています。同じデータを何度も書きたくない場所やコンテンツを複製したくない場所はたくさんありますが、これはそのための理想的なソリューションです。

指摘したいマーケティング機能に変更はありますか?
たとえば、マーケティングオートメーションの刷新について言及したいと思います。しかし、リストは本当に長いです。そのためには、リリースノートで改善点の完全なリストを確認できます

今後、楽しみにしていることはありますか?
私が最も楽しみにしているのは、KenticoXperienceをさらにアップグレードする方法です。すべてのマイルストーン(更新)は、修正プログラムの形式でリリースされます。これにより、今後のアップグレードが非常にシームレスになります。これにより、Refreshがリリースされたら、すぐにアップグレードできます。
また、MVC5からのコアスイッチは、技術的なエッジを維持するために、すぐに対処するものです。
最後に、マーケティングの観点から、私は新しいことに挑戦することに熱心なので、RecombeeなどのRefreshのネイティブ統合のいくつかを組み込むことにイノベーションの時間を費やすと思います。

もっと知りたいですか?私たちに話してください!

Kentico Xperienceデジタルエクスペリエンスプラットフォームとその巧妙な機能が、ビジネスのデジタル変革にどのように役立つかについて詳しく知りたいですか?私たちの専門家と連絡を取り、あなたに最適な時間に無料のデモスケジュールしてください!

CMSの導入についてお悩みでしょうか?

使いやすいコンテンツ管理UIと強力なデジタルマーケティング支援機能をそなえた
Kentico Xperienceをぜひお試しください。