イベントログの特徴は以下。
- 画面からは参照出来ない。APIからログを取得する必要がある。
- ログはEventLogFileオブジェクトに保存される。保存期間は30日。
- イベントログの項目は以下参照 developer.salesforce.com
イベントログの特徴は以下。
普通のRDBならテーブルのカラム構成によって1レコード当たりの容量が違うが、 Salesforceではカラムの数や設定に関わらず、カスタムオブジェクトは1レコード当たり2KBと決まっている。 勿論、実際に消費するHDDの領域は違うんだろうけど、Salesforceの使用出来るストレージ容量は常に2KB消費される。 標準オブジェクトはオブジェクト毎に決まっている。 これかなり意外だったなぁ。
参考:
カスタムオブジェクトには標準項目がいくつかつくが、カスタムオブジェクトページに表示されないものがいくつかある。 以下がそれ。
以下のようにprivateコンストラクタを定義して、コンストラクタにEnumに持たせたいデータを渡す。
public enum Channel { EMPLOYEE("employee"), AGENT("agent"), CUSTOMER("customer"), ; private final String text; private Channel(final String text) { this.text = text; } /** * チャネル種別の文字列表現 * @return */ public String getString() { return this.text; } /** * 文字列をEnumに変換する * @param id * @return */ public static Channel getChannel(final String id) { Channel[] types = Channel.values(); for (Channel type : types) { if (type.getString().equals(id)) { return type; } } return null; } }
参考:
原因はログイン先URLを間違えていることだった。
ログイン先の組織がsandboxの場合は
build.propertiesの sf.serverurl = https://login.salesforce.com
を sf.serverurl = https://test.salesforce.com
にしないといけない。
もっとわかりやすいエラーメッセージにしてよ。。
参考:
カスタムオブジェクトの項目は以下の項目であれば自動的にインデックスが作成されるがそれ以外にインデックスを 付けようとするとサポートに連絡して付けて貰わないといけない。
プライマリ キー(Id、Name、および、Owner 項目) 外部キー(参照 または 主従関係項目) Audit dates(SystemModStamp など) 外部 ID または ユニーク にマークされたカスタム項目
なかなか面倒だな。。
参考: リリースノート
SalesforceにはApexのガバナ制限以外にも、色んな制限がある。 以下の資料にまとめがあるので適宜参照する必要がある。
http://resources.docs.salesforce.com/206/19/ja-jp/sfdc/pdf/salesforce_app_limits_cheatsheet.pdf
制限の値などはちょくちょく変わるので最新版をさがすこと。 ガバナ制限で検索して一番上に出てきたので2年前の資料だった。。危ない。