目次
はじめに
皆様こんにちは!mitocoWorkチームの江田です。
この記事をご覧いただきありがとうございます。
この度、Dreamforceに初めて参加させていただきました!
まだコロナ禍の影響が残っていた2022年と比べ、今年は各国からの参加者数もコロナ禍前の水準に戻ってきているとのことで、会場はかなりの盛り上がりとなっておりました。
その中で今回は私から、Dreamforceで発表された「Apex Roadmap: What’s New and What’s Coming」のセッションについてご紹介いたします。
このセッションは、Apexに実装された最新の機能から、今後のロードマップについての情報を知ることができるものとなっておりました。
この記事をご覧いただきありがとうございます。
この度、Dreamforceに初めて参加させていただきました!
まだコロナ禍の影響が残っていた2022年と比べ、今年は各国からの参加者数もコロナ禍前の水準に戻ってきているとのことで、会場はかなりの盛り上がりとなっておりました。
その中で今回は私から、Dreamforceで発表された「Apex Roadmap: What’s New and What’s Coming」のセッションについてご紹介いたします。
このセッションは、Apexに実装された最新の機能から、今後のロードマップについての情報を知ることができるものとなっておりました。
(GA)User Mode実装によるアクセス権チェックのシンプル化
Apexでオブジェクトへアクセス権チェックを行う場合、従来は下記のようにisAccessible()を使う方法が主流となっておりました。
if (Schema.SObjectType.Account.isAccessible() && Schema.SObjectType.Account.fields.Name.isAccessible() && Schema.SObjectType.Account.fields.OwnerId.isAccessible() && Schema.SObjectType.Account.fields.Support__c.isAccessible() && Schema.SObjectType.Account.fields.OwnerId.getReferenceTo()[0].getDescribe().isAccessible() ) { return [SELECT Name, Owner.Name FROM Account WHERE Support__c = 'Premier']; } else { throw new AuraHandledException ( 'Access Denied'); }
isAccessible()を使用してアクセス権をチェック
今回追加されたUser Modeは、SOQL実行時に付加することで自動的にアクセス権チェックを行ってくれるようになります。
下記の通り、かなりシンプルなコードになるのでとても便利ですね!
下記の通り、かなりシンプルなコードになるのでとても便利ですね!
return [SELECT Name, Owner.Name FROM Account WHERE Support__c = 'Premier' WITH USER_MODE];
User Modeを使用したアクセス権チェック
将来的には、User Modeと権限セットを組み合わせてより細かいアクセス権チェックができるようになるとのことで、今後期待の機能です。
Apex開発者ガイドに記載がありますので、詳しくはそちらをご参照ください。
Apex開発者ガイドに記載がありますので、詳しくはそちらをご参照ください。
Enforce User Mode for Database Operations
Salesforce Developer Website
(Winter24)Queueableジョブ重複実行のチェック
非同期のApexジョブを実行する際のオプションとして、重複実行を検出することができるようになるとのことです。
こちらも開発者ガイドに記載がありましたので、詳しくはそちらをご参照ください。
こちらも開発者ガイドに記載がありましたので、詳しくはそちらをご参照ください。
Detecting Duplicate Queueable Jobs
Salesforce Developer Website
(Future)クエリカーソルの実装
こちらは将来的に実装される機能となります。
説明された内容を聞く限りでは、いわゆる一般的なDBの「カーソル」に近い仕組みがApexでも利用できるのでは?と考えられます。
サンプルコードでは、処理実行の現在位置を更新して、重複なくジョブ実行することを実現しておりました。
今後の発表に期待したいと思います!
説明された内容を聞く限りでは、いわゆる一般的なDBの「カーソル」に近い仕組みがApexでも利用できるのでは?と考えられます。
サンプルコードでは、処理実行の現在位置を更新して、重複なくジョブ実行することを実現しておりました。
今後の発表に期待したいと思います!
その他の機能追加
他にも様々な機能が今後実装されるようです。下記にセッションで紹介されていた情報を簡単に記載します。
・(Winter24)ListをComparatorを使用してソートする機能の追加
・(Winter24)Apex内でDataWeaveを使用して、データの読み取り、解析、変換、エクスポートが可能に
・(Spring24)NULL合体演算子の追加
・(Spring24)Apex内でZip読み取り、書き込みを標準でサポート
・(Spring24)Apex内で数式を動的に評価して、計算結果を取得することができるように
・(Winter24)ListをComparatorを使用してソートする機能の追加
・(Winter24)Apex内でDataWeaveを使用して、データの読み取り、解析、変換、エクスポートが可能に
・(Spring24)NULL合体演算子の追加
・(Spring24)Apex内でZip読み取り、書き込みを標準でサポート
・(Spring24)Apex内で数式を動的に評価して、計算結果を取得することができるように
ロードマップ
最後に今後のロードマップについて紹介がありました。
セッションでは具体的な説明がなかった機能もあり、今後も注目していく必要がありそうです。
セッションでは具体的な説明がなかった機能もあり、今後も注目していく必要がありそうです。
おわりに
ここまでご覧いただきありがとうございます。
Apexでさまざまな機能が続々とリリースされることがわかり、今後への期待が増しました!
機能開発にも活かせないか、是非検討していきたいと思っています。
Dreamforceは2日目以降も様々なセッションが開催されるので、引き続き注目して参加していきたいと思います!
Apexでさまざまな機能が続々とリリースされることがわかり、今後への期待が増しました!
機能開発にも活かせないか、是非検討していきたいと思っています。
Dreamforceは2日目以降も様々なセッションが開催されるので、引き続き注目して参加していきたいと思います!
<お知らせ>
10月4日(水)にTerraSkyDay 2023を開催します。
Salesforceの活用事例やテラスカイの製品・サービスの最新情報を紹介しますので、ぜひご参加ください。
10月4日(水)にTerraSkyDay 2023を開催します。
Salesforceの活用事例やテラスカイの製品・サービスの最新情報を紹介しますので、ぜひご参加ください。
25 件