summer '12のワイルドな新機能+
DESCRIPTION
6月27日に開催された「Force.com Developer Group JP Meetup #1」 の発表資料。岡本ぶんTRANSCRIPT
Summer ’12 のワイルドな新機能+
岡本 充洋 Developer / Platform Marketing
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 2
@developerforcej / #forcedotcomjp
Developer Force Japan
facebook.com/developerforcejapan
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 3
新機能の前に・・・・
• 自己紹介 • 名前 :
岡本 充洋 • 会社 :
株式会社セールスフォース・ドットコム • やってること :
Force.com Platformのマーケティング Developer Force Japanの運営
• Force.com Dev User Groupでの役割 :
Salesforceから(主に食い物の)予算を捻出する ピザ & ビール発注担当
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 4
新機能の前に・・・・
• Developer Force(Japan)の役割 • Force.comの開発者がヒーローになるための情報を公開・
発信する • Force.com MVPを日本からもっとたくさんノミネートする
• 日本人第一号 – 讃岐さん • ディスカッションボードでの発言数 – 日本No1.
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 5
Safe Harbor Statement Safe harbor statement under the Private Securi4es Li4ga4on Reform Act of 1995: This presenta4on may contain forward-‐looking statements that involve risks, uncertain4es, and assump4ons. If any such uncertain4es materialize or if any of the assump4ons proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-‐looking statements we make. All statements other than statements of historical fact could be deemed forward-‐looking, including any projec4ons of subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future opera4ons, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services.
The risks and uncertain4es referred to above include -‐ but are not limited to -‐ risks associated with our new business model; our past opera4ng losses; possible fluctua4ons in our opera4ng results and rate of growth; interrup4ons or delays in our Web hos4ng; breach of our security measures; the immature market in which we operate; our rela4vely limited opera4ng history; our ability to expand, retain, and mo4vate our employees and manage our growth; risks associated with new releases of our service; and risks associated with selling to larger enterprise customers. Further informa4on on poten4al factors that could affect the financial results of salesforce.com, inc. are included in our registra4on statement (on Form S-‐1) and in other filings with the Securi4es and Exchange Commission. These documents are available on the SEC Filings sec4on of this Web site. Salesforce.com, inc. assumes no obliga4on and does not intend to update these forward-‐looking statements. Any unreleased services or features referenced in this or other press releases or public statements are not currently available and may not be delivered on 4me or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available.
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 6
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 7
Force.comのSummer '12の新機能ピックアップ
– 開発者コンソール機能強化 – スキーマビルダー機能強化 – 権限セット機能強化 – 関連フィールド機能強化 – Apex Code機能強化 – Visualforce機能強化
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 8
Developer Consoleの新機能 シンタックスハイライト 数値, 文字列, 予約語,プリミティブデータタイプ, 変数の宣言, 参照など
パフォーマンスツリーでシステムログのスタックが閲覧可能
ワークスペースの切り替えにも対応
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 9
全ての項目がドラッグ&ドロップで作成可能
項目を右クリックすることで項目レベルセキュリティの
設定が可能
スキーマビルダー正式リリース 機能強化
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 10
パレットに他のフローが表示され、ドラッグ&ドロップが可能
サブフロー要素を利用する事により、マスターフローからサブフロー
の呼び出しが可能
サブフロー要素を利用する事により、マスターフローからサブフロー
の呼び出しが可能
ビジュアルワークフローの機能強化 サブフロー
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 11
要素のコピー&ペーストが可能
要素のコピー&ペーストが可能
ビジュアルワークフローの機能強化 コピー&ペースト
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 12
権限セットの機能強化 アプリケーション表示設定に対応
権限セット編集メニューに「割り当てられたアプリケー
ション」が追加
割り当てるアプリケーションを選択
設定したアプリケーションが表示される
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 13
権限セットの機能強化 タブ表示設定に対応
タブの表示設定は権限セットメニューの「オブジェクト設定」より
行う
デフォルト表示/デフォルト非表示/タブを隠す を設定
デフォルト表示に設定されたタブはこのように画面上部に表示される
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 14
権限セットの機能強化 Visualforce/Apexクラスのアクセス権を管理する新しいsObject
Visualforceページ及びApexクラスへのアクセス権の情報をSOQLで取得できる
例えばユーザ/権限セットとVisualforce/Apexのリレーションを確認するための管理者向けツールの作成
が可能
新しいsObject “SetupEntityAccess”
※この画面イメージはWorkbenchから Metadata APIにアクセスしているものです
※この画面イメージは Workbenchから Metadata APIに アクセスしているものです
※この画面イメージは、Visualforceページの作成サンプルです
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 15
権限セットの機能強化 プロファイルに紐付いているかを表す項目
例えば”商談レコードの削除権限を持っているユーザ”を抽出した際に、それがプロファイルと権限セットのどちらで割り当て
られているかを判別可能
新しい項目 “IsOwnedByProfile”
管理者向けツールの作成例
割り当て方法がプロファイルか権限セットかで絞込みが可能
※この画面イメージはWorkbenchから Metadata APIにアクセスしているものです
※この画面イメージは Workbenchから Metadata APIに アクセスしているものです
※この画面イメージは、 Visualforceページの作成サンプルです
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 16
権限セットの機能強化 権限セットApex DML
権限セットの作成及びユーザへの割り当てをinsert/update/deleteで制御可能
VisualforceやApexで権限の一括割り当てツール等が作成可能に
※この画面イメージは、Visualforceページの作成サンプルです
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 17
インストール及びアンインストール時に実行するApexスクリプトを設定
パッケージ インストール/アンインストール時のApex自動実行
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 18
インストールスクリプトの例
アンインストールスクリプトの例
テストスクリプトの例
パッケージ インストール/アンインストール時のApex自動実行
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 19
オブジェクト利用状況 新しいオブジェクト制限ページ :カスタムオブジェクト (1)
取引先や取引先責任者のような標準オブジェクト の場合には、下記のナビゲートで確認できます。
設定| カスタマイズ | オブジェクト名 | 制限
ナビゲーション: カスタムオブジェクトの定義画面の下部にスクロー
ルします。 この画面イメージは「Evaluations」と命名された
カスタムオブジェクトの例です。
ヘルプリンクをクリックするとセールスフォースの制限値一
覧のページが開きます。
75%を超えた場合と、100%を超えた場合にメッセージを表示します。
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 20
ログインアクセスポリシー ユーザ側でのアクセス許可設定が不要に
管理者のユーザ代理ログイン機能の有効 / 無効を設定。
※本機能はデフォルトで有効化されていません。 ご利用の際は、Salesforce.comのサポートデスクまで
お問い合わせください。
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 21
ログインアクセスポリシー システム管理者の場合
“すべてのデータの編集” 権限があるシステム管理者
有効化 “前” 有効化 “後”
ユーザの代理ログインが可能
対象のユーザライセンス: Chatter Only Content Only
Force.com - Free Force.com - One App
Salesforce Ideas Only
Knowledge Only Salesforce Platform
Salesforce Platform Light Salesforce Platform One
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 22
項目リレーションの機能強化 新しい参照関係オプション
• 項目の必須化 • 参照レコード削除時の自動クリア(「項目の必須化」と排他関係)
• 参照レコードの削除禁止
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 23
項目リレーションの機能強化 主従関係定義の [親の変更を許可] オプション
子レコードを別の親に付け替え可能
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 24
APIの機能強化 SOQL Offset / Streaming API
SOQL Offset
・ SOQLクエリで返されるデータセットの結果の開始行を指定することが可能
• SOQL の結果全体の中から特定のサブセットを抽出する場合などに役立つ
• オフセットの計算は、サーバー上で行われ、サブセットの結果のみ返される為、全体の
結果を取得してからフィルターする方法と比較して効率的
• SOQL の結果の11行目から取得する場合の例:
SELECT Name FROM Merchandise__c WHERE Price__c > 5.0
ORDER BY Name LIMIT 100
OFFSET 10
Streaming API
• Streaming API Events の下記情報が確認可能:
• 過去24時間の利用実績 • 24時間に利用可能な 大数
• API 要求数にはカウントされず、別項目としてカウント(イベントが発生した場合にのみカ
ウント)
名前 > [設定] > 管理者設定 [組織プロファイル] > [組織情報]
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 25
APIの機能強化 SOAP API / Chatter Answers API Object / Chatter API Objects
Chatter API Objects
新しく追加されたChatter APIの詳細は下記リン
クを参照: http://developer.force.com/chatter-api
• フィード (プロファイル、自分宛、レコード
• ユーザ (メッセージ、フォロワー、フォロー、プロファイル、おすすめ、トピックのトレンド)
• グループ • コメント
• いいね! • フィードアイテム
• グループメンバー • Subscriptions (フォロー、フォロワー)
• ファイルリソース(new)
SOAP API
• 利用用途: 項目の変更可否に関するプロパ
ティを取得 • 拡張内容: 主従関係となっている特定の親
レコードから異なる親レコードへの変更可否に関するプロパティ情報を取得
コール: describeSObjects()
Chatter Answers API Object
• Reputation data アクセス:質問数、ベストアン
サー返答有無、投票結果、フォロワー、スコアー等
ChatterAnswersActivity
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 26
• VisualForceページ上で投稿フォームの表示 / 非表示を制御
Publisher (投稿フォーム) の表示
Publisher(投稿フォーム) の非表示
Visualforce の機能強化 Chatter 投稿フォームの表示 / 非表示の制御
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 27
Visualforce PDF 生成、カスタムラベル • PDF生成の 適化
– PDF生成が早くなります
– getter/setterなどコントローラのメソッドが2回呼ばれる問題も解消
– Version 25以降のみ有効化 → 既存コードには影響なし
• カスタムラベルの変更
– 今後作成する組織に関しては、カスタムラベルにHTMLが記述できなくなります
ü 既存組織は影響ありません。
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 28
Visualforce機能強化 – Javascript Remoting
• $RemoteActionによって、名前空間の解決が自動で行われる様になりました。
Visualforce.remoting.Manager.invokeAction( '{!$RemoteAction.MyController.getAccount}'', account, function(event, result){ ... }, {escape: true} );
名前空間を省略可能
メソッド引数
コールバックをハンドル
メソッドの結果をエスケープしたい場合に指定
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 29
Visualforce機能強化 – Javascript Remoting • @remoteac4onメソッドの引数にインタフェースを指定可能に
public class RemoteController {
public interface MyInterface{ String getMyString(); }
public class MyClass implements MyInterface{
private String myString;
public String getMyString(){ return myString; }
}
@RemoteAc4on
public sta4c MyInterface setMessage(MyInterface i) {
MyClass myC = new MyClass();
myC.setMyString('MyClassified says "' + i.getMyString() + '".');
return myC;
}
}
インタフェース定義
インタフェースをやり取り
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 30
Apex機能強化
• 新しいTypeメソッド – Type t = Type.forName(‘nameOfClass’); – Vehicle v = (Vehicle)t.newInstance();
• プリミティブ型以外のオブジェクトのListでもsortメソッドがサポートされる
• 非同期メソッドのテスト内での実行 – バッチおよびスケジュールApex – 現状: startTestとstopTestの中にあるもののみ実行 – V25以降: startTestとstopTestが定義されていない場合は、テストメソッド終了時に実行
• インバウンドEmailのスナップショットの取得 – 電子メールTo Salesforce、電子メールToケース、Apexメール – サービスに送られてきたメールのスナップショットが取得可能に
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 31
Apexの機能強化
• ガバナ制限 – クエリカーソルのリミットの拡大
• 5 → 50 • ただし、バッチApexのstartメソッド内部ではユーザあたり5
– バッチApexからのコールアウト数の拡大 • 1 → 10 • 一回のメソッド呼び出しあたり(start、finish、各executionの呼び出しあたり)
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 32
Apex機能強化
• コードカバレッジの計算方法が変わりました: - Apexテスト実行 > オプション....
• Clear Code Coverage: (required if using aggregated code coverage)
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 33
Site.com機能強化
• Zipファイルのアップロードが可能になりました – 階層構造も含めて保持
• 公開履歴
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 34
API の機能強化 Metadata REST API
• メタデータを REST API から参照可能
• カスタムオブジェクトの定義情報やページレイアウトなど、組織のカスタマイズ情報を取得することが可能
• Summer ‘12では参照のみ • 今後は更新、削除も対応予定
Metadata REST API Developer’s Guide http://www.salesforce.com/us/developer/docs/api_meta_rest/index.htm
PILOT
©Copyright 2000-2012 salesforce.com,inc. All rights reserved. 35
Force.comコミュニティを一緒に盛り上げましょう 次のヒーローはあなたです!!
THANK YOU @developerforcej facebook.com/developerforcejapan