カスタム設定を作成して取得してみる
カスタム設定、というカスタムオブジェクトの一種でSOQLいらずでもっと手軽に扱える カスタム設定 とうものを知ったので、
作り方から使い方を調べてみた。
カスタム設定はカスタムオブジェクトと類似しており、アプリケーション開発者は、カスタムデータセットの作成の他に、組織、プロファイル、または特定のユーザに対しカスタムデータを作成して関連付けることができます。
https://help.salesforce.com/HTViewHelpDoc?id=cs_about.htm&language=ja
今回は全体で使用する、環境変数、としてカスタム設定を作成してみた。
作成
[開発] → [カスタム設定] にアクセス。
まずは新規でカスタム設定、を作る。
オブジェクトのようなもの。

今回は以下のように作成した。
| 項目 | 内容 | |
|---|---|---|
| 表示ラベル | 環境変数 | |
| オブジェクト名 | EnvironmentVars | |
| 設定種別 | リスト | |
| 表示 | 公開 | |
| 説明 |

設定種別は、リスト、と、階層、があり、
階層、は、ユーザーやプロファイルごとに同じ項目で違う値を設定したり出来るよう。
どのユーザーが使用しているかによって変数の値を変更できるようになるので、
そういうことを実現したい時に便利っぽい。
今回は全員同じにしたいので、リスト、にしておいた。
また、表示、は、公開・保護、とある。
公開、だとSOAP APIでも取得できるようになったり、とオープンな状態?になるよう。
特に秘匿する内容でもないので、公開、にしておいた。
次に作成したカスタム設定内にカスタム項目を追加する。
作成したカスタム設定から、新規、をクリック。

通常の項目作成と同じ流れで、型を選択し、内容を埋めていく。
今回は以下のように作成した。
目的としては、SitesのURLを環境変数として持っておくためのもの。
| 項目 | 内容 | |
|---|---|---|
| 型 | テキスト | |
| 項目の表示ラベル | Sites | |
| 文字数 | 255 | |
| 項目名 | Sites | |
| 説明、など |

ここまででオブジェクトと項目が作成出来たので、実際にデータを入れていく。
作成したカスタム設定のManegeをクリック。

リストが表示されるので、新規、をクリック。

内容を記入して保存。

取得
作成したデータをApexで取得する。
前述の通り、取得の際にはSOQLを発行する必要がなく、以下のようにメソッドレベルで取得可能。
1 2 3 4 5 6 | |
まとめ
SOQLを発行しないので、ガバナ的にも優しく、内容はキャッシュされるので動作も高速。
環境変数のように決まった値であれば便利に使えるかもしれない。