はじめに
Salesforceの開発・運用保守に従事していると、ユーザ情報(ユーザオブジェクト)の取扱いには神経を遣います。その中でも、ユーザ情報の登録・更新におけるメール通知パターンについて、前回の内部ユーザ編の続編として、今回は外部ユーザ(カスタマーコミュニティユーザ)を検証したいと思います。
ユーザの新規作成にあたって、メール通知の有無を検証します。
前提条件
- 検証用コミュニティは有効化されています。
- カスタマー取引先に、取引先責任者からカスタマーコミュニティユーザを作成・編集します。
- 検証ユーザは「Customer Community User」ライセンスです。
- 検証用権限セットのユーザライセンスも「Customer Community User」です。
- 特筆しない限り、組織のメール設定は「すべてのメール」にされています。
- 特筆しない限り、コミュニティ管理.メール設定=「新規メンバーのお知らせ.お知らせメールを送信:ON」です。
- 特筆しない限り、ユーザ登録画面「パスワードをリセットしてユーザに通知する」をONのままで処理します。
検証パターン1 プロファイルによる、コミュニティへの参加の有無で検証する。
Case.1
コミュニティにて、プロファイルも権限セットも有効になっていない状態で検証してみます。
つまり、ユーザを作成した時点では、コミュニティのメンバーにならないよう設定します。
設定
・コミュニティ管理.メンバー設定=「該当プロファイル:未選択」
・コミュニティ管理.メンバー設定=「割り当たっている権限セット:未選択」
結果
ユーザ作成は成功しますが、メール通知されません。
この設定で作成されたメンバーは、検証用コミュニティのメンバーではないため、メール通知されません。
Case.2
次は、コミュニティにて、該当するプロファイルを有効化した状態で検証してみます。
つまり、ユーザを作成した時点で、コミュニティのメンバーになるよう設定します。
設定
・コミュニティ管理.メンバー設定=「該当プロファイル:選択済み(Customer Community User)」
・コミュニティ管理.メンバー設定=「割り当たっている権限セット:未選択」
結果
ユーザ作成は成功し、メールも通知されました。
すると、このCase.2実行の段階で「Customer Community User」プロファイルを割り当てたので、先に登録していたCase.1のユーザのお知らせメールも届きました。
該当するプロファイルが、未選択から選択済になる都度、このお知らせメールは通知される仕様のようです。地味ですが、私達のようなサービスを提供する側には、このような通知タイミングをおさえておくのは重要です。ちなみに、通知メールの内容は、コミュニティ管理.メールテンプレート「新規メンバーのお知らせ」で設定しているものになります。
検証パターン2 権限セットによる、コミュニティへの参加の有無で検証する。
コミュニティ管理にて、メンバーに割り当てる方法は、プロファイルの他にもう1つ、権限セットによる方法があります。
プロファイル時と同じ挙動か確認してみます。
プロファイルへの割り当てをなしに戻して、代わりに権限セットを有効化してみます。
ただし、権限セットは、個別にユーザへ割り当てるのものなので、1度ユーザを作成してから、割り当てます。
Case.3
設定
・コミュニティ管理.メンバー設定=「該当プロファイル:未選択」
・コミュニティ管理.メンバー設定=「割り当たっている権限セット:選択済み(カスタマーコミュニティ用権限セット)」
結果
ユーザ作成は成功し、メールも通知されました。プロファイル時と同じです。
メール通知の契機は、ユーザ作成時ではなく、あくまで、コミュニティで有効な権限セットを、そのユーザに割り当てたタイミングです。
コミュニティにて、該当するプロファイルあるいは権限セットの有効・無効によるメール通知パターンが、これで理解できました。
検証パターン3 「パスワードをリセットしてユーザに通知する」を検証する。
ユーザ登録時に利用できるオプション「パスワードをリセットしてユーザに通知する」を検証してみたいと思います。
Case.4
設定
・コミュニティ管理.メンバー設定=「該当プロファイル:選択済み(Customer Community User)」
・コミュニティ管理.メンバー設定=「割り当たっている権限セット:未選択」
・ユーザ登録時、「パスワードをリセットしてユーザに通知する:OFF」
結果
ユーザ作成は成功し、メールも通知されました。
よくよく考えてみると、コミュニティ参加へのお知らせメールですから、パスワードリセットの有無は関係がないのですね。。
お知らせメールの本文にあるリンクをクリックすると、パスワード変更画面が表示されます。
検証パターン4 コミュニティ「お知らせメール送信」を検証する。
コミュニティにおける「お知らせメール送信」のON、OFFを検証してみたいと思います。
Case.5
設定
・コミュニティ管理.メンバー設定=「該当プロファイル:選択済み(Customer Community User)」
・コミュニティ管理.メンバー設定=「割り当たっている権限セット:未選択」
・コミュニティ管理.メール「お知らせメールを送信」:OFF
結果
ユーザ作成は成功し、メールは通知されませんでした。
ユーザ登録画面で「パスワードをリセットしてユーザに通知する」チェックをONのままで登録しても、
コミュニティ管理の「お知らせメールを送信」をOFFにすると、メールは通知されませんでした。
また、今回の検証観点であるユーザ作成とは趣旨が若干異なりますが、この「お知らせメールを送信」機能ONの状態で無効化されているコミュニティを有効化した場合、そこに参加しているユーザに一斉にメールが通知されますので、注意が必要です。
参考:コミュニティへのメンバーの追加|Salesforceヘルプ
検証パターン5 組織のメール設定による違いを検証する。
組織のメール設定による違い(「すべてのメール」「システムメールのみ」「アクセス権限なし」)を検証してみたいと思います。内部ユーザだけでなく、外部ユーザも同じように制御が効くのでしょうか?
Case.6
設定前提
・組織のメール設定=「システムメールのみ」
・コミュニティ管理.メンバー設定=「該当プロファイル:選択済み(Customer Community User)」
・コミュニティ管理.メンバー設定=「割り当たっている権限セット:未選択」
結果
ユーザ作成は成功し、メールも通知されました。
内部ユーザの検証時と同様に、ユーザ周りに関するメール通知制御については「すべてのメール」「システムメールのみ」は同じ振る舞いと考えて良さそうです。
参考:送信設定の定義|Salesforceヘルプ
Case.7
設定前提
・組織のメール設定=「アクセス権限なし」
・コミュニティ管理.メンバー設定=「該当プロファイル:選択済み(Customer Community User)」
・コミュニティ管理.メンバー設定=「割り当たっている権限セット:未選択」
結果
ユーザ作成は成功し、メールは通知されませんでした。
内部ユーザの検証時と同様に、組織のメール設定=「アクセス権限なし」で、メール通知を抑止できるようです。
参考:送信設定の定義|Salesforceヘルプ
CaseNo. | 組織のメール設定 | コミュニティ管理.メンバー設定 | コミュニティ管理.メール設定 | ユーザ登録オプション | 結果 | |||||
すべてのメール | システムメールのみ | アクセス権限なし | 該当プロファイル:未選択 | 該当プロファイル:選択済み | 割り当てられている権限セット:未選択 | 割り当てられている権限セット:選択済み | お知らせメールを送信 | パスワードリセットしてユーザに通知する | メール通知される | |
1 | レ | レ | レ | ON | ON | NO | ||||
2 | レ | レ | レ | ON | ON | YES | ||||
3 | レ | レ | レ | ON | ON | YES | ||||
4 | レ | レ | レ | ON | OFF | YES | ||||
5 | レ | レ | レ | OFF | ON | NO | ||||
6 | レ | レ | レ | ON | ON | YES | ||||
7 | レ | レ | レ | ON | ON | NO |
ユーザ情報の編集時における、メール通知について
内部ユーザではメール通知対象である下記のアクションについて、外部ユーザでの場合の結論だけ記しておきます。
- ユーザ情報更新(ユーザ名):メール通知ない。
- ユーザ情報更新(メールアドレス):メール通知ない。
- ユーザ情報更新(パスワードリセット):メール通知あり。
参考:コミュニティの外部ユーザのパスワードのリセット|Salesforceヘルプ
おわりに
ユーザの新規作成及び更新における、メール通知パターン検証の続編として、今回は外部ユーザ(カスマターコミュニティユーザ)について記してみました。上記以外での条件あるいは観点がありましたら、コメント欄でご指摘頂きたいと思います。
蛇足ではありますが、Salesforceはシーズンごとのバージョンアップを経て進化し続けていますので、念のため検証してから実運用の方針を決定して頂きたいと思います。 それでは、また。
さいごのさいごに)
コミュニティ環境のノウハウの提供と、遅くまで検証に付き合ってくれた同僚の渕上くん、本当に感謝しています。ありがとう!