Salesforce Winter ’23 リリースノートの気になったリリースまとめ
こんにちは。木村です。先日10月12日(水)に弊社の公開勉強会「ゆるっとSalesforceトーク」でWinter '23リリースノートの輪読会をしました。
この記事では当日ピックアップしたリリースをまとめていきます。なお、リリースノートを読んだだけで触っていない機能も多いのでご了承ください。
カスタマイズ
弊社MatchingMapで使いたかったが、DISTANCE関数が使えないという謎制限があるので無理そう。残念。
サポートされるブラウザ
Salesforce Classic でサポートされるブラウザおよびデバイス
ついにIEが年内いっぱいで終了
Apex
DataWeave in Apex を使用したさまざまな形式へのデータ変換の有効化 (開発者プレビュー)
DataWeaveはMuleSoftのデータ変換用言語(参考)
CSVの変換とかApexでは苦手だったのでありがたい。外部API呼んだときのJSON→Apexインスタンス変換にも使えるかも。
無料で使えるのかは不明。たぶん使えそう?
https://github.com/developerforce/DataWeaveInApex ここにサンプルがあるのだが、「ERROR running force:org:create: DataWeaveInApex」は有効な機能値ではありません。と言われて動かなかった。
今までSystem.assertEqualsを使っていた箇所、今後Assert.areEqualを使っていきましょうねって話。
Assert.fail()、Assert.isNull()など意図がわかりやすいメソッドが追加されている。
パッケージ
うっかり本番組織で作ってしまった調査用ロック解除済みパッケージのゴミ掃除ができてありがたい。
メイン利用は会社の統合や買収のときだろう。
機能が追加されたわけではなく、管理パッケージに含めたときの動作についてドキュメントへの記載が増えたようだ。
調べてみると42コンポーネントが増えていた。
実際にパッケージを作って試さないと挙動がわからないことが多いので、情報が増えるのは助かる。
API
過剰取得の回避、API呼び出し頻度の抑制などがメリットだが、REST APIでSOQL実行できていたし、Composite APIもあるので、そこまでその辺りのメリットはSalesforceの場合は強くない。
スキーマが定義されていることでIDE連携やコードジェネレーションとの相性がよいことはよさそう。
参考)What is the GraphQL API? | GraphQL API | Salesforce Developers
Lightningコンポーネント
新しい Salesforce 組織でデフォルトで使用される Lightning Web セキュリティ
デフォルト有効になるらしいのでそろそろちゃんと調べておきたい。
Lightning Web セキュリティでの frame コンテンツへのアクセス
別ドメインでもアクセスできるらしい
参考)Lightning Web セキュリティ入門 - TerraSkyBase | テラスカイを支える人とテクノロジーの情報を発信する基地局
今まではSLDSの非グローバルなデザイントークンが使えてしまっていたが、今後は使えなくなるようだ。
LWCに標準でモーダルコンポーネントが追加される。
開発その他
フロー
Lightning Web コンポーネントを使用した画面フローの起動
LWCの中に画面フローを埋め込むことができるため、LWCを使った開発の幅が広がる。
待望のテーブルコンポーネントがついに使えるようになった
これまで要素をコピー&貼り付け&削除でAPI参照名を見直していたのが楽になった。
フローリソースとコレクション検索条件要素での数式ビルダーの使用
これまでフローには数式ビルダーがなかった。リソース変数の挿入ぐらいしかなかった。ちょっと楽になる。
フローでの [次に含まれる] および [次に含まれない] 演算子を使用した関連レコードの検索
待望のIN句、Not IN句が追加されるのが素敵
[レコードを更新] 要素を使用して [フローをトリガした objectName レコードに関連するレコードを更新] を選択します。次に、更新する関連レコードを選択します。検索条件を設定して、特定の関連レコードのみを更新することもできます。検索条件を指定していない場合、すべての関連レコードが更新されます。…とのこと。これまで関連レコードの更新のために[レコードの取得]要素を呼び出していたので、これもまた少しだけ楽になりそう。
レコードトリガフローを有効化する前に、フローをテストして、予期される結果をすばやく確認してフローの実行時エラーを特定できるようになった。
デバッグとテストの差
以前はフローを手動でデバッグし、エラーが発生するたびにトラブルシューティングを行っていた。
これを使うと現在はデバッグ実行からフローテストを作成して保存し、その後、フローを変更するたびにテストを実行してくれる。
以下は、考慮しておくこと
フローテストではレコードの削除時に実行されるフローはサポートされません
正式リリースされたことにより、即時実行以外にもスケジュール済みのパスも対応されるようになった。
デバッグ実行からテストを作成するには、[テストに変換] をクリックするとテストを作成してくれるらしい。
まだ、レコードトリガーフローだけらしい。
終わりに
Salesforceはリリースの度に機能が大量に追加されるのでついていくのが大変ですね。ちょっと偏ったリリースノートピックアップでしたが、参考になれば幸いです。
ゆるっとSalesforceトークは毎月開催しています。来月はSlackとSalesforceフローの連携のお話をする予定です。ゆるいイベントなのでぜひふらっとご参加ください。まだ次回イベントは未公開ですが、グループのメンバーになっていただけると通知が行きますので、よろしくお願いします。