tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:Spring'20の重要な更新を試してみました

Spring'20の重要な更新を試してみました。一部のセキュリティアラートでも重要な更新から有効化してくださいというものがありましたが、基本的には随時有効化して早めに対応しておくと良いと思います。

f:id:tyoshikawa1106:20200220081929p:plain


Spring'20で追加されたのは下記のとおりです。(一部前のバージョンのものも含まれているかもしれません。)

新しい Salesforce モバイルアプリケーションを有効化

モバイルアプリに新しいUIを適用する更新です。これは期限も過ぎていて自動適用されていると思います。

f:id:tyoshikawa1106:20200220082105p:plain

プロセスおよびフロー数式での null のレコード変数または参照関係項目の null 値の確認

プロセスビルダーとフローに影響がある更新です。基本的には既存の処理に影響はないと思います。(有効化前には要検証)

f:id:tyoshikawa1106:20200220082249p:plain

プロセスビルダーで元のレコード値に基づく条件を評価

プロセスビルダーに影響がある更新。場合によっては既存の処理に影響があるとのことです。

[レコードに指定の変更が行われた場合にのみアクションを実行しますか?] オプションが選択されているプロセスがある場合、または条件で ISCHANGED() 関数を使用する場合、この更新によってプロセスが異なって動作する可能性があります。

f:id:tyoshikawa1106:20200220082405p:plain

呼び出し可能なアクションの部分的な保存の有効化

ちょっとよくわからなかったのですが、バグの修正っぽいです。(たぶん影響受けたこと無い。)

呼び出し可能なアクション要求の部分的な保存機能は適切に動作しませんでした。トランザクション内の呼び出し可能なアクション要求の 1 つが失敗しても、そのトランザクション内の別の要求が正常に実行される可能性がありました。この 2 番目の呼び出し可能なアクション要求は期待どおりにロールバックされませんでした。

f:id:tyoshikawa1106:20200220082553p:plain

フローから呼び出された Apex クラスへのユーザアクセスを要求

フローを実装している場合に影響があります。・・・フローは使ってないので現時点では関係なかった。
f:id:tyoshikawa1106:20200220082746p:plain

フローでの従来の Apex アクションのアクセス修飾子の考慮

同じくフロー関係の更新です。

f:id:tyoshikawa1106:20200220082838p:plain

フロー数式でデータアクセス権を適用

フローの更新。

f:id:tyoshikawa1106:20200220082924p:plain

Lightning コンソールアプリケーションでタブがフォーカスされたダイアログを有効化

Lightnignコンソールに関する更新。操作性が向上するようなので有効化しておくと良さそうです。
f:id:tyoshikawa1106:20200220083116p:plain

暗黙的な共有のある @AuraEnabled Apex コントローラで with sharing を使用

これは過去に廃止された重要な更新をONにしている組織に影響があるものとのことです。ただ、通常はwith sharingを宣言していると思うので大きな影響は無いと思います。

f:id:tyoshikawa1106:20200220083405p:plain

Lightning コンポーネントマークアップの Apex プロパティでのアクセス修飾子の適用

下記の変更が適用されます。アクセス修飾子を適切に宣言していれば支障はないと思います。

この重要な更新を有効にした場合、この Aura コンポーネントは {!v.apexObject.counter} 式を使用して非公開の getter にアクセスできません。同じ制限が Lightning Web コンポーネントに適用されます。

f:id:tyoshikawa1106:20200221082708p:plain

Aura コンポーネントで $A.createComponent() または $A.createComponents() を使用するときに、関数式を作成できないようにします。

下記の仕様が反映されます。適切に開発していれば支障はないのかなと思います。

セキュリティと安定性を向上させるため、この更新は $A.createComponent() または $A.createComponents() に渡される属性値が Aura 関数式として解釈されないようにします。

f:id:tyoshikawa1106:20200221082952p:plain

ICU ロケール形式を有効化

なんか影響反映がすごく大きいそうに思う更新です。有効化前に念入りに検証が必要と思います。
f:id:tyoshikawa1106:20200221083433p:plain


組織で利用しているロケーション情報が抽出されるので要チェックです。
f:id:tyoshikawa1106:20200221083604p:plain


※DE組織で有効化を試してみました。
パッと見は影響なさそうでした。

パッケージの非グローバルコントローラコンストラクタへのリフレクティブアクセスを制限

パッケージ作ってる人には影響がある更新です。
f:id:tyoshikawa1106:20200221083916p:plain

改善されたスキーマキャッシュを有効化

組織のスキーマを定義およびキャッシュするために使用する内部システムに改善が加えられ、既知のバグが修正されるという更新です。有効化で既存の処理が動かなくなることはないと思いますが、念の為Sandboxで検証してから本番で有効化すると間違いないです。

f:id:tyoshikawa1106:20200222080147p:plain

参照項目にレコード名を表示するための権限が必要

厳しくアクセス制御をしている組織に影響がある更新です。といっても当然の機能だと思います。(今までも表示されなかった気がする...)

組織のデータをより適切に保護するため、参照項目にレコード名を表示できるユーザを制限しています。ユーザがこのデータを表示するには、ユーザに共有設定を介して参照アクセス権を付与するか、「すべての参照レコード名の表示」ユーザ権限を付与することが必要になりました。

f:id:tyoshikawa1106:20200222080416p:plain

Enable Dependency Access Checks in Lightning Components

あと一ヶ月ちょっとで有効化されるけど、まだ日本語翻訳されていない重要な更新。Lightningコンポーネントのアクセス権限まわりの変更です。Sandboxで有効化後にLightningコンポーネントが正常に動作するか確認して本番で有効化すると良いと思います。

f:id:tyoshikawa1106:20200222080751p:plain

システム管理者プロファイルから削除された「暗号化鍵を管理」権限

10年後に強制的に有効化される機能。10年後って...。たぶん必要であれば権限セットでサクッと対処できる更新じゃないかなと思います。暗号化項目を使っているケースは見たこと無かったですし、基本的には表示できなくても良い気がするので良い更新だと思いました。(Apex処理に影響がでるのかな。。) ちなみにまだ有効化等の操作は行なえません。

システム管理者は、暗号化鍵の管理ロールを実行する機能を能動的に付与する必要があります。「暗号化鍵を管理」権限は、標準のシステム管理者プロファイルにデフォルトで割り当てられなくなりました。

f:id:tyoshikawa1106:20200222081336p:plain

Salesforce Edge を介した [私のドメイン] の転送

パフォーマンス向上の機能です。Salesforce Edgeを経由するという記載がちょっと気になる。

[私のドメイン] とカスタムドメインに対する要求時間を短縮します。この更新では、[私のドメイン] とカスタムドメインのアドレスは同じままですが、要求は Salesforce Edge を経由します。Salesforce Edge は機械学習テクノロジを使用して、Salesforce への接続とパフォーマンスを改善します。

f:id:tyoshikawa1106:20200222081606p:plain


一度有効化すると戻せない部分については要注意です。
f:id:tyoshikawa1106:20200222081621p:plain


以前のバージョンからあったものも含まれていると思いますが、Spring'20で追加された重要な更新はこんな感じでした。けっこう影響を受ける更新も含まれているので早めに対処しておくのが良さそうです。