Experience Cloud サイトのサイト名を変更したら困った話

  • URLをコピーしました!

SalesforceのExperience Cloudを使用してポータルサイト、Webサイトを構築している組織は数多くあると思います。(そもそもExperience Cloudとは?という話は、また別の記事でまとめる予定です)

そのサイトを改修している中で起こしてしまった失敗を、忘備録として残しておきます。

目次

サイト名とは

サイトの作成時、特にテンプレートを使用しなければClassicのデザインを踏襲したサイトが構築されます。左上にはサイト作成時に設定したサイトの名前が表示されます。(下図赤枠部)

設定からアクセスできるサイトの詳細画面では、サイトの名前は表示ラベル(SiteオブジェクトのMasterLabel項目)として確認できます。表示ラベルが英字の場合、サイト名(SiteオブジェクトのName項目)は表示ラベルと同じ。こちらの項目、公式ドキュメントでは「API でサイトを参照するときに使用される名前」と説明されています。

サイト名を変更する

さて、サイト名を変更したいという要望があったのでサイトのワークスペースから管理画面にアクセスし、名前を変更しました。今度は日本語。URLはそのまま。

保存し、サイトを確認。変更されています。完了!

サイトの詳細を確認する

数日後、問い合わせが来ました。組織から送信するメールの中に、このサイトのURLを記載しているものがあるのですが、URLが載っていないとのこと。

メール本文中に埋め込むURLは、Apex内でSiteオブジェクトをName項目を条件にクエリし、それに紐づくSiteDetailオブジェクトに保存されているSecureUrl項目を取得してきています。Name項目は変更していないはずなので、なぜ取得できていないのか。ともかくサイトの詳細画面を確認しました。

サイト名が変わっていました…

よく見れば画面下部には変更履歴もありますし。

サイトのラベルを日本語にするとサイト名は問答無用でSiteになるようです。このあとさらに変更するとSite2に更新されていました。

ラベルを変更するとName項目まで書き換わることを知らず驚きました。どんなに軽微と思われる変更でも、動作確認は丁寧に行うべきという教訓を得ました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次