tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:Trailhead Academy Day 2018 April に参加しました

先日(4月25日)に開催されたTrailhead Academy Day 2018 April に参加しました。

f:id:tyoshikawa1106:20180424140253j:plain

f:id:tyoshikawa1106:20180424140413j:plain

f:id:tyoshikawa1106:20180424141714j:plain


イベントの概要はこんな感じです。

  • 14:00 - 15:00 受付 / Trailhead Superbadge のご案内
  • 15:00 - 16:30 セッション
  • 16:30 - 18:00 懇親会


メインのセッションは15:00からで3つのセッションのうちの1つを聞けるという流れでした。今回はその中の1つで『認定 Community Cloud コンサルタント試験ポイントスタディ』の話を聞いてきました。

f:id:tyoshikawa1106:20180424141518j:plain


スピーカーの方はSalesforceでCommunity Cloud & Marketing Cloudを担当されている内藤さんです。最近Marketing CloudとCommunity Cloudの連携もできるようになり両方担当されている的なお話が聞けました。


このセッションはSalesforce社がトレーニングプログラムで提供している1日コースの内容から一部をピックアップして90分にまとめた内容とのことです。トレーニングは受けたことがありませんがおそらくこちらのページで紹介されているプログラムです。
f:id:tyoshikawa1106:20180425051429p:plain

クラウドで選ぶ - セールスフォース・ドットコム


セッションの開始時に受験ガイドについての話がありました。試験範囲などの詳細が記載されているので忘れずに見て下さいとのことです。(こちらも最新情報に合わせてバージョンアップされているみたいです。)
f:id:tyoshikawa1106:20180425050958p:plain


その他の認定試験も含めて受験ガイドはSalesforce 認定資格で検索すると見つかりますとのことでした。
f:id:tyoshikawa1106:20180425051104p:plain

資格一覧 - セールスフォース・ドットコム 認定制度


始めに認定 Community Cloud コンサルタントの出題カテゴリについての話がありました。コミュニティビルダーはSalesforceが力を入れて開発・提供しているので試験にもよく出てきますとの情報がありました。

  1. 実装 (31%)
  2. 共有とセキュリティ (22%)
  3. コミュニティの設定(17%)
  4. コミュニティビルダー (18%)
  5. コミュニティ管理(12%)

以下セッションのメモです。

セッションのメモ

コミュニティとは

・従業員、顧客、パートナーがお互いにコミュニケーションを行うためのオンライン空間
・企業のブランドに合わせたデザインを設定可能
・Salesforce組織の中に存在する
・コミュニティを通じて、社外ユーザはデータの一部にアクセスできる
・アクセス制御には、プロファイルとSalesforceセキュリティモデルを仕様

※単体での利用ではなく、Sales Cloudを使っている中でCommunity Cloudのライセンスを追加してパートナーと情報共有して営業活動を進める用途のイメージです。

ライセンスタイプの選択

コミュニティメンバーの役割りに基づいてライセンスタイプを決定する。
ポイント:
・ライセンスタイプごとの機能・制限を理解する
・ユーザの要件を特定し、ライセンスタイプと照らし合わせ
注意点:
・ライセンスの名前だけで選ぶのはNG。ユーザの要件からライセンスを選択する。
要件とは:
・アクセスするデータ (オブジェクト)
・実行アクション (権限)
・アクセスする範囲 (共有)

コミュニティユーザライセンス

・カスタマーコミュニティライセンス
・カスタマーコミュニティプラスライセンス
・パートナーコミュニティライセンス

f:id:tyoshikawa1106:20180424151642j:plain


ちなみに試験では、必ずしも商談、リードと明記されるのではなく、実際のプロジェクトを想定して見込み客のデータや営業のデータやSFAというキーワードで商談とリードを示唆する場合もありますと小ネタも紹介されました。

コミュニティの利用開始

・はじめに、コミュニティ機能を組織で有効にする必要がある
・合わせてコミュニティのドメイン名を設定する必要がある。

f:id:tyoshikawa1106:20180425052525p:plain

ドメインとカスタムドメイン

・コミュニティのドメイン名の付け方が2種類
・単純にドメインといった場合、末尾にforce.comが付くドメインを指す
・一方、会社や団体独自のドメインを使用する場合、、そのドメインのことをカスタムドメインという

Salesforce設定での定義

  • ドメイン = sample.force.com
  • カスタムドメイン = sample.co.jp

カスタムドメインの設定

  1. DNSサーバでCNAMEエントリを作成
  2. 証明書署名要求(CSR)を作成し、認証局の署名付きSSL証明書を取得
  3. 署名済SSL証明書をSalesforceにアップロード
  4. Salesforce上でカスタムドメイン有効化

※試験で良く問題になるのはSalesforce側で作業すること

補足:設定方法などの詳細についてはヘルプを見るのが正確です。

https://help.salesforce.com/articleView?id=000205653&language=ja&type=1

コミュニティテンプレート

実装オプション

・与えられた要件に合うテンプレートの選択
・コミュニティユーザのロール階層の理解

テンプレートの選択

・コミュニティの作成プロセスは、テンプレートを選ぶことから始まる
・テンプレートによってコミュニティの基本デザインと利用可能な機能が決定

標準テンプレート

・Salesforceタブ + Visualforce
・カスタマーサービス (Napili)
・Partner Central
・カスタマー取引先ポータル
・Aloha

Lightning Boltソリューション

・作成したコミュニティをパッケージ化したもの。
・組織内で再利用できる。

会話・やりとり・コラボレーションというキーワードが出たらコラボレーションディスカッションを表す。
モバイル用に最適化・Salesforceタブ + Visualforceも含む

f:id:tyoshikawa1106:20180424152554j:plain

コミュニティに影響を及ぼす制限

・試験対策としては暗記有るのみ。
・ヘルプ&トレーニングでコミュニティの制限を検索すれば良さそうです。
f:id:tyoshikawa1106:20180425054001p:plain

共有とセキュリティ

Community Cloudを検討するにあたり一番の検討部分である共有とセキュリティの部分です。

パートナーコミュニティとカスタマーコミュニティプラス

・ロール
・共有ルール
・レコードの直接共有

カスタマーコミュニティ

・共有セット

上記のとおりカスタマーコミュニティではロールなどの利用はできません。共有セットという設定方法はあるのでそれでできる範囲を超えた場合はランクアップする必要があります。

f:id:tyoshikawa1106:20180425054458p:plain

f:id:tyoshikawa1106:20180425054511p:plain

その他メモ

・コミュニティユーザに対する共有ルール
・コミュニティ機能が有効化された組織では、共有ルールの設定項目に追加の選択肢が表示される

ロールの種類

  • ポータルロール
  • ポータルロール&下位ロール
  • ロール&内部下位ロール
  • ロール、内部&下位ポータルロール
  • ロール

公開グループ

  • すべてのカスタマーポータルユーザ
  • すべてのパートナーユーザ
  • すべての内部ユーザ

※ポータルという記載は過去の名称。コミュニティに置き換えて考える。

ユースケース:共有ルール

・A社では、右図のロール階層を使用している
・営業部全員及びパートナーが商談を作成・所有する
・マーケティング部全員が、全ての商談を参照する必要がある
・上記要件を満たすには?
・商談の共有ルールを以下の通りに設定
f:id:tyoshikawa1106:20180424153956j:plain

共有セット

・カスタマーコミュニティライセンスでのみ利用可能な共有機能
・ユーザの取引先責任者または取引先に紐づくレコードへのアクセスを付与することが可能。

ユースケース:共有セット

・X社の顧客むけコミュニティにY社の田中さんと吉田さんがいる
・2人にはカスタマーコミュニティライセンスが付与されている
・サポート担当の鈴木さんが、田中さんからの電話を受けてケースを作成。そのケースを、田中さんが参照した。
・田中さんの同僚の吉田さんからも、ケースを参照できるようにしたい。同じ会社の人のデータの参照権限を共有セットで共有できる。

コミュニティの設定

・コミュニティワークスペース
・ビルダー
・管理
・タブの公開プロセス

タブの公開設定:コミュニティ

・Salesforceタブの場合はコミュニティワークスペースで憑依するタブを指定
・Salesforceタブ以外の場合:コミュニティビルダーでナビゲーションメニューにリンクを含める。

ログイン要件

・コミュニティユーザのログイン要件
・ソーシャルサインオン機能→Trailheadの安全なIDとアクセスの管理でまとめられている。
trailhead.salesforce.com

コミュニティビルダー

・Lightning ベースのコミュニティの編集ツール

できること
  • 会社のブランディングに合わせたサイト全体の迅速なスタイル設定
  • ページ要素のカスタマイズ
  • ページの追加
  • サイトのプレビュー
  • サイトの公開
ブランド:サイトの全体の外観をコントロール

1. カラーパレットを使用した配色設定
・テキスト
・教会線
・ボタン
・背景色等
2. 画像をアップロードしてカスタムのカラーパレットを生成
3. 画像を・・・略

覚えておきたい

コミュニティビルダーはカスタムフォントも読み込み可能。静的リソースにアップして使用できます。(ファイルサイズに注意が必要かも?)

ページ機能

・新規ページも作れる。
・標準ページとオブジェクトページの二種類がある

  • 標準ページは空白の自由なページ
  • オブジェクトページはレコードページ。
  • 新規ページを作成したら、必ずナビゲーションメニューに追加する。

※試験小ネタ:リンク先を出さないとアクセスできないと見なされる。

標準のコンポーネントでは満たせない要件がある場合

1.AppExchangeからコンポーネントを検索してインストール
2.カスタムコンポーネントを開発
※試験小ネタ:実装までの速度が優先される。

コミュニティビルダーの公開アクセス

・公開ユーザがコミュニティにアクセスできます。のチェックをつけるとログインしなくてもアクセスできる。
・ナレッジサイトなどの場合はこのチェックが必要。

コミュニティ管理

モデレーション機能と評価

・モデレーションとは
 ・ユーザの投稿や行動をモデレータがチェックして、必要に応じて対処する仕組み
 ・不適切な語句を含む投稿のブロック、荒らし行為を防止
・コミュニティワークスペースで設定

・評価とは
 ・ユーザが投稿したりしたときにどんどんポイントがたまる。


ざっくりですが上記のような感じでした。途中メモできてなかったり勘違いしたりもあるので詳細はヘルプ等ちゃんとしたドキュメントで確認した方が正確です。

懇親会

15:00 - 16:30 セッションのあとは16:30 - 18:00まで懇親会の時間がありました。

f:id:tyoshikawa1106:20180424163607j:plain:w300

f:id:tyoshikawa1106:20180424163623j:plain:w300

f:id:tyoshikawa1106:20180424165349j:plain:w300

f:id:tyoshikawa1106:20180424170905j:plain:w300


日本のTechnicalArchitect (12名ぐらいいるみたいです。)やTrailblazerの紹介があった他、CEOのマーク・ベニオフが来日したときに日本はTrailblazerが少ないのでもっと力を入れよう的な話(小ネタ的な感じで)があったこととか聞けました。また、認定資格のリリース試験がTrailheadで無料で受けられる話も発表されました。リリース試験は先日つい放置しすぎて期限切れになるところだったので、リリース試験がTrailheadで気軽に受けられるようになるのは楽しみにしています。


懇親会では他の参加者の方のセールスフォースの利用方法について話を聞かせてもらったり聞いてもらったりもできました。こうした実体験の話が聞けるのはすごく勉強になると思います。またやり方で悩んでいる部分で他の人はどうしているのかという話を聞けて参考になりました。Trailhead Academy Day 2018 Aprilのイベント参加できてよかったです。

SFDC:パートナーユーザが所有する取引先責任者のカスタマーユーザ化の可否について

パートナーユーザが所有する取引先責任者のカスタマーユーザ化の可否についてです。下記のような仕様のシステム開発を検討していました。

  • パートナーコミュニティの有効化
  • パートナーコミュニティユーザがデータ登録
    • 取引先責任者とそれに紐付く関連データが登録される
  • コミュニティユーザは共有設定で非公開設定しておく
    • 非公開にすることで他のコミュニティユーザの情報へアクセスはできない
  • パートナーユーザは自分の登録した取引先責任者にはアクセスできる
    • 所有するデータにはアクセス可能
    • 細かい部分は項目レベルセキュリティ等で制御
  • 社内ユーザはパートナーユーザが作成した取引先責任者情報にアクセス
  • 必要に応じてカスタマーユーザとして有効化


上記仕様で要望を満たすシステムを構築できる想定で権限周りの問題も想定どおりクリアしていたのですが、一つ問題がありました。
f:id:tyoshikawa1106:20180424082341p:plain

パートナーユーザが所有する取引先と関連付けられているカスタマーポータルユーザは作成できません。パートナーユーザが所有しない取引先に、カスタマーポータルユーザを作成してください。


ということで上記の仕様は実現不可でした。

解決方法?

このエラーをみたときになんとなく浮かんだだけで検証は何もできていませんが、パートナーユーザが作成するデータは本来必要とする取引先責任者などの情報ではなくカスタムオブジェクトのデータにすることで解決できると思います。


開発が余計に必要になりますが、そのデータを元にトリガやバッチ処理で本来必要なデータを登録する流れでどうかなと思いました。ただしパートナーユーザのデータ更新のタイミングで実行されるApexトリガは権限的に無理かもしれませんので、リアルタイム連携は諦めてスケジュールバッチで対応するしかないかもしれません。

SFDC:コミュニティユーザへメンションするときの判別方法について

コミュニティユーザへメンションするときの判別方法です。通常は次のように表示されると思います。
f:id:tyoshikawa1106:20180423011146p:plain


はじめは問題ありませんが同姓同名のユーザが作成されると判別ができなくなってしまいます。この問題ですがユーザの会社項目に値をセットすることで解決できると思います。

f:id:tyoshikawa1106:20180423011510p:plain:w300

f:id:tyoshikawa1106:20180423011552p:plain:w300


会社名項目を使った対応方法ですがコミュニティユーザ側にも同じく表示される仕様となっています。パートナーユーザでしたら特に問題ないと思いますが、カスタマーユーザの場合は会社名を表示するのは好ましくない場合があります。そのため実際の会社名を入力するのではなく、都道府県や郵便番号などを識別できる情報を入力しておくのが良いと思います。
※メールアドレスが一番適していそうですが、文字数が多すぎるような予期せぬアドレスへの対応が必要かもしれません。


ちなみにコミュニティユーザから見たときの画面です。名前の隣に会社名が表示されます。(未入力の場合は顧客と表示)
f:id:tyoshikawa1106:20180423012000p:plain:w300


社内ユーザの場合は名前の下に役職項目の値が表示される仕組みとなっています。
f:id:tyoshikawa1106:20180423012228p:plain


コミュニティユーザには残念ながらその仕組みは適用されないみたいです。おそらく会社名項目を利用するしかないと思います。


ひとまず同姓同名問題が発生した場合はこの方法で対応できそうです。

SFDC:Chatterタブの投稿権限について

Chatterタブの投稿権限についてです。Chatterタブの投稿ボックスですが、次のように非表示にすることが可能です。
f:id:tyoshikawa1106:20180422221706p:plain


この設定はユーザのページレイアウト設定で制御されています。
f:id:tyoshikawa1106:20180422221737p:plain


次のようにアクションに追加すると
f:id:tyoshikawa1106:20180422221812p:plain


Chatterタブのページに投稿欄が追加されます。
f:id:tyoshikawa1106:20180422221900p:plain


コミュニティユーザや一部ユーザは新規投稿をさせないといったことが可能かもしれません。(試してませんがコメント投稿などはできると思います。)

SFDC:データインポートウィザードで取引先と取引先責任者のインポート

データインポートウィザードで取引先と取引先責任者のインポートについてです。次のように取引先と取引先責任者が1つにまとめられているCSVファイルがあるとします。(キャプチャはEXCEL形式ですが)
f:id:tyoshikawa1106:20180422094219p:plain


データローダの場合はそれぞれのオブジェクトに分ける必要がありますが、データインポートウィザードの場合はこのまま登録できます。
f:id:tyoshikawa1106:20180422094250p:plain


対応付けという項目で取引先のどのオブジェクトか。もしくは取引先責任者のどのオブジェクトかという感じです。
f:id:tyoshikawa1106:20180422094335p:plain

f:id:tyoshikawa1106:20180422094426p:plain


対応付けを行った後、次に進めると最後に確認画面が表示され、右下のインポートボタンを押して処理が開始されます。
f:id:tyoshikawa1106:20180422094532p:plain


インポート時に言語や地域が影響あるかは未確認のため英語で試してみました。
f:id:tyoshikawa1106:20180422095008p:plain


流れとしてはこんな感じ
f:id:tyoshikawa1106:20180422095123p:plain

f:id:tyoshikawa1106:20180422095137p:plain

f:id:tyoshikawa1106:20180422095149p:plain


レポートでざっくり確認してみると問題なさそうです。
f:id:tyoshikawa1106:20180422095340p:plain


EXCELの件数とちょっと違うってなったときは既存のデータの件数が含まれているためです。日時の絞り込みをすれば解決します。
f:id:tyoshikawa1106:20180422100331p:plain


あとはレコードの詳細ページで正しく登録されているかチェックすれば良さそうです。データインポートウィザード気づいたらとても便利になっていました。

SFDC:オブジェクトマネージャで標準オブジェクトを抽出する方法

オブジェクトマネージャで標準オブジェクトを抽出する方法についてです。

f:id:tyoshikawa1106:20180422084648p:plain


Salesforce Classicでは標準オブジェクトとカスタムオブジェクトの設定の場所が離れていました。そのため設定箇所を複数覚えておく必要がありました。
f:id:tyoshikawa1106:20180422084754p:plain


Lightning Experienceではオブジェクトマネージャーという設定に標準もカスタムもまとめて表示されるようになったのでいちいち移動しなくても良くなりました。
f:id:tyoshikawa1106:20180422085001p:plain


あとはこれで標準オブジェクトだけを一覧表示できたらいいなと思ったのですが、カスタムの列でソートすることはできないみたいです。
f:id:tyoshikawa1106:20180422085115p:plain:w300


ですが、よくみるとリリース済みという項目はソートが可能でした。
f:id:tyoshikawa1106:20180422085448p:plain:w300

この項目でソートしてみると・・・
f:id:tyoshikawa1106:20180422085213p:plain


このように標準オブジェクトを先頭にする形で表示することできました。標準オブジェクトの設定確認をするときに便利でした。

SFDC:LEX運用で役立つ関連リストのクイックリンクを試してみました

LEX運用で役立つ関連リストのクイックリンクを試してみました。この機能はWinter'18で追加された機能です。
f:id:tyoshikawa1106:20180416022219p:plain

リリースノート


Lightning Experienceでは詳細ページと関連リストを左右に表示できるようになり、詳細情報の項目数が多くなっても関連リストへのアクセスが簡単になっています。

f:id:tyoshikawa1106:20180416015859p:plain


また、次のように詳細ページから移動せずに関連オブジェクトの新規作成や編集ができるようになりました。
f:id:tyoshikawa1106:20180416020022p:plain:w300

f:id:tyoshikawa1106:20180416020033p:plain


とはいえ、関連リストに一度に表示できるレコード数や項目数は少なくなってしまい、利用状況によっては使いづらくなってしまった部分もあります。この問題を解決するには「関連リストのクイックリンク」機能が便利です。AppBuilderによるページ設定で追加できます。
f:id:tyoshikawa1106:20180416020334p:plain

f:id:tyoshikawa1106:20180416020402p:plain


関連リスト名のリンクにマウスを当てることで従来のように関連リスト情報にアクセスできます。
f:id:tyoshikawa1106:20180416020519p:plain


新規や編集も詳細ページにいながら実行できます。
f:id:tyoshikawa1106:20180416020713p:plain


すべて表示をクリックすればより多くのレコードにアクセス可能です。
f:id:tyoshikawa1106:20180416020609p:plain


クイックリンクはユーザ毎にカスタマイズができるようです。
f:id:tyoshikawa1106:20180416021824p:plain:w300


表示したい関連リストのみを指定できます。
f:id:tyoshikawa1106:20180416022009p:plain

f:id:tyoshikawa1106:20180416022036p:plain


このようにクイックリンク機能を利用することで関連リストへのアクセスがより便利になります。表示される項目は関連リストの最初の 10 項目の仕様になっています。