テーブル駆動型トリガー管理 (TDTM) を使用したタスクの自動化
学習の目的
この単元を完了すると、次のことができるようになります。
- TDTM のユースケースを挙げる。
- EDA の TDTM 機能について説明する。
TDTM とは?
テーブル駆動型トリガー管理 (TDTM) は、Apex トリガーの管理に使用できるツールです。ここで、「Apex トリガーって何?」という疑問を抱くのではないかと思います。Apex トリガーとは基本的に、バックグラウンドで実行される自動化です。目にした可能性のある Apex トリガーの動作の例として、次のようなものが挙げられます。
- 取引先責任者を作成して (EDA の通常の処理として、取引先項目を空白のままにした) ときに、Apex トリガーによって取引先が作成される。
- 取引先責任者レコードにリレーションを追加したときに、Apex トリガーによって逆向きのリレーションが作成される。
- 取引先責任者レベルでアドレスを更新したときに、Apex トリガーによって対応する取引先レベルのアドレスが更新される。
つまり、TDTM があれば、こうした Apex トリガー (バックグラウンドの自動化) を最初から管理しやすくなります。TDTM にはさまざまな利点があります。下表に、TDTM によって Apex トリガーが管理しやすくなる方法がいくつかまとめられています。
Apex トリガーの管理 |
TDTM の手法 |
---|---|
拡大縮小
|
一度に多数の自動化機能 (Apex トリガー) を、不具合やエラーを発生させることなく管理します。 |
順序
|
操作の実行順序を管理して、エラーを最小限に抑えます。 |
柔軟性
|
必要に応じて、トリガーを有効または無効にします。 |
拡張性
|
独自のトリガーを追加して、EDA インフラストラクチャ内で機能させます。 |
パフォーマンス
|
トリガーが合理化されて管理されるため、データ更新の効率性が向上します。 |
複数のトリガーを同時に実行する場合、実行順序が定義されていないと大量のエラーが発生する可能性があります。TDTM がこの解決策になります! トリガーを整理して特定の順序で実行するため、処理が合理化され、エラーが最小限に抑えられます。Salesforce のトリガーのしくみを図示すると、次のようになります。
TDTM に対する変更
TDTM により、システム管理者の日常業務が円滑になり、効率性が向上します。TDTM のベストプラクティスを知っておくと、さらに役立ちます。
TDTM を使用するうえで重要なことは、トリガーハンドラーカスタムオブジェクトを理解することです。このオブジェクトの項目が、TDTM フレームワーク内に構築されたトリガーの動作を管理します。わずか数回のクリック操作でコードの動作を変更できます。
エクスペリエンスを最適なものにするために、トリガーハンドラーオブジェクトを使用してコードを無効化、カスタマイズ、ユーザー管理したいと思う状況があります。
コードを無効にする状況
|
コードをカスタマイズする状況
|
ユーザーによる管理コードを選択する状況
|
---|---|---|
|
|
ヒント: [ユーザーによる管理] チェックボックスをオンにすると、トリガーを引き継ぐことができます。 |
トリガーハンドラーの表示
教育機関のすべてのトリガーハンドラーレコードのリストを表示するには、[Trigger Handlers (トリガーハンドラー)] リストビューに移動します。このビューで、オブジェクト、クラス、読み込み順序の情報など、トリガーハンドラーに関するさまざまな情報を表示できます。[トリガーハンドラー] タブへのアクセスはシステム管理者に限定します。他のすべてのプロファイルからアクセス権を削除することがベストプラクティスです。
システム管理者プロファイルにログインしたら、次の手順に従ってトリガーハンドラーを表示します。
-
[トリガーハンドラー] タブをクリックします。トリガーハンドラーも他のハンドラーと同様にレコードであるため、リストビューを作成して、レコードを絞り込んだり並べ替えたりすることができます。完全リストを表示する場合は、[すべて] リストビューを選択します。
- デフォルトで [トリガーハンドラー] タブが表示されないことがあります。その場合は、[さらに表示] タブをクリックします。それでも表示されない場合は、アプリケーションランチャー () で、[Trigger Handlers (トリガーハンドラー)] を見つけて選択します。
- TDTM アーキテクチャにカスタム Apex クラスを含める場合は、リストビューの [New (新規)] をクリックして、そのクラスのトリガーハンドラーを追加します。
ここでは TDTM という機能について簡潔に説明しました。このトピックについては他にも学ぶことがたくさんあるため、TDTM のリソースの特選リストを作成しました。アクセスしやすいように、全リソースへのリンクが以下に記載されています。
次は、EDA のカスタマイズについて解説し、EDA 上にカスタマイズを構築する際に知っておくべきことを確認します。
リソース
- ブログ: Advanced Feature Management in Salesforce and Why It's So Important (Salesforce での高度な機能の管理とそれが重要な理由)
- Salesforce ヘルプ: Table-Driven Trigger Management (TDTM) Overview (テーブル駆動型トリガー管理 (TDTM) の概要)
- Salesforce ヘルプ: Manage Trigger Handlers for EDA (EDA のトリガーハンドラーの管理)
- Salesforce ヘルプ: Disable Trigger Handlers for EDA (EDA のトリガーハンドラーの無効化)
- Salesforce ヘルプ: Add the User Managed Field to the Trigger Handler Page Layout ([ユーザーによる管理] 項目の [トリガーハンドラー] ページレイアウトへの追加)