dackdive's blog

新米webエンジニアによる技術ブログ。JavaScript(React), Salesforce, Python など

Summer'14 リリースノートの個人的に気になった機能メモ

タイトルの通り、本当に自分が気になった項目だけ。
リリースノートはこちら

Apex

  • describeのガバナ制限がなくなった。

  • 標準価格表とカスタム価格表の価格表エントリがテストで作成できるように。
    Test.getStandardPricebookId()メソッドで標準価格表のIDを取得。

後で見るようにテストコードのサンプル。

@isTest
public class PriceBookTest {
    // Utility method that can be called by Apex tests to create price book entries.
    static testmethod void addPricebookEntries() {
        // First, set up test price book entries.
        // Insert a test product.
        Product2 prod = new Product2(Name = 'Laptop X200', Family = 'Hardware');
        insert prod;

        // Get standard price book ID.
        // This is available irrespective of the state of SeeAllData.
        Id pricebookId = Test.getStandardPricebookId();
        // 1. Insert a price book entry for the standard price book.
        // Standard price book entries require the standard price book ID we got earlier.
        PricebookEntry standardPrice = new PricebookEntry(
        Pricebook2Id = pricebookId, Product2Id = prod.Id, UnitPrice = 10000, IsActive = true);
        insert standardPrice;

        // Create a custom price book
        Pricebook2 customPB = new Pricebook2(Name='Custom Pricebook', Active=true);
        insert customPB;
        // 2. Insert a price book entry with a custom price.
        PricebookEntry customPrice = new PricebookEntry(
        Pricebook2Id = customPB.Id, Product2Id = prod.Id,
        UnitPrice = 12000, IsActive = true);
        insert customPrice;
        // Next, perform some tests with your test price book entries.
    }
}

Usage Metrics(利用状況統計値)

利用状況総計値の可視化。
Sandbox組織とベータ版パッケージの情報は不可。

取れるもの

  1. カスタムオブジェクト

カスタムオブジェクトの件数:1日1回取得される、スナップショット。
ファイルはこんな感じ。

"00Dxx0000001gbk","org1","Enterprise Edition","TRIAL","Alpha", "3500"
"00Dxx0000001gbk","org1","Enterprise Edition","TRIAL","Beta", "1500"

上はカスタムオブジェクトAlphaBetaがそれぞれ3500件、1500件あったことを示す。

  1. Visualforce ページ ファイルはこんな感じ。
"00Dxx0000001gbk","org1","Enterprise Edition","TRIAL","/apex/gm12__f1","1","1","66.0"
"00Dxx0000001gbk","org1","Enterprise Edition","TRIAL","/apex/gm12__f2","1","1","128.0"
"00Dxx0000001gbk","org1","Enterprise Edition","TRIAL","/apex/gm12__f3","1","1","107.0"
"00Dxx0000001gbf","org1","Enterprise Edition","TRIAL","/apex/gm12__f1","5","1","73.6"
"00Dxx0000001gbf","org1","Enterprise Edition","TRIAL","/apex/gm12__f2","1","1","72.0"
"00Dxx0000001gbf","org1","Enterprise Edition","TRIAL","/apex/gm12__f3","7","1","50.8"

左から

  • 組織 ID
  • 組織名
  • 組織のエディション
  • 組織のステータス
  • Visualforce ページの名前
  • ページがアクセスされた回数
  • ページにアクセスしたユニークユーザ数
  • ページの平均読み込み時間 (ミリ秒)

データはMetricsDataFileオブジェクトに格納される。

必要な組織

  • リリース組織 — パッケージのアップロードに使用する Developer Edition 組織。
  • レポート組織 — 利用状況データが毎日配信される組織。

レポート組織として環境ハブを使用することをオススメ(らしい)

Usage Metrics Visualization

アプリがAppExchangeから出ているみたいなのでインストールする。

※※2014/07/14追記※※
アプリはUSのAppExchangeでしか公開できていないので注意しよう。
また、アプリは未管理パッケージで提供されるのでコードの参考になるかも。

LMAでのSandboxインストールのサポート

Sandboxにパッケージがインストールされた時のライセンスを作成する