tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:SalesforceモバイルアプリのMobile Onlyアプリケーションの非表示設定を試してみました

SalesforceモバイルアプリのMobile Onlyアプリケーションの非表示設定を試してみました。モバイルアプリのバージョンアップでPC版のアプリケーション設定が利用できるようになりましたが、過去の設定はMobile Onlyアプリケーションに残っています。

f:id:tyoshikawa1106:20200306082440p:plain

Salesforce App


Mobile Onlyはアプリケーション選択画面で選択できます。
f:id:tyoshikawa1106:20200306082608j:plain:w200


PC版アプリケーションへの移行が完了すれば基本的には不要になると思います。そこで非表示設定を試してみました。方法はヘルプに記載があります。

f:id:tyoshikawa1106:20200306082810p:plain

Help | Training | Salesforce


ヘルプによると接続アプリケーション設定でカスタム属性の設定を行うことで非表示設定が可能なようです。

Mobile Only アプリケーションを無効にするには、[設定] に移動します。[クイック検索] ボックスに「接続アプリケーション」と入力し、[接続アプリケーションを管理する] を選択してから、変更する接続アプリケーションの名前をクリックします。接続アプリケーションページの [カスタム属性] セクションで [新規] をクリックします。属性キーに「HIDE_MOBILE_ONLY_APP」と入力し、属性値に「"true"」と入力します。


接続設定の画面はこちら。
f:id:tyoshikawa1106:20200306082943p:plain


やろうとして躓いたのですがどの接続アプリケーションが対象なのかイマイチわかりませんでした。検索したところ下記のサイトが参考になりました。


iOSの場合は「Salesforce for iOS」でAndroidの場合は、「Salesforce for Android」に対して設定変更すればいいみたいです。設定結果はこんな感じ。
f:id:tyoshikawa1106:20200306083237p:plain


これで無事に非表示になりました。
f:id:tyoshikawa1106:20200306083343p:plain:w200


SalesforceモバイルアプリのMobile Onlyアプリケーションの非表示設定はこんな感じでした。

SFDC:新しいSalesforceモバイルのナビゲーションメニュー設定を試してみました。

新しいSalesforceモバイルのナビゲーションメニュー設定を試してみました。

f:id:tyoshikawa1106:20200305082548p:plain


Winter'20ぐらいから話がでてきてSpring'20で完全に切り替わった新バージョンのモバイルアプリですが、一つ設定方法がわからない箇所がありました。画面下のナビゲーションメニューです。

f:id:tyoshikawa1106:20200305082754p:plain:w200


Salesforceの設定ページを見てもそれらしい設定ないなーと思っていたのですが、先日Twitterで教えてもらってようやく理解できました。こちらは選択中のアプリケーションの先頭4つのタブが表示されているとのことです。

f:id:tyoshikawa1106:20200305082907p:plain


ホームは除外され、カレンダータブは行動タブとして扱われていたので、自分の中で紐付きができませんでした。確かにハンバーガーメニューで確認するとそのとおりの順番になっています。

f:id:tyoshikawa1106:20200305083031p:plain:w200


アプリケーションの設定を行う際にはモバイルアプリのメニューにも影響があることを考慮して設定すると良さそうです。

その他の参考情報

f:id:tyoshikawa1106:20200305083306p:plain

Help | Training | Salesforce

SFDC:Salesforce Trustでリリーススケジュールのチェックを試してみました

Salesforce Trustでリリーススケジュールのチェックを試してみました。

f:id:tyoshikawa1106:20200304194631p:plain

Salesforce Trust


Salesforce TrustはSalesforce上で障害が発生したときやメンテナンスの予定を確認したりできるサイトです。今まで気にしていなかったのですが、年に3回実施されるメジャーアップデートもメンテナンス扱いのためSalesforce Trustで確認できます。


確認に必要な情報は組織のインスタンスです。インスタンス情報は設定メニューの組織情報から確認が可能です。
f:id:tyoshikawa1106:20200304194928p:plain:w300


インスタンスを確認できたらTrustのシステム状況のページにアクセスします。
f:id:tyoshikawa1106:20200304195119p:plain


システム状況のページには検索ボックスがあるので先程のインスタンスを条件に検索を行います。
f:id:tyoshikawa1106:20200304195133p:plain


検索結果で対象のインスタンスが表示されたらそちらをクリックします。
f:id:tyoshikawa1106:20200304195348p:plain


こちらがインスタンスの詳細ページです。
f:id:tyoshikawa1106:20200304195314p:plain



メンテナンスタブを選択するとメンテナンスのスケジュールが表示されます。
f:id:tyoshikawa1106:20200304195505p:plain


検索ボックスで絞り込みもできます。Summerと検索するとSummer'20のリリース日を確認できます。
f:id:tyoshikawa1106:20200304195613p:plain


ということでSummer'20は6月14日にリリースされることが確認できました。ちなみに既にSpring'21のリリース日まで公開されています。
f:id:tyoshikawa1106:20200304195818p:plain


Salesforce Turstは障害が発生したときぐらいしか気にしたことがなかったのですが、次のメジャーバーションのリリース日を把握したいときにも役立つサイトでした。

SFDC:イベントモニタリング機能とDeveloper Edtion組織について

イベントモニタリング機能とDeveloper Edtion組織についてです。「イベントモニタリング」「イベントログ」「Event Monitoring Analytics」とおそらくこのあたりの機能共通ではないかと思いますが、特定のDeveloper Edtion組織で試すことが可能です。

f:id:tyoshikawa1106:20200304081220p:plain


このあたりのトレイルヘッドで詳細を確認できます。

SFDC:ゲストユーザの権限まわりの仕様変更の影響調査と対応したこと

2020年3月1日を期限にサイトゲストユーザのアクセス権限周りの仕様変更がリリースされる件についてセキュリティアラート設定ページで通知されました。(情報が公開されていたのはWinter'20のリリースノートとのこと。)

f:id:tyoshikawa1106:20200218215006p:plain


どのような変更になるのかのイメージはこちら。


ざっくりいうと今まで公開グループに追加して参照権限と更新権限の付与を行うことができましたが、サイトゲストユーザの公開グループへの追加不可になり、共有ルールの設定は可能ですが設定内容は変更されて更新権限の付与もできなくなります。とのことでした。


共有ルールの変更によりに影響を受ける箇所が見つかったため、サポートに3月1日で強制的に有効化され更新権限は利用できなくなるのか問い合わせてみました。


その後の3月1日の有効化に関しての状況が変わりましたがそのときはこんな感じ。

  • 3月1日に有効化されるが、設定を手動で変更することで一時的に有効化前の挙動に戻すことができる。(おそらく次回のSummer'20リリースが期限だと思います。)
  • ヘルプに公開された情報のとおり、有効化することで発生する問題を解決できない理由等を記載して申請すれば、妥当な理由の場合は強制有効化機能をオプトアウトできる可能性がある。(一時的な処置でその場合も次回リリース時には有効化される可能性が高い。)

※後半に記載していますが3月1日のサイトゲストユーザの権限まわりの仕様変更リリースは延期となっています。


詳細についてのヘルプはこちらです。
f:id:tyoshikawa1106:20200228054217p:plain

ゲストユーザセキュリティに関する追加サポートの依頼


サポートの方に3月1日のタイミングでは強制有効化をしないでください。と申請するときの内容はこちらでした。
f:id:tyoshikawa1106:20200228054514p:plain


ヘルプ内にリンクがありますが申請時に必要になるサイトゲストユーザのアクセスレポートはAppExchangeアプリで取得できます。
f:id:tyoshikawa1106:20200228054607p:plain

Guest User Access Report - Salesforce Labs - AppExchange


AppExchangeの方は本番と同じ設定状況を用意したSandbox組織にインストールして試しました。英語表記ですが、作業自体はシンプルなので内容を確認しながら進めればそれほど問題はないと思います。サイトゲストユーザのアクセスレポートをPDF出力してその他必要事項と一緒にサポートに3月更新のオプトアウトを申請できました。



ちなみにインストール後にアクセスできるページに、キャプチャと同じ緑のボタンが配置されていますが、そちらはすべての影響範囲のチェックが完了し、問題ないことを確認できたときにクリックするボタンとなります。

3月の仕様変更の延期について

実際には上記のオプトアウト申請作業の途中に並行してサポートから連絡を受けていましたが、3月1日のゲストユーザの仕様変更に関するリリースは延期となりました。理由の一つとして、Visualforce メールテンプレートの機能に予期せぬ影響が見つかったとのことです。その件についても上記のヘルプページに情報が公開されています。

f:id:tyoshikawa1106:20200228055408p:plain


同じくヘルプページにリンクがありますが、今回の件の最新情報はコミュニティページで公開されています。
f:id:tyoshikawa1106:20200228055734p:plain

Securing Community Cloud


米国本社からの情報ですので英語表記となりますが、Google翻訳でざっくり意味は確認できました。


ということで3月1日の強制有効化自体は延期されましたが、Visualforceメールテンプレートの問題が解決すれば改めてリリースについての通知があると思います。

その他のセキュリティアラートページの通知事項

「ゲストユーザの組織の共有設定と共有モデルの保護」が延期になり一安心していましたが、3月1日に有効期限となっているものがもうひとつあります。「ゲストユーザによって作成されたレコードのデフォルトの所有者への割り当て」です。



ゲストユーザの組織の共有設定と共有モデルの保護の件を意識しすぎていてこっちについては完全失念していました。同じくゲストユーザまわりの更新なのでもしかすると一緒に延期になるのではとも少し考えたのですが、特に明記もされていなそうだったので、急いで有効化の影響をチェックしました。結果として有効化しても大きな問題はなかったので、自分の環境での対応は無事に完了できました。

まとめ

今回の件について、影響を受けることについて気づくのが遅れたのは良くなかったと思います。セキュリティアラートのページはWinter'20ぐらい?で追加されたページでしたが、次からは適宜チェックをしていくように気をつけようと思います。


一応「ゲストユーザの組織の共有設定と共有モデルの保護」以外のセキュリティアップデートに関しては大きな問題もなく有効化することができました。あとはVisualforceメールテンプレートの件で延期となった「ゲストユーザの組織の共有設定と共有モデルの保護」が有効化される際に現在の課題が解決できる状況になっていればいいなと思います。

補足

類似の仕様変更の通知機能で重要な更新ページもありますのでそちらも適宜チェックをして順次有効化をしていくようにすると問題発生時に迅速に対応を開始できると思います。

SFDC:取引先の所有者移行と商談の所有者移行の関係の検証を試してみました

取引先の所有者移行と商談の所有者移行の関係の検証を試してみました。

f:id:tyoshikawa1106:20200227032457p:plain


検証用のユーザとして下記の2つを用意しました。(どちらも管理者権限ユーザ)

ユーザA

f:id:tyoshikawa1106:20200227033921p:plain

ユーザB

f:id:tyoshikawa1106:20200227033935p:plain


検証用の取引先と商談はこちら。
f:id:tyoshikawa1106:20200227033824p:plain

f:id:tyoshikawa1106:20200227033836p:plain

Apexコードによる所有者移行

はじめにApexコードによる所有者の移行での検証です。開発者コンソールに下記のコードを実行して所有者を更新してみます。

f:id:tyoshikawa1106:20200227034048p:plain

// ユーザ取得
User userTypeA = [SELECT Id FROM User WHERE LastName = 'Yoshikawa'];
// ユーザ取得
User userTypeB = [SELECT Id FROM User WHERE LastName = 'SF'];
// 取引先取得
Account account = [SELECT Id FROM Account WHERE Name = '株式会社セールスフォース・ドットコム' LIMIT 1];
// アサインフラグ
Boolean isAssignTypeA = true; // ここで切り替え
// アサインフラグ判定
if (isAssignTypeA) {
    // 所有者指定 = Yoshikawa
	account.OwnerId = userTypeA.Id;
} else {
    // 所有者指定 = Saasy
	account.OwnerId = userTypeB.Id;
}
// 取引先UPDATE
update account;
Yoshikawa → Sassyへ移行

先程のコードで「isAssignTypeA = false;」と変更して処理を実行します。結果として取引先の所有者のみ更新されて商談は変更されないことを確認できました。

f:id:tyoshikawa1106:20200227034346p:plain

f:id:tyoshikawa1106:20200227034403p:plain

Sassy → Yoshikawaへ移行

もとに戻しても商談の所有者への影響はありません。
f:id:tyoshikawa1106:20200227034511p:plain

f:id:tyoshikawa1106:20200227034524p:plain

Apexでの取引先所有者更新は既存商談への影響はありませんでした。

標準機能での所有者更新 (オプションのチェックなし)

続いて標準機能での所有者更新です。標準の場合は下記のオプションが用意されています。今回はチェックなしで移行を行います。

  • 他のユーザが所有する進行中の商談を移行
  • 取引先所有者の完了した商談を移行

f:id:tyoshikawa1106:20200227034736p:plain


所有者をYoshikawaからSassyに変更してみました。
f:id:tyoshikawa1106:20200227034818p:plain


完了フラグがオンの商談は所有者そのままで、それ以外の商談の所有者は更新される結果となりました。
f:id:tyoshikawa1106:20200227035056p:plain


所有者をYoshikawaに戻して「取引先所有者の完了した商談を移行」にチェックをつけて更新します。
f:id:tyoshikawa1106:20200227035314p:plain


この場合は完了フラグがオンの商談も移行されました。
f:id:tyoshikawa1106:20200227035439p:plain


上記のとおり、システム管理者権限のユーザが所有者更新を行うと「他のユーザが所有する進行中の商談を移行」のチェックがオフでも進行中の商談の所有者は更新されました。
f:id:tyoshikawa1106:20200227040128p:plain


また、一般ユーザで所有者更新を行う場合、権限によっては「他のユーザが所有する進行中の商談を移行」自体が表示されません。
f:id:tyoshikawa1106:20200227040116p:plain

所有権の一括変更画面

こちらの画面でも所有者の更新が可能です。移行時のオプションも同じように用意されています。
f:id:tyoshikawa1106:20200227040424p:plain


取引先ページの所有者更新と同じくオプションにチェックをつけない場合は完了フラグがオフの商談所有者は更新されませんでした。
f:id:tyoshikawa1106:20200227040551p:plain

まとめ

今回一番確認したかったのは所有者の移行作業実施時にクローズされた過去の商談の所有者が更新されるかを確認したかったのが目的でした。標準機能はもちろん、Apexによる取引先の所有者更新は、クローズ後の商談には影響がないことを確認しました。またApexの場合は進行中の商談所有者への影響もありません。


管理者ユーザの場合のみだと思いますが、「他のユーザが所有する進行中の商談を移行」はあまり意味がなく移行されたのはちょっと気づけてよかったかもしれません。


取引先の所有者移行と商談の所有者移行の関係の検証はこんな感じでした。

SFDC:Lightning Experienceのグローバル検索と人タブの関係について

Lightning Experienceのグローバル検索と人タブの関係についてです。Salesforceでは何かを検索したい場合はグローバル検索の機能を利用して検索できます。

f:id:tyoshikawa1106:20200224161116p:plain


管理者権限のユーザの場合は特に意識することがありませんが、一般権限のユーザの場合はグローバル検索で人が検索できない状態になっていることがあります。

f:id:tyoshikawa1106:20200224161218p:plain


原因は「人」タブのアクセス権限がタブを隠すとなっているための場合があります。
f:id:tyoshikawa1106:20200224161303p:plain


グルーバル検索で検索可能にする条件として「タブを用意する」「オブジェクト設定で検索対象オプションをオンにする」といったルールがあるので、人タブがタブを隠す設定だと検索できないのは言われてみればそのとおりかなと思います。


ただ、Classic環境で操作すると人タブのアクセス権限には影響されずに検索できたので、ちょっとした落とし穴ポイントだと思います。。


※Classicの場合は人タブがタブを隠すでも検索可能
f:id:tyoshikawa1106:20200224161544p:plain


Lighnting Experienceのグローバル検索では社内ユーザを検索できるようにするためには「人」タブのアクセス権限が関係しているというのは意識しておくと良いかもしれません。