ExperienceCloudサイトで「ゲストユーザーにタイルメニューが表示されない」を解決
はじめに
Salesforceで困ったシリーズ ExperienceCloud編
こんにちは、株式会社SHIFT カスタマーサクセス部Salesforceグループの岩田です。みなさんいかがお過ごしでしょうかアイスコーヒーがおいしい季節になりましたね。とはいえ冷房の効いた部屋でのホットコーヒーも良いですよね、我が家には冷房がありませんが。。。
さて、今回は実際に自分が案件で困ったことを記事にしてみました。
一部の人にしか需要はないと思いますが困っている人に届けば幸いです。
Experience Cloudサイトのゲストユーザーとは?
そもそもExperienceCloudサイトとは、Salesforce上でお客様(顧客)・パートナー・社内ユーザーに向けて、それぞれの目的にあったサイトを構築することができ、Salesforce上のレコードやコンテンツを共有することができます。
詳細はこちらをご確認ください
サイト上ではユーザーを大きく2つに分けることができます。
ユーザーがログインして利用する「ログインユーザー」
ログインをしなくてもサイトを利用できる「ゲストユーザー」
ログインユーザーはいわゆる既存顧客ということになります。
それに対してゲストユーザーは潜在顧客ということになります。
ExperienceCloudサイトでは一部のコンテンツやデーターの公開設定をすることによりゲストユーザーへの参照を権限を(一部のレコード作成権限も)付与することができます。
ゲストユーザー=不特定多数の人にレコードを公開する際は慎重に行う必要がありますね。
今回の困った事例と解決方法
困ったこと
とあるプロジェクトでExperienceCloudサイトを設定している中で、ゲストユーザーでも参照できるように設定したタイルメニューコンポーネントがありました。ゲストユーザーでサイトの表示を確認していると、設置したはずのタイルメニューが表示されないということがありました。
そもそもタイルメニューとはサイト上にタイル(文字を入れたり画像を入れたりできる)を配置しそこからリンクを設定することができる標準コンポーネントが用意されています。
https://help.salesforce.com/s/articleView?id=sf.rss_tile_menu.htm&type=5
タイルメニューが表示をされないので、早速ヘルプを確認しました。
ヘルプの内容をしっかりと読み取れればなんの問題もなく解決するのですが僕には理解に時間がかかりましたので同じところで躓く人に向けてじっくりと解説したいと思います。
https://help.salesforce.com/s/articleView?language=ja&id=sf.rss_tile_menu.htm&type=5
ヘルプを読むと2つの設定が必要と記載されています。
1に関しては大丈夫そうでした。
チェックが入っている3つ目のところですね。
ゲストユーザー(不特定多数の人)に画像やコンテンツを見せたくない場合はここのチェックを外しましょう。
2に関してはよくわからないので丁寧に見ていきます。
ゲストユーザープロファイルとは、サイトへのログインなどの認証を必要としないユーザー用のプロファイルです。データや画像などのコンテンツだけではなく、レコードへのアクセスも制御することができます。
今回の場合はタイルメニューをゲストにも表示させたいという要件でした。
タイルメニューコンポーネントは画像ファイルを貼り付けることができる為、それを表示する権限(ドキュメントの参照権限)が必要だったようです。
早速設定をしていきます。
ビルダーページから左側の設定アイコン⇒全般の下の方にゲストユーザープロファイルセクションで表示せれているリンクを押下するとゲストユーザーのプロファイルページに遷移するのでそこから⇒オブジェクト設定⇒ドキュメント という順にクリックしていきます。
画像ファイルがドキュメントなんてわかりづらいですね。。。
これで表示ができる!と思ったらできませんでした。
最後にナビゲーションメニューの設定が必要でした。
ナビゲーションメニュー設定⇒タイルメニューで表示させたいナビゲーションメニューを選択⇒メニュー項目を選択(またはメニューを追加)⇒「一般公開」のチェックボックスONにすると無事に表示がされました。
さらに言うと、タイルメニューの並び順や画像の設定もナビゲーションメニューからなんですよね。結構この部分の設定にハマる人がいると聞きます。
設定を一通り終えると無事にゲストユーザーでもタイルメニューを参照することができました。
ゲストユーザープロファイルを設定する上での考慮事項
ゲストユーザーにレコードページを表示させる(もしくはさせない)場合はオブジェクト権限で設定ができます。それだけではなく、ページレイアウトなどの設定もできます。
そして、開発したコンポーネント(Lightning Web Component)や画面(VisualForce)をゲストユーザーに見せたい場合は、それらの割り当ても必要になりますし、開発画面やコンポーネントの裏で動くApexクラスにも参照権限を付与する必要があります。
これらは全て前述したビルダーページから行う事ができます。
ただしゲストユーザーによって表示や権限を設定することはできません。 ゲストユーザー=不特定多数のユーザーのため参照を可能にするコンテンツや公開するレコードについては慎重に選ぶ必要があります。ExperienceCloudサイトではサイトページ毎にゲストに公開する/しないを選択することができますし、1つのサイトページでもプロファイルによって出すコンポーネントを変えることができます。
細かいコンテンツの出し分けができるのがExperienceCloudサイトの良いところです。ユーザー目線のより良いサイトを作るお手伝いいたします。サイトのUI/UXエキスパートレビューも行っていますので、下記コンタクトURLから是非ご相談ください。
お問合せはお気軽に
SHIFTについて(コーポレートサイト)
https://www.shiftinc.jp/
SHIFTのサービスについて(サービスサイト)
https://service.shiftinc.jp/
SHIFTの導入事例
https://service.shiftinc.jp/case/
お役立ち資料はこちら
https://service.shiftinc.jp/resources/
SHIFTの採用情報はこちら
https://recruit.shiftinc.jp/career/
PHOTO:UnsplashのGoogle DeepMind