Google Analytics with Force.com Site #1
Force.com サイトでGoogle Analyticsを利用する場合。
下記のヘルプが参考になりました。
Google Analytics を使用した Force.com Site の追跡
https://help.salesforce.com/apex/HTViewHelpDoc?id=sites_analytics_tracking_code.htm
基本的には書いてある通りにやれば、Google Analytics でトラッキングが確認できました。
Salesforce側で必要なことは、サイトに分析追跡コードを設定すること、Visualforceに、
<site:googleAnalyticsTracking/>
のタグを埋め込むだけ。
Salesforce側の設定については、下記の技術ブログも分かりやすいです。
Spring'16 ReleaseNote #2 - プロセスビルダー:ドラッグ&ドロップでプロセスの並べ替え
Easily Reorder Criteria in Your Process with Drag and Drop
http://docs.releasenotes.salesforce.com/en-us/spring16/release-notes/rn_forcecom_process_reorder_criteria.htm
プロセスビルダーで、ワークフローを作成している時に、
処理の順番の並べ替えがドラッグアンドドロップでできるようになるようです。
順番を変えたい時には、すべて作りなおす必要があったのでこれは便利ですね。
個人的にはワークフロールール&項目自動更新等より、
プロセスビルダーの方が好きなのでもっと流行れ!
Map<Id,List<sObject__c>>型に簡潔に格納する!
SOQLの検索結果をもとに、
valueがList型のMapを作成する場合にいつも使っている奴の紹介。
シンプルで綺麗な形にまとまるので、相当使い倒しています。
if (sampleMap.containskey(sampleKey)) { sampleMap.get(sampleKey).add(sampleRecord); } else { sampleMap.put(sampleKey, new List<SamplesObject__c>()); sampleMap.get(sampleKey).add(sampleRecord); }
Mapにkeyが含まれている場合は、valueのListにaddして、
含まれていない場合は、新しいListにaddしていくような感じですね。
含まれていない場合の書き方は、あんまり好きじゃないけど宣言時にsampleRecordを入れる方法もアリ。
APIから重複レコードを更新する際の考慮事項
データローダで数千件のレコードに対してupdateを行ったら、
何件かが下記のエラーになってしまいました。
Maximum Number Of Duplicate Updates In One Batch ( XXX Allowed). Attempt To Update Id More Than Once In This Api Call:
エラーメッセージで検索したらヘルプページが出てきて、ひと安心。
API から重複レコードを更新する際の考慮事項について
https://help.salesforce.com/apex/HTViewSolution?id=000199611&language=ja
お客さんから貰ったcsvをそのまま突っ込んだので、SalesforceIdの重複があったみたい。
ヘルプ読んだ感じだと、11件の重複レコードならエラー無くインポートされる…?
そもそも、重複があった時点で弾いて欲しいなあ。
Spring'16 ReleaseNote #1 - カスタムメタデータ型で選択リスト項目がサポート開始(Beta)
Salesforce Spring'16 Release Note #0
Salesforce Spring'16 Release Note
http://docs.releasenotes.salesforce.com/en-us/spring16/release-notes/salesforce_release_notes.htm
Spring'16のリリースノート公開されました。
何と言っても特筆すべきは…
この青色の蝶ですよね。
調べてみたら、どうやら「アサギマダラ」という蝶っぽい。
<script>と<apex:includeScript>
<script src="https://..." /> <apex:includeScript value="{!URLFOR($Resource.XXX)}" />
両者の違いについて。
併用するとエラーになることが多く、
何となくで回避してきたけど、下記にまとめてあって理解した。
http://www30304u.sakura.ne.jp/blog/?p=1800
HTML生成時に「apex:includeScript」タグを使ったプラグインの方はhead配下で読み込まれるが、
素のscriptタグを使ったjQuery本体はもっと下のbody近くで読み込まれるようになり、読み込み順が逆転してエラー
ということらしい。
エラーということだけど、
この読み込みタイミングの違いを使って、抜け道的な実装ができそう。