Skip to main content

テーブル駆動型トリガー管理 (TDTM) を使用したタスクの自動化

学習の目的

この単元を完了すると、次のことができるようになります。

  • TDTM のユースケースを挙げる。
  • EDA の TDTM 機能について説明する。
メモ

このモジュールでは、Education Cloud の管理パッケージバージョンに関する情報を提供しています。2023 年 3 月以降、新しいお客様と移行したお客様は、管理パッケージではなく統合プラットフォームソリューションを使用します。統合プラットフォームソリューションについての詳細は、Education Cloud のドキュメントを参照してください。

TDTM とは?

テーブル駆動型トリガー管理 (TDTM) は、Apex トリガーの管理に使用できるツールです。ここで、「Apex トリガーって何?」という疑問を抱くのではないかと思います。Apex トリガーとは基本的に、バックグラウンドで実行される自動化です。目にした可能性のある Apex トリガーの動作の例として、次のようなものが挙げられます。

  • 取引先責任者を作成して (EDA の通常の処理として、取引先項目を空白のままにした) ときに、Apex トリガーによって取引先が作成される。
  • 取引先責任者レコードにリレーションを追加したときに、Apex トリガーによって逆向きのリレーションが作成される。
  • 取引先責任者レベルでアドレスを更新したときに、Apex トリガーによって対応する取引先レベルのアドレスが更新される。

つまり、TDTM があれば、こうした Apex トリガー (バックグラウンドの自動化) を最初から管理しやすくなります。TDTM にはさまざまな利点があります。下表に、TDTM によって Apex トリガーが管理しやすくなる方法がいくつかまとめられています。

Apex トリガーの管理 

TDTM の手法

拡大縮小

一度に多数の自動化機能 (Apex トリガー) を、不具合やエラーを発生させることなく管理します。

順序 

操作の実行順序を管理して、エラーを最小限に抑えます。

柔軟性

必要に応じて、トリガーを有効または無効にします。

拡張性

独自のトリガーを追加して、EDA インフラストラクチャ内で機能させます。

パフォーマンス

トリガーが合理化されて管理されるため、データ更新の効率性が向上します。

複数のトリガーを同時に実行する場合、実行順序が定義されていないと大量のエラーが発生する可能性があります。TDTM がこの解決策になります! トリガーを整理して特定の順序で実行するため、処理が合理化され、エラーが最小限に抑えられます。Salesforce のトリガーのしくみを図示すると、次のようになります。

Salesforce のトリガーのフロー

TDTM に対する変更

TDTM により、システム管理者の日常業務が円滑になり、効率性が向上します。TDTM のベストプラクティスを知っておくと、さらに役立ちます。

TDTM を使用するうえで重要なことは、トリガーハンドラーカスタムオブジェクトを理解することです。このオブジェクトの項目が、TDTM フレームワーク内に構築されたトリガーの動作を管理します。わずか数回のクリック操作でコードの動作を変更できます。

エクスペリエンスを最適なものにするために、トリガーハンドラーオブジェクトを使用してコードを無効化、カスタマイズ、ユーザー管理したいと思う状況があります。

コードを無効にする状況

コードをカスタマイズする状況 

ユーザーによる管理コードを選択する状況

  • 大量のデータセット (一度に数千件のレコード) をインポートする
  • 外部システムと統合する
  • コードのエラーをトラブルシューティングする
  • オブジェクトごとにトリガーを 1 つ設定する
  • 既存の TDTM インフラストラクチャに (独自の機能を作成するのではなく) アドオンを使用する
  • 独自のトリガーを作成して TDTM/EDA に接続している

ヒント: [ユーザーによる管理] チェックボックスをオンにすると、トリガーを引き継ぐことができます。

トリガーハンドラーの表示

教育機関のすべてのトリガーハンドラーレコードのリストを表示するには、[Trigger Handlers (トリガーハンドラー)] リストビューに移動します。このビューで、オブジェクト、クラス、読み込み順序の情報など、トリガーハンドラーに関するさまざまな情報を表示できます。[トリガーハンドラー] タブへのアクセスはシステム管理者に限定します。他のすべてのプロファイルからアクセス権を削除することがベストプラクティスです。 

システム管理者プロファイルにログインしたら、次の手順に従ってトリガーハンドラーを表示します。

  1. [トリガーハンドラー] タブをクリックします。トリガーハンドラーも他のハンドラーと同様にレコードであるため、リストビューを作成して、レコードを絞り込んだり並べ替えたりすることができます。完全リストを表示する場合は、[すべて] リストビューを選択します。
  2. デフォルトで [トリガーハンドラー] タブが表示されないことがあります。その場合は、[さらに表示] タブをクリックします。それでも表示されない場合は、アプリケーションランチャー (アプリケーションランチャーアイコン) で、[Trigger Handlers (トリガーハンドラー)] を見つけて選択します。
    [トリガーハンドラー] タブの [すべて] リストビュー
  3. TDTM アーキテクチャにカスタム Apex クラスを含める場合は、リストビューの [New (新規)] をクリックして、そのクラスのトリガーハンドラーを追加します。

ここでは TDTM という機能について簡潔に説明しました。このトピックについては他にも学ぶことがたくさんあるため、TDTM のリソースの特選リストを作成しました。アクセスしやすいように、全リソースへのリンクが以下に記載されています。

次は、EDA のカスタマイズについて解説し、EDA 上にカスタマイズを構築する際に知っておくべきことを確認します。

リソース

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む