...

Salesforce.com Winter `13 リリースノート

by user

on
Category: Documents
331

views

Report

Comments

Transcript

Salesforce.com Winter `13 リリースノート
Salesforce.com: Winter ’13
Salesforce.com Winter '13 リリースノート
最終更新日: 2012/10/16
Copyright 2000–2012 salesforce.com, inc. All rights reserved. Salesforce.com、"no software" ロゴ、および Team Edition は、salesforce.com,
inc. の登録商標です。また、AppExchange、"Success On Demand"、および "The Business Web" は、salesforce.com, inc. の商標で
す。本ドキュメントに記載されたその他の商標は、各社に所有権があります。
| 目次 |
目次
リリースノートについて....................................................................................................................4
リリースノートの内容...........................................................................................................................................................4
フィードバックについて.......................................................................................................................................................4
リリースノートの変更内容.................................................................................................................5
Winter '13 の機能と Salesforce ユーザへの影響の概要........................................................................7
全般的な機能強化...................................................................................................................................................................7
Chatter の機能強化..................................................................................................................................................................7
Sales Cloud の機能強化...........................................................................................................................................................9
Service Cloud の機能強化......................................................................................................................................................10
分析の機能強化.....................................................................................................................................................................13
Mobile の機能強化................................................................................................................................................................13
Site.com の機能強化..............................................................................................................................................................13
Force.com の機能強化...........................................................................................................................................................14
全般的な機能強化.............................................................................................................................22
Salesforce コミュニティ (パイロット).................................................................................................................................22
ブラウザの機能強化.............................................................................................................................................................22
Chatter..............................................................................................................................................24
アンケート.............................................................................................................................................................................24
Chatter タブ移動の機能強化................................................................................................................................................24
Chatter 影響度計算の機能強化............................................................................................................................................25
投稿の操作の改善.................................................................................................................................................................26
Chatter デスクトップの機能強化........................................................................................................................................27
プレビューリンク.................................................................................................................................................................28
Chatter の Work.com — パイロット....................................................................................................................................29
リッチメディアプレビューのシステム管理者設定..........................................................................................................31
Chatter のその他の機能強化................................................................................................................................................31
Chatter REST API の機能強化............................................................................................................................................35
Sales Cloud........................................................................................................................................39
売上予測の機能強化.............................................................................................................................................................39
商談チームの機能強化.........................................................................................................................................................43
Salesforce for Outlook の機能強化........................................................................................................................................48
Shared Activities の機能強化.................................................................................................................................................52
Sales Cloud のその他の機能強化.........................................................................................................................................57
Service Cloud.....................................................................................................................................58
i
| 目次 |
ケースフィードの機能強化.................................................................................................................................................58
Chatter アンサー....................................................................................................................................................................66
アイデア.................................................................................................................................................................................71
Live Agent の機能強化..........................................................................................................................................................76
Service Cloud コンソール......................................................................................................................................................76
Salesforce Knowledge..............................................................................................................................................................81
Service Cloud のその他の機能強化......................................................................................................................................86
分析...................................................................................................................................................89
エクスポート可能な結合レポート......................................................................................................................................89
ダッシュボードの結合レポート.........................................................................................................................................89
ダッシュボードの散布図.....................................................................................................................................................90
機能強化されたレポートタブのサポートの追加..............................................................................................................91
モバイル............................................................................................................................................92
Salesforce Touch.....................................................................................................................................................................92
Salesforce Mobile SDK.........................................................................................................................................................100
Data.com.........................................................................................................................................101
Data.com 製品スイートの概要...........................................................................................................................................101
Site.com...........................................................................................................................................102
ページのブレッドクラム...................................................................................................................................................102
更新されたメニューソースオプション............................................................................................................................102
メニューおよびブレッドクラムでのページの表示........................................................................................................103
サイトマップのリンク.......................................................................................................................................................103
編集権限のカスケード.......................................................................................................................................................103
編集可能なページ要素のデフォルトのコンテンツ........................................................................................................104
改善されたデータ要素でのリンク....................................................................................................................................104
新しい状況列.......................................................................................................................................................................105
「ネストされたテンプレート」から「子テンプレート」への名称変更.....................................................................105
繰り返しおよび繰り返し要素の名称変更........................................................................................................................105
Force.com........................................................................................................................................106
地理位置情報のカスタム項目 – ベータ............................................................................................................................106
組織権限セット...................................................................................................................................................................107
Visual Workflow の機能強化...............................................................................................................................................109
スキーマビルダーの機能強化...........................................................................................................................................116
セキュリティの機能強化...................................................................................................................................................117
開発者コンソールの機能強化...........................................................................................................................................119
接続アプリケーション — パイロット..............................................................................................................................129
API の機能強化...................................................................................................................................................................130
Apex コードの機能強化......................................................................................................................................................139
Visualforce Charting — 正式リリース................................................................................................................................164
ii
| 目次 |
Visualforce のその他の機能強化........................................................................................................................................168
メジャーアップグレードの転送.......................................................................................................................................177
環境ハブ (パイロット)........................................................................................................................................................184
Force.com のその他の機能強化.........................................................................................................................................185
iii
リリースノートについて
リリースノートについて
リリースノートは、Salesforce の最新リリースに関する総合的なユーザガイドです。Salesforce リリースノートは、
新機能や強化機能、そしてそれらをすぐに活用するために必要な情報を提供します。
リリースノートの内容
リリースノートでは、新しい重要な機能強化について次の情報を提供します。
•
機能に関する簡潔で詳細な説明
•
設定と管理の開始にあたって役に立つ実装のヒント
•
メリットを最大限に引き出すのに役立つベストプラクティス
•
詳細な説明
主な新機能以外のメール、新しいレポートタイプ、セキュリティとパッケージなど、最新リリースに含まれるそ
の他の機能強化や機能変更の一覧と簡単な説明は、その他の機能強化の章に記載されています。
salesforce.com の最新リリースを使いこなすためのガイドとして、リリースノートをお役立てください。
フィードバックについて
Salesforce で貴社が成功を収めるには、リリースノート、オンラインヘルプ、およびドキュメントがいかに重要で
あるかを認識しています。提供するコンテンツの継続的な向上のために、成功要因と失敗要因を把握したいと考
えています。情報のご提供をお待ちしております。
•
フィードバックフォーム — オンラインヘルプと Developer Force の開発者ガイドの各 HTML ドキュメント
ページに、ドキュメントに関する提案、修正、およびフィードバックを送信するためのフィードバックフォー
ムがあります。ご意見をお寄せください。
•
IdeaExchange — こちらでもアイデアを承っています。Winter '13 では、上位のアイデアをいくつか採用してい
ます。Winter '13 に導入されているアイデアの詳細は、「IdeaExchange」 を参照してください。
新しいドキュメントを公開したときや、既存のドキュメントに重要な更新を行ったときにお知らせいたしますか?
Twitter でのフォロー: @salesforcedocs
4
リリースノートの変更内容
リリースノートの変更内容
リリースノートの更新履歴へようこそ。新しいリリースノートごとの変更内容のすべてがここに記載されていま
す (最新の更新が最上部にあります)。
日付
更新内容
説明
2012 年 10 月 3
日
ワークフローの評価条件の操作性 顧客のフィードバックに基づいて、ユーザインターフェー
の機能強化
スおよびドキュメントのワークフローの評価条件の分野に
加えられた変更内容が更新されました。
2012 年 10 月 3
日
Chatter の機能強化
2012 年 10 月 3
日
[ポータルユーザへの所有者の変更 [ポータルユーザへの所有者の変更用テンプレート] がポータル
Chatter レポートは、利用する場合は Chatter に新しいカス
タムレポートタイプが必要であるため、「自動的には表示
されません。機能は有効化されていますが、いくつかの設
定が必要です。」というメッセージが表示されるように更
新されました。
用テンプレート] が選択されてい に設定されていない場合、メール通知の動作を正確に反映
ない場合のカスタマーポータルの するようにタイトルおよび情報を更新しました。
メール通知の新しい動作および
[ポータルユーザへの所有者の変更
用テンプレート] が選択されてい
ない場合のパートナーポータルの
メール通知の新しい動作
2012 年 10 月 3
日
D-U-N-S 番号による検索
D-U-N-S 番号で Salesforce を検索できること示すように
Data.com ユーザの機能強化セクションに項目を追加しまし
た。
2012 年 9 月 26
日
Chatter の Work.com — パイロッ Work.com 機能のセクションを追加しました。
ト
2012 年 9 月 21
日
ヘルプ & トレーニングの機能強 ヘルプ & トレーニングセクションに新しい Service Cloud ワー
化
クブックおよび更新された分析ワークブックを追加しまし
た。
2012 年 9 月 21
日
商談チームの既知の制限
2012 年 9 月 21
日
ヘルプ & トレーニングの機能強 Winter '13 での新規の動画やドキュメントまたは更新された
化
動画やドキュメントのリストを表示するヘルプ & トレーニ
ングセクションを追加しました。
2012 年 9 月 21
日
Chatter デスクトップの機能強化 2012 年 10 月中旬以降に利用可能になる新機能のリストを追
加しました。
2012 年 9 月 13
日
地理位置情報のカスタム項目 –
ベータ
商談チームメンバーのタブおよび表示ラベルの名称変更に
関する既知の制限を追加しました。
地理位置情報のカスタム項目 (ベータ) に関するお知らせを
追加しました。
5
リリースノートの変更内容
日付
更新内容
説明
2012 年 9 月 12
日
接続アプリケーション — パイ
ロット
接続アプリケーションに関するお知らせを追加しました。
2012 年 9 月 12
日
Salesforce Touch
Salesforce Touch を有効にするプロセスを更新しました。
Salesforce カスタマーサポートに最初に連絡を取ることなく
すべての組織が自動的に利用できるようになりました。た
だし、ユーザがアクセスする前に、Salesforce のシステム管
理者が Salesforce Touch を有効化する必要があります。ま
た、Salesforce Touch 設定ページを若干変更しました。
Touch App への参照を削除しました。Salesforce Touch のダ
ウンロード可能なバージョンが公開されるときに、これら
のリリースノートを更新します。
2012 年 9 月 12
日
環境ハブ (パイロット)
2012 年 9 月 12
日
エクスポート可能な結合レポート 印刷用結合レポートを使用できるエディションを追加しま
した。
2012 年 9 月 12
日
他の一括処理ジョブからの一括処 Apex 一括処理ジョブの変更を通知するセクションを追加し
理ジョブの開始
ました。
2012 年 9 月 12
日
地理位置情報のカスタム項目 –
ベータ
2012 年 9 月 12
日
Chatter および Salesforce コミュニ Salesforce コミュニティおよび一部の Chatter の機能を使用
ティ (パイロット)
できるエディションを追加しました。
2012 年 9 月 12
日
<apex:chart> のパーセント指定 小規模な新機能である Visualforce グラフをピクセルだけで
2012 年 9 月 12
日
Visualforce でのエスケープ動作へ Visualforce でのこの変更に関する待機中の重要な更新の通知
の変更に関する CRUC 通知
に関する詳細を追加しました。
によるサイズ変更
2012 年 9 月 5 日 ブラウザの機能強化
環境ハブのエディションの表を追加しました。
地理位置情報項目のエディションの表を更新しました。
なくパーセントを指定してサイズ変更できる機能の詳細を
追加しました。
Internet Explorer® 6 のサポートの終了に関する注意を追加し
ました。
2012 年 9 月 5 日 新しいアクセストークンメソッド Auth.AuthToken Apex クラスの新しい getAccessTokenMap
メソッドの項目を追加しました。
6
Winter '13 の機能と Salesforce ユーザへの影響の概要
Winter '13 の機能と Salesforce ユーザへの影響の概要
Winter '13 には、リリース後にすべてのユーザにすぐに影響を与える機能が含まれています。その変更に対して
準備ができるようにリリース前にユーザに通知してください。その他の機能については、ユーザが新機能を利用
する前にシステム管理者による対応が必要です。
次の表には、Winter '13 の機能とユーザへの影響がまとめられています。ご使用の Salesforce のエディションに関
連する機能の詳細を確認してください。
全般的な機能強化
機能
すべてのユーザに すべての管理者に 自動的には表示さ この機能を有効に
自動的に表示され 自動的に表示され れません。機能は
するには、
ます。設定は不要 ます。設定は不要 有効化されていま salesforce.com に
です。
です。
すが、いくつかの 連絡してくださ
設定が必要です。
い。
Salesforce コミュニティ (パイロット)
ブラウザの機能強化
Chatter の機能強化
機能
すべてのユーザに すべての管理者に 自動的には表示さ この機能を有効に
自動的に表示され 自動的に表示され れません。機能は
するには、
ます。設定は不要 ます。設定は不要 有効化されていま salesforce.com に
です。
です。
すが、いくつかの 連絡してくださ
設定が必要です。
い。
アンケート
Chatter タブ移動の機能強化
Chatter 影響度計算の機能強化
投稿の操作の改善
Chatter デスクトップの機能強化
プレビューリンク
Chatter の Work.com — パイロット
7
Winter '13 の機能と Salesforce ユーザへの影響の概要
機能
すべてのユーザに すべての管理者に 自動的には表示さ この機能を有効に
自動的に表示され 自動的に表示され れません。機能は
するには、
ます。設定は不要 ます。設定は不要 有効化されていま salesforce.com に
です。
です。
すが、いくつかの 連絡してくださ
設定が必要です。
い。
リッチメディアプレビューのシステ
ム管理者設定
Salesforce コミュニティ (パイロット)
Chatter Messenger の機能強化 (Winter
'13 リリース後 24 時間以内にリリー
ス)
Chatter レポート
アンケートを含むフィードの並び替
えの改善
投稿の表示
更新された Chatter のアイコンとボ
タン
Chatter フィード検索表示ラベルの変
更
Chatter データへのアクセスを承認さ
れた外部アプリケーションの表示
使用されていないレコード登録の
フォロー解除
Google による Salesforce での Google
トークのサポート停止
Chatter REST API の機能強化
8
Winter '13 の機能と Salesforce ユーザへの影響の概要
Sales Cloud の機能強化
機能
すべてのユーザに すべての管理者に 自動的には表示さ この機能を有効に
自動的に表示され 自動的に表示され れません。機能は
するには、
ます。設定は不要 ます。設定は不要 有効化されていま salesforce.com に
です。
です。
すが、いくつかの 連絡してくださ
設定が必要です。
い。
Chatter の人のフロート表示の使用
(担当者のフロート表示)
売上予測カスタムレポートタイプを
作成
すべての通貨で売上予測マネージャ
による売上予測の調整が可能
商談ペインの設定可能な売上予測リ
ストビュー
商談チームのカスタマイズ
商談チームの既知の制限
チームセリング設定の有効化
チームセリング設定の無効化
商談チームの複数行レイアウトの編
集
商談チームの使用
商談チームへのメンバーの追加
定期的な行動の同期
メールの関連付けでの時間の節約
行動の Shared Activities
Shared Activities の有効化
取引先責任者の親取引先への活動の
積み上げ集計
Event オブジェクトおよび
EventAttendee オブジェクトの変更
[新規ドキュメントのアップロード]
ページの表示ラベルの変更
9
Winter '13 の機能と Salesforce ユーザへの影響の概要
機能
すべてのユーザに すべての管理者に 自動的には表示さ この機能を有効に
自動的に表示され 自動的に表示され れません。機能は
するには、
ます。設定は不要 ます。設定は不要 有効化されていま salesforce.com に
です。
です。
すが、いくつかの 連絡してくださ
設定が必要です。
い。
[ポータルユーザへの所有者の変更用テ
ンプレート] が選択されていない場合
のパートナーポータルのメール通知
の新しい動作
Salesforce コミュニティ (パイロット)
Service Cloud の機能強化
機能
すべてのユーザに すべての管理者に 自動的には表示さ この機能を有効に
自動的に表示され 自動的に表示され れません。機能は
するには、
ます。設定は不要 ます。設定は不要 有効化されていま salesforce.com に
です。
です。
すが、いくつかの 連絡してくださ
設定が必要です。
い。
ケースフィードの機能強化
ケースフィードの新しいカスタマイ
ズオプション
ケースフィードでのカスタムパブ
リッシャー
ケースフィードで使用できる新規
フィード項目
メールドラフトと承認
ケースフィードでの Chatter アンサー
のサポート
ケースフィードのスマートメールテ
ンプレート
ケースフィードの外観の更新
インタラクション API での新しい
ケースフィードメソッド
Chatter アンサーの機能強化
10
Winter '13 の機能と Salesforce ユーザへの影響の概要
機能
すべてのユーザに すべての管理者に 自動的には表示さ この機能を有効に
自動的に表示され 自動的に表示され れません。機能は
するには、
ます。設定は不要 ます。設定は不要 有効化されていま salesforce.com に
です。
です。
すが、いくつかの 連絡してくださ
設定が必要です。
い。
Chatter アンサーの評価を使用したコ
ミュニティの参加促進
Visualforce ページを使用したポータ
ルの Chatter アンサーのカスタマイ
ズ
ポータルへのカスタム Visualforce
ページの追加
[質問] タブからの質問の作成
フィードの質問と回答の機能強化
質問をカスタマイズする新しいオプ
ション
質問のテキストの書式設定および質
問への写真の追加
フィードからの名前と写真への API
アクセス
Chatter アンサーからサインインリン
クを削除するためのオプション
Chatter アンサーの質問と返信の新し
い制限
カスタマーポータルの機能強化
[ポータルユーザへの所有者の変更用テ
ンプレート] が選択されていない場合
のカスタマーポータルのメール通知
の新しい動作
Salesforce コミュニティ (パイロット)
アイデアの機能強化
Service Cloud コンソールを使用した
アイデアコミュニティの進行
アイデアのテーマ
アイデアのテーマのカスタマイズ
11
Winter '13 の機能と Salesforce ユーザへの影響の概要
機能
すべてのユーザに すべての管理者に 自動的には表示さ この機能を有効に
自動的に表示され 自動的に表示され れません。機能は
するには、
ます。設定は不要 ます。設定は不要 有効化されていま salesforce.com に
です。
です。
すが、いくつかの 連絡してくださ
設定が必要です。
い。
Live Agent の機能強化
Live Agent 設定での [退席中] 自動表
示オプション
Salesforce ナレッジの機能強化
Salesforce ナレッジの小規模な機能強
化
API による記事タイプへのアクセス
記事に使用できる差し込み印刷テン
プレート
ナレッジの共有ルール
公開リンクを使用した記事の共有
自動ナレッジ条件検索 - ベータ
Service Cloud コンソールの機能強化
Service Cloud コンソールのカスタム
ホットキー
Service Cloud コンソールのユーザ
セッションの自動保存
Service Cloud コンソール統合ツール
キット: 複数のドメイン
Service Cloud コンソール統合ツール
キット: コンソール通知
12
Winter '13 の機能と Salesforce ユーザへの影響の概要
分析の機能強化
機能
すべてのユーザに自
動的に表示されま
す。設定は不要で
す。
すべての管理者
に自動的に表示
されます。設定
は不要です。
自動的には表示さ この機能を有効に
れません。機能は
するには、
有効化されていま salesforce.com に
すが、いくつかの 連絡してくださ
設定が必要です。
い。
結合レポートの印刷とエクスポー
ト
ダッシュボードの結合レポート
ダッシュボードの散布図
機能強化されたレポートタブのサ
ポートの追加
Mobile の機能強化
機能
すべてのユーザに すべての管理者に 自動的には表示さ この機能を有効に
自動的に表示され 自動的に表示され れません。機能は
するには、
ます。設定は不要 ます。設定は不要 有効化されていま salesforce.com に
です。
です。
すが、いくつかの 連絡してくださ
設定が必要です。
い。
Salesforce Touch
Site.com の機能強化
機能
すべてのユーザに すべての管理者に 自動的には表示さ この機能を有効に
自動的に表示され 自動的に表示され れません。機能は
するには、
ます。設定は不要 ます。設定は不要 有効化されていま salesforce.com に
です。
です。
すが、いくつかの 連絡してくださ
設定が必要です。
い。
ページのブレッドクラム
13
Force.com の機能強化
機能
すべてのユーザに すべての管理者に 自動的には表示さ この機能を有効に
自動的に表示され 自動的に表示され れません。機能は
するには、
ます。設定は不要 ます。設定は不要 有効化されていま salesforce.com に
です。
です。
すが、いくつかの 連絡してくださ
設定が必要です。
い。
更新されたメニューソースオプショ
ン
メニューおよびブレッドクラムでの
ページの表示
サイトマップのリンク
編集権限のカスケード
編集可能なページ要素のデフォルト
のコンテンツ
改善されたデータ要素でのリンク
新しい状況列
「ネストされたテンプレート」から
「子テンプレート」への名称変更
繰り返しおよび繰り返し要素の名称
変更
Force.com の機能強化
権限セットの機能強化
機能
すべてのユーザに すべての管理者に 自動的には表示さ この機能を有効に
自動的に表示され 自動的に表示され れません。機能は
するには、
ます。設定は不要 ます。設定は不要 有効化されていま salesforce.com に
です。
です。
すが、いくつかの 連絡してくださ
設定が必要です。
い。
組織権限セット
14
Force.com の機能強化
Visual Workflow の機能強化
機能
すべてのユーザに すべての管理者に 自動的には表示さ この機能を有効に
自動的に表示され 自動的に表示され れません。機能は
するには、
ます。設定は不要 ます。設定は不要 有効化されていま salesforce.com に
です。
です。
すが、いくつかの 連絡してくださ
設定が必要です。
い。
Cloud Flow Designer の検索コント
ロール
Cloud Flow Designer のズームコント
ロール
新しい種別のフロー画面項目
Visualforce コントローラによるサブ
フロー変数へのアクセス
フローの移動オプション
Cloud Flow Designer の使用を開始す
るためのリソース
Cloud Flow Designer の操作性に関す
るその他の機能強化
ヘルプテキストとユーザ入力規則
メッセージの差し込み項目
デスクトップ Flow Designer での新
規 API バージョンのサポート終了
デスクトップ Flow Designer のリン
クとドキュメント
15
Force.com の機能強化
スキーマビルダーの機能強化
機能
すべてのユーザに すべての管理者に 自動的には表示さ この機能を有効に
自動的に表示され 自動的に表示され れません。機能は
するには、
ます。設定は不要 ます。設定は不要 有効化されていま salesforce.com に
です。
です。
すが、いくつかの 連絡してくださ
設定が必要です。
い。
スキーマビルダーによるカスタムオ
ブジェクトの削除
セキュリティの機能強化
機能
すべてのユーザに すべての管理者に 自動的には表示さ この機能を有効に
自動的に表示され 自動的に表示され れません。機能は
するには、
ます。設定は不要 ます。設定は不要 有効化されていま salesforce.com に
です。
です。
すが、いくつかの 連絡してくださ
設定が必要です。
い。
認証プロバイダの検出と外部ユーザ
へのリンク
OAuth 2.0 べアラーアサーション要
求の更新
OAuth 2.0 JWT べアラートークンフ
ロー
新しい認証プロバイダのパラメータ
[私のドメイン] のログインポリシー
の明示的な設定
クリックジャック保護を使用可能
サービスプロバイダの起動による要
求のバインド
新しい getAccessTokenMap メソッ
ド
接続アプリケーション — パイロッ
ト
16
Force.com の機能強化
機能
すべてのユーザに すべての管理者に 自動的には表示さ この機能を有効に
自動的に表示され 自動的に表示され れません。機能は
するには、
ます。設定は不要 ます。設定は不要 有効化されていま salesforce.com に
です。
です。
すが、いくつかの 連絡してくださ
設定が必要です。
い。
この機能は、新しい Development
Edition を使用している組織のすべて
のユーザに表示されます。既存の
Development Edition 組織またはその
他の組織でこの機能を有効にするに
は、salesforce.com までお問い合わせ
ください。
開発者コンソールの機能強化
機能
すべてのユーザに すべての管理者に 自動的には表示さ この機能を有効に
自動的に表示され 自動的に表示され れません。機能は
するには、
ます。設定は不要 ます。設定は不要 有効化されていま salesforce.com に
です。
です。
すが、いくつかの 連絡してくださ
設定が必要です。
い。
テストツール
クエリエディタ
システムログビューのパースペク
ティブ
コマンドラインウィンドウ
ビュー間の移動
キーボードショートカットの表示
開発者コンソールへの更新の再開
17
Force.com の機能強化
API の機能強化
機能
すべてのユーザに すべての管理者に 自動的には表示さ この機能を有効に
自動的に表示され 自動的に表示され れません。機能は
するには、
ます。設定は不要 ます。設定は不要 有効化されていま salesforce.com に
です。
です。
すが、いくつかの 連絡してくださ
設定が必要です。
い。
API の機能強化
SOQL 多態性 — 開発者プレビュー
SOSL の機能強化
接続アプリケーション — パイロッ
ト
この機能は、新しい Development
Edition を使用している組織のすべて
のユーザに表示されます。既存の
Development Edition 組織またはその
他の組織でこの機能を有効にするに
は、salesforce.com までお問い合わせ
ください。
Apex コードの機能強化
機能
すべてのユーザに すべての管理者に 自動的には表示さ この機能を有効に
自動的に表示され 自動的に表示され れません。機能は
するには、
ます。設定は不要 ます。設定は不要 有効化されていま salesforce.com に
です。
です。
すが、いくつかの 連絡してくださ
設定が必要です。
い。
対応付けキーとセットの非プリミ
ティブ型
コールアウトのテストのサポート
新しい ID.getSObjectType メソッ
ド
新しい String メソッド
18
Force.com の機能強化
機能
すべてのユーザに すべての管理者に 自動的には表示さ この機能を有効に
自動的に表示され 自動的に表示され れません。機能は
するには、
ます。設定は不要 ます。設定は不要 有効化されていま salesforce.com に
です。
です。
すが、いくつかの 連絡してくださ
設定が必要です。
い。
静的リソースからのテストデータの
読み込み
Golbal である必要がなくなった
Global Interface メソッドの実装
新しい Type.toString メソッド
引数の文字列変換を行うために
toString を使用する
String.valueOf および
System.debug
Apex で使用可能な SOQL 多態性 —
開発者プレビュー
追加の組み込みデータ型への JSON
サポート
コードカバー率のパーセント値の詳
細
newSObject メソッドを使用したデ
フォルト値を持つ sObjects の作成
他の一括処理ジョブからの一括処理
ジョブの開始
新しい getVariableValue メソッド
新規ネットワーククラスとメソッド
新しいメッセージメソッド
新しいアクセストークンメソッド
Support.EmailTemplateSelector
インターフェース
パラメータ化されたインターフェー
スがサポートされなくなった
19
Force.com の機能強化
Visualforce の機能強化
機能
すべてのユーザに すべての管理者に 自動的には表示さ この機能を有効に
自動的に表示され 自動的に表示され れません。機能は
するには、
ます。設定は不要 ます。設定は不要 有効化されていま salesforce.com に
です。
です。
すが、いくつかの 連絡してくださ
設定が必要です。
い。
Visualforce Charting — 正式リリース
support:caseFeed コンポーネント
Chatter アンサーコミュニティの
NoSignIn オプション
JavaScript Remoting の機能強化
パススルー HTML 属性
Internet Explorer の条件付きコメント
のサポート
連動選択リストのインライン編集
カスタムコンポーネントの対応付け
属性
<apex:inputText> を使用したリス
トおよび対応付けへの動的参照
<apex:outputField> の数式項目の
処理の改善
エスケープ動作への変更
Null 値を使用する式の評価への変
更
<apex:sectionHeader> のヘルプ
URL への制限事項と入力規則
20
Force.com の機能強化
ISVforce の機能強化
機能
すべてのユーザに すべての管理者に 自動的には表示さ この機能を有効に
自動的に表示され 自動的に表示され れません。機能は
するには、
ます。設定は不要 ます。設定は不要 有効化されていま salesforce.com に
です。
です。
すが、いくつかの 連絡してくださ
設定が必要です。
い。
メジャーアップグレードの転送
環境ハブ (パイロット)
Force.com のその他の機能強化
機能
すべてのユーザに すべての管理者に 自動的には表示さ この機能を有効に
自動的に表示され 自動的に表示され れません。機能は
するには、
ます。設定は不要 ます。設定は不要 有効化されていま salesforce.com に
です。
です。
すが、いくつかの 連絡してくださ
設定が必要です。
い。
ワークフローの評価条件の操作性の
機能強化
カスタムオブジェクトの切り捨て
使用されていない Sandbox の保存ポ
リシー
フル Sandbox の設定
開発者 Sandbox および設定 Sandbox
以外のポータルユーザ
ベトナム語ロケールの東洋の氏名の
表示順序
ユーザインターフェース要素のブラ
ンド設定のマイナー変更
Platform ポータルユーザライセンス
の更新
21
全般的な機能強化
Salesforce コミュニティ (パイロット)
使用可能なエディション: Unlimited Edition、Developer Edition、および Enterprise Edition
メモ: Salesforce コミュニティは、パイロットプログラムで利用可能です。組織がコミュニティパイロッ
トを利用する条件を満たしているかどうかは、salesforce.com の担当者にお問い合わせください。
コミュニティは、カスタマイズ可能な、従業員、エンドカスタマー、およびパートナーがベストプラクティスや
ビジネスプロセスにおいて共同作業を行うための、公開または非公開グループです。さまざまな目的で、組織内
に複数のコミュニティを作成できます。たとえば、企業とそのパートナーがチャネルビジネスを話し合うための
コミュニティを作成したり、開催予定のイベント専用のコミュニティを使用したりすることができます。
次のようにして、ビジネスニーズを満たすようにコミュニティをカスタマイズできます。
•
自社から参加できるメンバーと、参加できる顧客、パートナー、または社外のその他の人を選択する
•
どの Salesforce 機能を組み込むかを選択する
•
コミュニティを認識しやすくするために企業ブランド設定を追加する
•
従業員、顧客、およびパートナーが Chatter やビジネスプロセス (レコード) でコラボレーションできるように
する
•
コミュニティ用の公開ページと認証が必要なページを作成する
•
社外のユーザがシングルサインオンを使用できるように、SAML に基づいてログインオプションを有効化す
る
メモ: コミュニティ内の Salesforce ナレッジ記事の URL が変更されました。Winter '13 以前に保存したコ
ミュニティの記事のリンクまたはブックマークをリセットしてください。
ブラウザの機能強化
Salesforce は、Microsoft® Internet Explorer® 10 をサポートするようになりました。その他のブラウザのサポートの
更新には次のものがあります。
•
Microsoft® Internet Explorer® 7 用 Google Chrome Frame™ プラグインがサポートされるようになりました。
•
Apple® Safari® バージョン 5.1.x が Mac OS X でサポートされるようになりました。
Summer '12 で、Internet Explorer® 6 のサポートは終了しました。このブラウザで以前に機能していた既存の機能
は、2014 年まで継続して動作する予定です。Internet Explorer® を使用する場合は、最新バージョンを使用するこ
22
全般的な機能強化
ブラウザの機能強化
とをお勧めします。ブラウザのサポートの詳細は、「サポートされるブラウザ」 (Salesforce オンラインヘルプ)を
参照してください。
23
CHATTER
アンケート
使用可能なエディション: Group Edition、Professional Edition、Enterprise Edition、Unlimited Edition、Contact
Manager Edition、および Developer Edition
Winter '13 から、フィードでアンケートを作成できます。アンケートは、選択肢のリストを指定して他のユーザ
の意見を得たり、データを収集したりするのに便利です。たとえば、年次販売会議の計画を任されており、最も
多くの人が会議に出席できる日を確認する必要があるとします。販売組織内のすべての人にメールを送信する代
わりに、販売組織の Chatter グループにアンケートを作成して、そのアンケート内に開催可能日をリストし、最
も都合のよい日を各人にたずねることができます。
アンケートの投稿
1. フィードの上にある [アンケート] をクリックします。
2. テキストボックスに質問を入力します。
ハッシュタグを追加したり、他のユーザにメンションしたりすることができます。
3. 少なくとも 2 つの選択肢を入力してください。
選択肢をさらに追加するには、[選択肢をさらに追加] をクリックします。最大 10 個の選択肢を入力できま
す。
4. フォロワーまたはグループのどちらにアンケートを投稿するのかを選択します。
グループにアンケートを投稿するときは、ドロップダウンリストからグループの名前を選択します。
5. [共有] をクリックして、アンケートを投稿します。
アンケートまたは投稿へのアクセス権を持っている人はすべて、いずれかの選択肢を選択して [投票] をクリック
し、投票を送信できます。ユーザが投票できるのは 1 票のみですが、投票を変更することもできます。
Chatter タブ移動の機能強化
Chatter タブのサイドバーを折りたたんで Chatter タブの移動を効率化しました。Chatter タブの左サイドバーに、
すべてのフィードを含む
フィードが表示されるようになりました。各フィードの内容は以前と同じですが、
名前のみ変更し、1 つの移動条件に統合しました。
24
Chatter 影響度計算の機能強化
Chatter
[フィード] をクリックすると使用可能なフィードが表示され、いずれかのフィードをクリックすると関連付
けられた投稿のサブセットが表示されます。
自分がフォローするもの
以前は「私の Chatter」と呼ばれていたフィードで、フォローしている人や自分がメンバーであるグループ
からの投稿や、フォローしているファイルとレコードなど、自分がフォローしているものがすべて表示さ
れます。投稿のサブセットをさらに絞り込むには、フィード上部のドロップダウンリストを使用します。
自分に送信
以前は「@自分」と呼ばれていたフィードで、自分のプロファイルフィードに他のユーザが行った投稿と、
自分がメンションされた投稿が表示されます。
ブックマーク
このフィードの名前は変更されていません。ブックマークした投稿がフィードに表示されます。
すべての会社
以前は「すべての Chatter」と呼ばれていたフィードで、会社全体からの投稿とコメントがすべて表示され
ます。
また、この新しい移動操作に合わせて「Chatter」という表現を「フィード」に変更し、アプリケーションの他の
場所にある Chatter という語をすべて削除しました。たとえば、[ホーム] タブの [Chatter を表示] および [Chatter
を非表示] リンクはそれぞれ [フィードを表示] および [フィードを非表示] に変更されました。
Chatter 影響度計算の機能強化
Chatter 活動の統計情報には、自分が行った投稿やコメントの数、受け取ったコメントの数、自分の投稿とコメ
ントにいいね! と言った人の数などが含まれます。Chatter 影響度には、自分の活動統計と他の人の統計との比較
が表示されます。影響度は相対的に計算されるため、組織によってはユーザがそれほど多くの活動をしなくても
すぐにトップインフルエンサーになる可能性があります。また、組織によっては、トップインフルエンサーにな
るユーザの数が多すぎると感じられる場合もあります。Winter ‘13 では、組織の活動パターンにより適した Chatter
活動のしきい値をカスタマイズする機能が導入されました。ユーザを計算に組み入れるために必要な最小限の活
動を指定して、組織の Chatter 影響度計算方法を調整できるようになりました。
25
投稿の操作の改善
Chatter
Chatter 影響度のカスタマイズ
Chatter 影響度の計算を改善するには、Chatter 活動しきい値をカスタマイズします。
使用可能なエディション: Group Edition、Professional Edition、Enterprise Edition、Unlimited Edition、Contact
Manager Edition、および Developer Edition
必要なユーザ権限
Chatter 影響度をカスタマイズする
「アプリケーションのカスタマイズ」
1. あなたの名前 > [設定] > [カスタマイズ] > [Chatter] > [影響度] をクリックします。
2. 最小活動しきい値を変更するには、[編集] をクリックします。
すべての最小活動しきい値はデフォルトで 0 に設定されています。0 以外のしきい値を設定する場合、3 つの
最小値のすべてを満たしているユーザ以外はオブザーバーとみなされ、組織内のユーザの相対ランクを計算
するときにカウントされません。3 つの最小値すべてを満たしているが、アクティブインフルエンサーやトッ
プインフルエンサーと比較して活動数値が相対的に低いユーザもオブザーバーとみなされますが、影響度の
計算時にカウントされます。
3. [保存] をクリックします。
Chatter 影響度は、これらの値を保存すると再計算されます。
警告: 新しいしきい値を設定するときは、ユーザの影響度がすぐに変更される可能性があるので注意
が必要です。
投稿の操作の改善
以前より簡単に投稿できるようになりました。[ホーム] タブ、Chatter タブ、または自分のプロファイルから直
接、自分のフォロワーまたは自分がメンバーとして属しているすべてのグループに投稿できるようになりまし
た。
1. フィードの上部にある [投稿]、[ファイル]、[リンク]、または[アンケート] を選択します。
2. テキストボックスに投稿について入力します。
3. テキストボックスの下のドロップダウンリストから、[私のフォローされている人]または[グループ]を選択し
ます。
グループに投稿するときは、[グループを検索]項目にグループ名の一部を入力し、ドロップダウンリストから
グループを選択します。
4. [共有] をクリックします。
26
Chatter デスクトップの機能強化
Chatter
Chatter デスクトップの機能強化
使用可能なエディション: Group Edition、Professional Edition、Enterprise Edition、Unlimited Edition、Contact
Manager Edition、および Developer Edition
Chatter デスクトップは、Web ブラウザ以外の Chatter でのコラボレーションを可能にして生産性を向上するデス
クトップアプリケーションです。最新バージョンでは、Chatter Messenger for Desktop が導入されました。Chatter
Messenger for Desktop では、Chatter デスクトップアプリケーションから直接組織の 1 人または複数の人とチャッ
トすることができます。
また、このバージョンでは、次の操作を実行できます。
•
コメントにいいね! と言う
•
投稿またはコメントにいいね! と言った人のリストを表示する
•
コメントに添付されたファイルを表示する
•
ダッシュボードスナップショットを表示する
•
共有メッセージを表示する
2012 年 10 月中旬以降、次の操作を実行できます。
•
コメントにファイルを添付する
•
名前 (ファーストネーム) で並び替えたチャットリストを表示する
•
Chatter グループの最終活動日を表示する
•
複数のチャットをより簡単に表示する
•
チャット可能な人を識別してチャットのお気に入りを並び替える
•
より頻繁にフィード更新を表示する
•
Chatter フィード用および投稿にファイルをドラッグアンドドロップするための改善されたアイコンを表示す
る
新しいコンポーネントを使用したフィードの改良、#トピックの後に @メンションを追加できない問題を含む、
複数のバグが修正されました。
Chatter デスクトップの標準インストールを許可している組織では、Chatter デスクトップから現在のユーザに更
新されたバージョンをインストールするかどうかを確認するメッセージが表示されます。更新されたバージョン
は、あなたの名前 > [設定] > [デスクトップ統合] > [Chatter デスクトップ] からもインストールできます。
Chatter デスクトップの管理インストーラを使用している組織では、システム管理者のみがユーザを新バージョ
ンにアップグレードできます。
27
プレビューリンク
Chatter
プレビューリンク
使用可能なエディション: Group Edition、Professional Edition、Enterprise Edition、Unlimited Edition、Contact
Manager Edition、および Developer Edition
Winter ‘13 から、フィードで、YouTube コミュニティからの動画に加えて他の複数のリンクをプレビューできま
す。これらのリッチメディアプレビューは、サードパーティサービスの Embed.ly によって動作します。現在、
次のドメインのプレビューリンクがサポートされています。
•
YouTube
•
Vimeo
•
Mashable
•
Techcrunch
•
NYTimes
•
ReadWriteWeb
•
SoundCloud
コンテンツ、ユーザ、組織、取引先データは Embed.ly と共有されません。共有されるのはドメインホワイトリ
ストにある URL のみです。ホワイトリストには現在上記の 7 ドメインのみが含まれます。さらに、URL 要求は
すべて Salesforce プロキシを通過します。つまり、Embed.ly がクライアントから直接コールを受け取ることはな
く、URL 要求を行ったユーザに関する情報を知ることはありません。
プレビューリンクの共有
1. フィードの上にある [リンク] をクリックします。
2. いずれかのサポート対象ドメインへのリンク URL を入力します。
3. リンクの名前を入力するか、[リンク名] 項目を空白のままにします。
リンク名を指定すると、その名前が使用されます。[リンク名] 項目を空白のままにすると、プレビューでは
サイト URL のタイトルまたは名前がリンク名に入力されます。
4. [共有] をクリックします。
フィードに投稿が表示された後、投稿が (動画 URL の) サムネイル、説明、動画プレーヤーなど、リッチメディ
アプレビューに変換されます。フィードの投稿でリンクがリッチプレビューとして表示されない場合、そのリン
クの URL ドメインがサポートされていないか、Embed.ly が URL のプレビューコンテンツを返せなかったと考
えられます。
リッチメディアプレビューは、リンク投稿でサポートされますが、投稿のテキスト本文に追加された URL では
サポートされません。
28
Chatter の Work.com — パイロット
Chatter
Chatter の Work.com — パイロット
使用可能なエディション: Professional Edition、Enterprise Edition、Unlimited Edition、および Developer Edition
メモ: この機能は、現在パイロットプログラムで使用可能です。組織でのこの機能の有効化については、
salesforce.com にお問い合わせください。
Work.com は、従業員を検索して連携したり、従業員の意欲を喚起したりすることのできる人的資源管理製品の
スイートです。Winter '13 より、Chatter に一部の Work.com 機能が統合されています。Chatter で、感謝投稿を作
成して、同僚の功績を認めたり、Work.com プロファイルの内容を参照したりできるようになりました。
組織での Work.com の有効化
1. 名前 > [設定] > [カスタマイズ] > [Work.com] > [Work.com 感謝] をクリックします。
2. [有効化] を選択して、[保存] をクリックします。Work.com ログインダイアログが表示されます。
3. 組織用の Work.com ユーザ名とパスワードを入力します。これは、Salesforce の認証情報とは異なります。
Work.com アカウントをまだ作成していない場合は、Work.com ログインページでアカウントをサインアップ
することができます。Work.com アカウントへのログインの完了後は、Salesforce と Work.com との間の接続を
承認するよう求められます。
4. [承認] をクリックします。
Work.com 機能を無効にするには、名前 > [設定] > [カスタマイズ] > [Work.com] > [Work.com 感謝] をクリックし
て、[有効化] の選択を解除します。Chatter パブリッシャーでは [感謝] アクションを表示できなくなります。た
だし、以前に作成した感謝投稿は削除されないため、投稿した場所に引き続き表示されている可能性がありま
す。
Chatter での感謝投稿の作成
組織で Work.com が有効になっている場合、Chatter パブリッシャーに [感謝] ボタンが表示されます。同僚の功
績を認める感謝投稿を作成する手順は、次のとおりです。
1. Chatter パブリッシャーで [感謝] をクリックします。投稿に必要なさまざまな項目を入力できるドロップダウ
ンフォームが表示されます。
メモ: [感謝] を初めてクリックするときは、Work.com へのログインが必要になります。Work.com の
ユーザ名およびパスワードは Salesforce のログイン認証情報とは異なります。Work.com アカウントが
まだない場合は、このログイン画面でアカウントをサインアップすることができます。Work.com に
ログインすると、Salesforce と Work.com との間の接続を承認するよう求められます。[承認] をクリッ
クして、このプロセスを実行します。この操作により感謝機能が有効になり、それ以降、再度ログイ
ンを求められことはありません。
29
Chatter
Chatter の Work.com — パイロット
2. 感謝したい人の名前を入力します。現在は、感謝投稿の対象として選択できる受信者は 1 名のみです。ただ
し、投稿の本文で @メンションを使用してその他の人にメンションすることはできます。この方法は、相手
に直接感謝することとは異なりますが、メンションされた人に感謝投稿について知らせることができます。
3. 必要に応じて、投稿に関連付けられているバッジを変更できます。各投稿には Work.com の自分の会社の設定
に基づいて、デフォルトのバッジが割り当てられています。他のより具体的なバッジを選択し、この投稿に
関連付けるには、[バッジを変更] をクリックします。表示されるポップアップウィンドウで、使用可能なバッ
ジを参照し、最も適切なバッジをクリックします。バッジをクリックすると、その詳細が表示され、そのバッ
ジを投稿用に選択したり、戻って他のバッジを選択したりすることができます。ポップアップウィンドウを
閉じると、他のバッチの選択をいつでも中止することができます。
メモ: 新しいバッジを作成する場合は、Work.com にログインする必要があります。現在、Salesforce
内で新しいバッジを作成することはできません。
4. 受信者に感謝する理由の詳細を入力します。テキストの本文で @メンションを使用してその他の人にメンショ
ンすることができます。この方法は、相手に直接感謝することとは異なりますが、メンションされた人にこ
の投稿について知らせることができます。
5. [共有] をクリックして、投稿の作成を完了します。フィードに投稿が表示され、感謝の受信者に通知されま
す。また、投稿の説明テキストで @メンションを使用してメンションされたすべての人にも通知されます。
Chatter グループまたは標準レコードページ (リード、取引先、商談、ケースなど) から投稿すると、そのグルー
プまたはレコードのウォールに投稿されます。グループまたはレコードをフォローしているすべての人のフィー
ドにもこの投稿が表示されます。感謝投稿の受信者には必ず通知されます。
Chatter での Work.com プロファイルコンテンツの表示
組織で Work.com が有効になっており、システム管理者が Chatter プロファイルでの Work.com のプロファイル
コンテンツの表示も有効化している場合は、Chatter プロファイル (自分のプロファイルを含む) を表示すると、
左側に [Work.com] ボタンが表示されます。これにより、他の人の Chatter プロファイルだけでなく、Work.com
プロファイルも参照できます。
メモ: [Work.com] を初めてクリックするときは、Work.com のユーザ名およびパスワードを使用してサイ
ンインする必要があります。Work.com のユーザ名およびパスワードは Salesforce のログイン認証情報と
は異なります。Work.com アカウントがまだない場合は、このログイン画面でアカウントをサインアップ
することができます。Work.com にログインすると、Salesforce と Work.com との間の接続を承認するよう
求められます。このプロセスを実行するには、[承認] をクリックします。
Work.com プロファイル (自分のプロファイルを含む) を表示すると、表示されているコンテンツを参照したり、
操作したりできます。
30
Chatter のその他の機能強化
リッチメディアプレビューのシステム管理者設定
リッチメディアプレビューのシステム管理者設定
リンク投稿で、リッチメディアプレビューの有効化または無効化ができるようになりました。リッチメディアコ
ンテンツへのリンクを含む投稿は動画 URL のサムネイル、説明、動画プレーヤーなどのプレビューとして表示
されます。リッチメディアコンテンツは、サードパーティサービスの Embed.ly によって提供されます。
コンテンツ、ユーザ、組織、取引先データは Embed.ly と共有されません。共有されるのはドメインホワイトリ
ストにある URL のみです。ホワイトリストには現在 YouTube、Vimeo、Mashable、Techcrunch、NYTimes、
ReadWriteWeb、および SoundCloud ドメインのみが含まれます。URL 要求はすべて Salesforce プロキシを通過し
ます。つまり、Embed.ly がクライアントから直接コールを受け取ることはなく、URL 要求を行ったユーザに関
する情報を知ることはありません。
リッチメディアプレビューは、デフォルトで有効になっています。リッチメディアプレビューを無効にした場
合、ユーザがプレビューできるのは YouTube コミュニティからの動画のみです。
リッチメディアプレビューの有効化と無効化
リンク内のリッチメディアプレビューは、デフォルトで有効になっています。
1. あなたの名前 > [設定] をクリックします。
2. [アプリケーションの設定] の下で、[カスタマイズ] > [Chatter] > [設定] をクリックします。
3. [編集] をクリックします。
4. [リッチリンクプレビューを許可] を選択します。
5. [保存] をクリックします。
フィードの投稿でリンクがリッチプレビューとして表示されない場合、そのリンクの URL ドメインがサポート
されていないか、Embed.ly が URL のプレビューコンテンツを返せなかったと考えられます。
Chatter のその他の機能強化
Chatter Messenger の機能強化
Chatter Messenger に一定期間のチャット履歴が保存されるようになりました。他のユーザとチャットを開始する
と、過去 72 時間のそのユーザとの会話は自動的に表示されます。過去 72 時間以内のすべての会話のリストを表
示する手順は、次のとおりです。
1. チャットヘッダーをクリックして、チャットウィンドウを展開します。
2.
をクリックします。
3. チャット履歴を表示する相手の名前をクリックします。
31
Chatter のその他の機能強化
Chatter レポート
また、複数のブラウザタブを切り替えても、チャットとチャット履歴は保持されます。
Chatter レポート
使用可能なエディション: Group Edition、Professional Edition、Enterprise Edition、Unlimited Edition、Contact
Manager Edition、および Developer Edition
2 つの新しいカスタムレポートタイプを作成できるようになりました。一方は、Chatter の活動統計情報と影響度
を示し、もう一方は組織がどのようにハッシュタグ (#) トピックを使用しているかを示します。Chatter の活動統
計情報と影響度を使用してカスタムレポートタイプを定義するときは、[Chatter 活動] 主オブジェクトを選択
し、次の項目から選択します。
•
コメント数: 親が行ったコメントの数
•
受信したコメント数: 親が受信したコメントの数
•
影響力の未加工ランク: 親の影響力を示す数字であり、組織内の他のユーザに対する親の相対的な Chatter 活
動統計情報に基づいて算出される
•
受信したいいね! の数: 親が受信したいいね! の数
•
親: ユーザ名
•
投稿数: 親が行った投稿の数
ハッシュタグ (#) トピックの使用状況データを使用してカスタムレポートタイプを定義するときは、[ハッシュタ
グ定義] 主オブジェクトを選択して、次の中から使用する項目を選択します。
•
作成日: ハッシュタグトピックが作成された日付
•
ハッシュタグテキスト: ハッシュタグ (#) の後に続くテキスト
•
標準化されたハッシュタグテキスト: 大文字化および句読点のない、ハッシュタグ (#) の後に続くテキスト
•
ハッシュタグ数: ハッシュタグが使用されている回数
アンケートを含むフィードの並び替えの改善
最新の活動または投稿日によって、フィードを並び替えることができるようになりました。最新の活動で並び替
えると、新しいコメントを含むアンケートなど、最新のコメントを含む投稿がフィードの最上部に表示されま
す。投稿日で並び替えると、新しいコメントが含まれているかどうかに関係なく、最新の投稿が最上部に表示さ
れます。新規ユーザの場合、デフォルトでフィードは最新の活動によって並び替えられています。フィードの上
にある [投稿日] または [最近の活動] をクリックすることで、フィードの並び替えをいつでも切り替えることが
できます。
32
Chatter のその他の機能強化
投稿の表示
投稿の表示
使用可能なエディション: Group Edition、Professional Edition、Enterprise Edition、Unlimited Edition、Contact
Manager Edition、および Developer Edition
投稿を表示できるユーザと、Chatter 内で自分の投稿が表示される場所を判別するのに役立つ表示ウィジェット
が追加されました。このウィジェットは、各投稿種別 (投稿、ファイル、リンク、またはアンケート) に対して使
用できます。投稿種別を選択して、テキストボックスの下にある
す。
をクリックし、表示ウィジェットを開きま
更新された Chatter のアイコンとボタン
Chatter のアイコンとボタンの外観を変更して、全体的なナビゲーション機能と、アプリケーション全体にわた
る統一性を改善しました。たとえば、フィードの上にある [共有] ボタンは青色から緑色に変更され、Chatter タ
ブのサイドバーではグレーのアイコンが使用されるようになりました。
Chatter フィード検索表示ラベルの変更
使用可能なエディション: Database.com Edition を除くすべてのエディション
Chatter タブ移動への変更にともない、グローバル検索の結果ページの名称を [Chatter 更新を検索] から [Chatter
フィードを検索] に変更しました。
33
Chatter のその他の機能強化
Chatter データへのアクセスを承認された外部アプリケーションの表示
Chatterデータへのアクセスを承認された外部アプリケー
ションの表示
使用可能なエディション: Group Edition、Professional Edition、Enterprise Edition、Unlimited Edition、Contact
Manager Edition、および Developer Edition
組織内に Chatter Free ユーザ、Chatter 限定ユーザ、または Chatter グループの顧客がいる場合、Winter '13 では
新しいセキュリティ機能として、そのようなユーザに承認済みの接続が提供されます。これらのユーザがChatter
デスクトップまたは Chatter Mobile などの外部アプリケーションを認証するときは必ず、追加セキュリティ機能
として、これらのアプリケーションを Chatter にリスト表示できるようになりました。
承認済みの接続は、Chatter のデータにアクセスできる外部アプリケーションとしてリストされます。このアク
セスは、外部アプリケーションを最初に実行するときに認証します。たとえば、Chatter デスクトップを使用し
ている場合に、Chatter デスクトップアプリケーションと、Web で Chatter にアクセスするために使用するログイ
ン情報の間に接続を作成したとします。Chatter デスクトップで接続を最初に認証したときに、その接続は承認
済みの接続として保存されます。承認済みの接続を表示するには、すべてのページの上部にある あなたの名前 >
[私の設定] をクリックしてから、[承認済み接続] をクリックします。このページで承認済みの接続を表示および
削除することはできますが、直接それらを追加することはできません。
承認済みの接続を削除すると、Chatter 内のデータへのその外部アプリケーションによるアクセスが取り消され、
次に外部アプリケーションにアクセスするときには、以前に承認したログイン情報を使用した接続は行えなくな
ります。
警告: 接続を取り消すことが確定している場合にのみ、[削除] をクリックしてください。確認を促すス
テップはないため、承認済み接続は即時に削除されます。
削除した接続を復元するには、次に外部アプリケーションにアクセスするときに接続をもう一度作成します。接
続を認証したら、新しい承認済み接続として保存されます。
Google による Salesforce での Google トークのサポート
停止
必要なユーザ権限
Google トークの無効化
「アプリケーションのカスタマイズ」
Google は、独自の技術インフラストラクチャを変更および発展させ続けています。これらの変更により、Google
トークのサイドバーは Salesforce で使用できなくなりました。
Salesforce で Google トークを無効にする手順は、次のとおりです。
1. あなたの名前 > [設定] > [Google Apps] > [設定] をクリックします。
34
Chatter のその他の機能強化
使用されていないレコード登録のフォロー解除
2. [Google Apps サービスの有効化] リストの [Google トークサイドバーコンポーネント] オプションの横にある
[編集] をクリックします。
3. [有効] チェックボックスをオフにします。
4. [保存] をクリックします。
Google トークを使用するための代替手段については、Google トークのオンラインヘルプを参照してください。
使用されていないレコード登録のフォロー解除
Winter '13 では、スクリプトを実行して、無効なレコードに対するフォローをクリーンアップします。レコード
にこれまでまったく投稿またはコメントがない場合、および過去 45 日間 Chatter で追跡されているいずれの方法
でもレコードが変更されていない場合、そのレコードをフォローする価値はありません。スクリプトを一度実行
するだけで、そのレコードをフォローしていたすべての人の登録が自動的に解除されます。レコード自体は削除
されません。レコードへの登録のみが削除されます。使用されていないレコードの登録を削除することで、登録
制限数の上限に近づいている顧客が登録できる残り件数を増やすことができます。
Chatter REST API の機能強化
Winter ‘13 (Chatter API バージョン 26.0) での改善点は、次のとおりです。
•
全般的な更新
•
新しいリソースと変更されたリソース
•
新しいレスポンスボディと変更されたレスポンスボディ
•
新しいリクエストボディと変更されたリクエストボディ
注意: リソース、パラメータ、レスポンスボディはリリースごとに異なります。アプリケーションを本番
環境にリリースする前に、テスト環境でテストすることを強くお勧めします。
全般的な更新
•
•
ドキュメントのすべてのリソースと、すべてのリクエストボディおよびレスポンスボディにバージョン情報
が追加されました。Chatter API に追加された新機能を確認しやすくなりました。
Chatter API の処理数制限がより詳細に調整され、ユーザごと、アプリケーションごと、時間ごとの処理数制
限によって測定されます。ただし、多くの場合、この調整による違いはわかりません。処理数制限を超える
と、すべての Chatter API リソースはユーザとアプリケーションの両方に 503 Service Unavailable エラーコード
を返します。 フィード更新や非公開メッセージをポーリングするとき、1 分につきポーリング 1 回 (1 時間に
つき 60 回) の制限を超えないでください。さらに、/feeds/news/me | userId/is-modified リソースを使
用して、フィードが最後に指定した日時以降に更新されたかどうかを判定できます。
35
Chatter のその他の機能強化
Chatter REST API の機能強化
新しいリソースと変更されたリソース
•
•
•
•
新しい Connect リソースは、組織で使用可能なリソースのリストを返します。
新しい Feed Items: Feed Poll リソースは、特定のフィード項目に関連付けられたフィードアンケートに関する
情報を返します。アンケートへの投票にも使用できます。
新しい Files Information, Batch リソースは、ファイル ID のリストのファイル情報を返します。
Files リソースが次の HTTP メソッドを受け入れるようになりました。
◊ Delete
◊ PATCH
さらに、PATCH に、既存ファイルの名前変更に使用する新規パラメータ title が追加されました。
•
•
Flat Feed リソースはすべてのフィードで使用できなくなりました。
Is-Modified リソースを使用できるようになりました。次のリソースを使用して新しいフィードをポーリング
し、指定された日時以降に更新または変更されたかどうかを確認します。
/chatter/feeds/news/me/is-modified。
メモ: Is-Modified リソースは正式リリースされましたが、組織にこのリソースを使用する権限が自動
的に付与されない場合があります。このリソースにアクセスできない場合は、salesforce.com 担当者に
「Chatter フィードポーリングの有効化」権限についてお問い合わせください。
•
•
Users リソースは、特定のアクションとキープレフィックスについておすすめを返すようになりました。
News、Record、To、および User-Profile Feed-Items リソースすべてに次の新しい POST 要求パラメータが追
加されました。
◊ POST での isBookMarkedByCurrentUser パラメータ — 新しいフィード項目をブックマークする必要が
あるかどうかを指定します。
◊ pollChoice1 ~ pollChoice10 — アンケートを含む新しいフィードの作成に使用される選択肢。
◊ POST での visibility パラメータ — フィード項目を表示できるユーザを指定します。
メモ: Record Feed-Item リソースでは、グループまたはユーザ以外のレコードの visibility を
InternalUser に設定できます。現在、それ以外のすべての Feed-Item リソースでは visibility
は AllUsers にのみ設定できます。
•
ドキュメントに記載されていた User Groups リソースの戻り値が誤っていました。正しい戻り値は、User Groups
Page レスポンスボディです。
新しいレスポンスボディと変更されたレスポンスボディ
•
•
•
Batch Result Item レスポンスボディの result プロパティで、リソース /chatter/files/batch/fileIds の
File レスポンスボディを返すようになりました。
Chatter Directory レスポンスボディの organization プロパティは、バージョン 26.0 以降、使用できなくな
ります。代わりに Connect Directory レスポンスボディの organization プロパティを使用してください。
組織に関する情報を提供する新しい Connect Directory レスポンスボディが追加されました。
36
Chatter のその他の機能強化
•
•
Chatter REST API の機能強化
組織内のコミュニティに関する情報を提供する新しい Community および Community Page レスポンスボディ
が追加されました。
community プロパティが次のレスポンスボディに追加されました。
◊ Favorite
◊ Group
◊ Subscription
•
ドキュメントの Feed Item Page レスポンスボディに関する記述が誤っていました。このレスポンスボディでは
previousPageUrl プロパティは返されません。
•
フィード項目に関連付けられたフィードアンケートに関する情報を提供する新しい Feed Item Attachment: Poll
レスポンスボディが追加されました。
フィードアンケートの選択肢に関する情報を提供する新しい Feed Poll Choice レスポンスボディが追加されま
した。
Feed Item レスポンスボディが次のように変更されました。
•
•
◊ attachment に新しい Feed Item Attachment: Poll レスポンスボディを追加
◊ type に次の新しいフィード項目種別を追加
-
ChatTranscriptPost
FacebookPost
PollPost
RypplePost
ReplyPost
TwitterPost
◊ このフィード項目を表示できるユーザに関する情報を提供する新しい visibility プロパティを追加
•
File Summary および Feed Item Attachment: Content レスポンスボディに次の新しいプロパティが追加されまし
た。
◊ checkSum — ファイルの MD5 チェックサムを指定
◊ fileExtension — ファイルの拡張子を指定
◊ isInMyFileSync — 将来の使用のために予約
◊ mimeType — ファイルの MIME タイプを指定
さらに、Feed Item Attachment: Content レスポンスボディ内にファイルの変換リソースへの URL を指定する
renditionUrl が追加されました。
•
•
Flat Feed および Flat Feed Item レスポンスボディは使用できなくなりました。
以前のドキュメントの記述とは異なり、Group Page 内に total プロパティはありません。
•
name プロパティが Organization および Organization Summary レスポンスボディの両方に追加されました。
•
id プロパティが Record Summary レスポンスボディに追加されました。
•
ドキュメントで、User Group Page レスポンスボディに関する記述が漏れていました。これは User Groups リ
ソースで返されます。
User Detail および User Summary レスポンスボディの isChatterGuest プロパティは、バージョン 26.0 以降、
使用できなくなります。代わりにレスポンスボディの新しい userType プロパティを使用してください。
•
•
isActive プロパティが User Summary レスポンスボディに追加されました。
•
User Settings レスポンスボディに、次の新しいプロパティが追加されました。
37
Chatter のその他の機能強化
Chatter REST API の機能強化
◊ hasAccessToInternalOrg — ユーザは内部組織のメンバー。
◊ hasFileSync — 将来の使用のために予約。
•
•
Features レスポンスボディ内に Chatter トピックパイロット用に予約されている chatterTopics が追加され
ました。
バージョン 26.0 より前は、XML と JSON では次の応答が異なって表示されていました。XML の応答に、
Boolean プロパティが含まれていませんでした。バージョン 26.0 では、すべての応答が XML と JSON の両方
で同一です。
◊ FeedItem レスポンスボディの event プロパティ
◊ Comment レスポンスボディの isDeletable プロパティ
新しいリクエストボディと変更されたリクエストボディ
•
•
Feed Poll は、アンケートでの投票のための新しい入力ボディです。
Feed Item Input リクエストボディの attachment プロパティでは、フィード項目に関連付けられた新しいア
ンケートを作成するために、新しい入力ボディ Attachment Input: Feed Poll を使用します。Feed Item の body
プロパティは、これらのフィード項目のアンケートの質問に使用されます。
38
SALES CLOUD
売上予測の機能強化
Chatter の人のフロート表示の使用 (担当者のフロート表
示)
使用可能なエディション: Professional Edition、Enterprise Edition、Unlimited Edition、および Developer Edition
必要なユーザ権限
売上予測を使用する
「売上予測を許可」
Chatter を有効にする
「アプリケーションのカスタマイズ」
メモ: この情報は、Winter '12 リリース以降の売上予測製品に適用され、カスタマイザブル売上予測には
適用されません。
Chatter で 売上予測の担当者のフロート表示を使用して自分の売上予測から直接同僚に連絡できるようになりま
した。この機能を使用できるのは、Chatter を有効にしていて、売上予測マネージャの権限を持つユーザです。
1. 部下の名前の上にマウスを置くと、
2.
が表示されます。
の上にカーソルを置いて Chatter オプションを表示し、操作を選択します。
39
売上予測の機能強化
売上予測カスタムレポートタイプを作成
売上予測カスタムレポートタイプを作成
使用可能なエディション: Professional Edition、Enterprise Edition、Unlimited Edition、および Developer Edition
必要なユーザ権限
カスタムレポートタイプを作成または更新する
「カスタムレポートタイプの管理」
カスタムレポートタイプを削除する
「すべてのデータの編集」
メモ: この情報は、Winter '12 リリース以降の売上予測製品に適用され、カスタマイザブル売上予測には
適用されません。売上予測のカスタムレポートタイプを作成するには、売上予測を有効にする必要があ
ります。
システム管理者は、コラボレーション売上予測の分析を使用して、ユーザ用に売上予測のカスタムレポートタイ
プを作成できるようになりました。レポートタイプは、主オブジェクトとその関連オブジェクトとの関係に基づ
いて、レポートで使用するレコードと項目のセットを定義するものです。レポートには、レポートタイプで定義
された条件を満たすレコードのみが表示されます。次の表を使用して、ユーザ用に作成できるレポートタイプを
確認してください。
主オブジェクト
レポートを作成する目的
売上予測データ
調整量情報など、売上予測項目に関する情報を表示します。レポートタイプにはす
べてのデフォルト項目を使用することをお勧めします。デフォルト項目には次のよ
うなものがあります。
•
•
•
[所有者のみの金額] — 特定のユーザの全商談の調整なしの合計金額。たとえば、
それぞれが 10,000 ドルの価値がある 2 つの商談を所有している場合、[所有者の
みの金額] は 20,000 ドルになります。
[調整なしの金額] — 特定のユーザが所有する商談と、そのユーザの部下の商談の
調整なしのすべての合計金額。部下には、売上予測階層でそのユーザにレポート
を提出するすべてのユーザが含まれます。たとえば、あなたが所有するすべての
商談の合計金額が 20,000 ドルであり、あなたの部下の合計金額が 55,000 ドルであ
る場合、[調整なしの金額] は 75,000 ドルになります。
[マネージャによる調整なしの金額] — 売上予測の所有者が表示する売上予測数。
これは、所有者の商談と、その所有者の部下の商談の合計であり、部下の売上予
測に対する調整が含まれています。 売上予測履歴で所有者より上に位置する売上
予測マネージャによって行われる調整は含まれません。たとえば、安藤さんの [調
整なしの金額] が 75,000 ドルであり、内訳は安藤さん自身の商談である 20,000 ド
ルと、安藤さんの部下である佐藤さんが所有する商談の 55,000 ドルであるとしま
す。さらに、安藤さんは、佐藤さんの合計金額を 65,000 ドルに調整して、合計が
85,000 ドルになるようにしました。あなたが安藤さんの数値を 85,000 ドルから
100,000 ドルに調整しても、[マネージャによる調整なしの金額] には安藤さんに対
する表示と同じように 85,000 ドルが表示されます (また、あなたは安藤さんのマ
ネージャであるため、安藤さんにはあなたの調整は表示されません)。あなたが
40
売上予測の機能強化
主オブジェクト
売上予測カスタムレポートタイプを作成
レポートを作成する目的
•
•
行った 100,000 ドルの調整が含まれた金額を確認するには、[売上予測 金額] を調
べます。
[売上予測金額] — 売上予測マネージャの見込み額と、所有者および部下の商談の
合計に基づく、すべての売上予測調整を含む売上予測。たとえば、あなたは売上
予測マネージャであり、あなたにレポートを提出する売上予測マネージャがもう
1 人いて、そのマネージャの [マネージャによる調整なしの金額] の合計が 85,000
ドルであるとします。あなたが売上予測を 100,000 ドルに調整すると、[売上予測
金額] は 100,000 ドルになります。
[調整あり] — 売上予測所有者の [調整なしの金額] に調整が行われたかどうかを示
すチェックボックス。たとえば、いずれかの部下の売上予測金額に調整を行った
場合、このチェックボックスがオンになります。あなたの部下が、その部下の金
額に調整を加えた場合も、このチェックボックスがオンになります。ただし、「す
べてのデータの参照」権限を持っていなければ、売上予測マネージャがあなたの
売上予測金額に調整を加えても、このチェックボックスはオフのままになります。
これは、あなたが売上予測マネージャの調整情報に対するアクセス権を持ってい
ないためです。
関連オブジェクトとして 特定の売上予測項目の商談情報を表示します。 たとえば、調整情報と最終売上予測
[商談] を表示する [売上 金額とともに、売上予測データの商談名と最終活動日を含むサマリーレポートを、
部下ごとに作成するような場合に使用します。
予測データ]
売上予測目標
個人の目標またはチームの目標に関するデータを表示します。レポートタイプには、
すべてのデフォルト項目を含めることをお勧めします。たとえば、所有者のフルネー
ムなどの参照項目を組み込むことができます。レポートを実行するときに、自分の
名前で絞り込みを行って、自分が作成した目標とそれらに関連する取引先および所
有者を表示できます。
ユーザが売上予測レポートを使用できるようにするには、システム管理者はカスタムレポートタイプを作成する
必要があります。
1. あなたの名前 > [設定] > [作成] > [レポートタイプ] をクリックしてから [新規カスタムレポートタイプ] をクリッ
クして、カスタムレポートタイプの作成を開始します。
2. [主オブジェクト] で、[売上予測データ] または [売上予測目標] などの売上予測オブジェクトを選択します。
3. [カテゴリに格納] で、[売上予測] を選択します。
レポートタイプをリリースしたら、その場所と名前をユーザに知らせます。
41
売上予測の機能強化
すべての通貨で売上予測マネージャによる売上予測の調整が可能
すべての通貨で売上予測マネージャによる売上予測の調
整が可能
使用可能なエディション: Professional Edition、Enterprise Edition、Unlimited Edition、および Developer Edition
必要なユーザ権限
売上予測を使用する
「売上予測を許可」
売上予測を調整する
「売上予測の上書き」
メモ: この情報は、Winter '12 リリース以降の売上予測製品に適用され、カスタマイザブル売上予測には
適用されません。売上予測のカスタムレポートタイプを作成するには、売上予測を有効にする必要があ
ります。
売上予測マネージャでどの売上予測表示通貨が使用されるかに関係なく、売上予測マネージャを使用して直属の
部下の売上予測を調整できるようになりました。以前は、売上予測マネージャで、使用する表示通貨を売上予測
通貨に設定する必要がありました。たとえば、組織の売上予測通貨が組織のマスタ通貨である米国ドルに設定さ
れているとします。米国ドルに対する表示通貨を変更することなく、予測にカナダドルを使用する売上予測マ
ネージャが、インドルピーを使用する可能性のある同僚の売上予測を調整できるようになりました。売上予測マ
ネージャには、調整された額がカナダドルで表示されます。売上予測表示通貨を更新するには、自分の売上予測
ページから [表示設定] > [変更] をクリックします。
商談ペインの設定可能な売上予測リストビュー
使用可能なエディション: Professional Edition、Enterprise Edition、Unlimited Edition、および Developer Edition
必要なユーザ権限
商談ペインをカスタマイズする
「アプリケーションのカスタマイズ」
設定および定義を参照する
「設定・定義を参照する」
メモ: この情報は、Winter '12 リリース以降の売上予測製品に適用され、カスタマイザブル売上予測には
適用されません。
設定可能な売上予測リストビューを利用できます。商談は、ユーザの選択に対応する項目を含むリストとして、
売上予測の積み上げ集計テーブルの下に表示されます。システム管理者は、最大 15 個の標準項目とカスタム項
目を選択できます。これらの項目は、商談ペインに表示されます。ユーザには、項目レベルのセキュリティ設定
に基づいて選択された項目が表示されます。[商談名] は必須項目です。また、salesforce.com では、このペインに
[売上予測分類] を追加することをお勧めします。
42
商談チームの機能強化
商談チームのカスタマイズ
1. あなたの名前 > [設定] > [カスタマイズ] > [売上予測] > [設定] をクリックします。
2. 商談リスト列の下で項目を選択し、[追加] と [削除] をクリックして、[選択可能な項目] リストと [選択済みの
項目] リスト間で項目を移動します。レイアウトで項目の表示順を決めるには、項目を選択して、[上へ]、[下
へ]、[最上位へ]、または [最下位へ] をクリックします。
3. [保存] をクリックします。
商談チームの機能強化
商談チームのカスタマイズ
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
必要なユーザ権限
チームセリングを有効にする
「アプリケーションのカスタマイズ」
カスタム項目を作成または変更する
「アプリケーションのカスタマイズ」
項目の入力規則を定義または変更する
「アプリケーションのカスタマイズ」
Apex トリガを定義する
「Apex 開発」
チーム内の役割を設定する
「アプリケーションのカスタマイズ」
カスタムボタンまたはカスタムリンクを追加する
「アプリケーションのカスタマイズ」
ページレイアウトを編集する
「アプリケーションのカスタマイズ」
商談チームセリングでは、商談チームと呼ばれるユーザチームが商談を共有し、協力して商談に取り組むことが
できます。
メモ: 以前は、商談チームは営業チームと呼ばれていました。組織が Winter '13 以前に営業チームを有効
化していた場合、Winter '13 でも商談チームセリングが自動的に有効化されます。
システム管理者は、アカウントエグゼクティブや営業担当者など、組織の商談チーム内の役割をカスタマイズで
きます。次に、ユーザは特定の商談について、メンバーを商談チームに追加し、各メンバーにその商談のチーム
内の役割を割り当てることができます。
Winter '13 では、商談チームが拡張され、より高度にカスタマイズや制御を行うことができるようになりました。
商談チームのレイアウトページを定義し、カスタム項目、カスタムボタンとカスタムリンク、および関連リスト
をそれらに追加できます。入力規則とトリガを定義して、チームセリングと商談チームの変更を検証して、自動
化できます。また、商談チームのカスタムレポートタイプを作成できます。
43
商談チームの機能強化
商談チームのカスタマイズ
チームセリングが有効である場合、組織の商談チームをカスタマイズできます。
•
チームセリングを有効化して、商談チームの関連リストを含める既存のページレイアウトを選択します。特
定のページの関連リストの場所を変更するには、ページレイアウトをカスタマイズします。
•
商談チームのカスタム項目を作成します。カスタム項目が商談チームメンバーのページに表示され、商談チー
ムレポートに組み込むことができます。最大 50 個のカスタム項目を作成できます。
メモ: カスタム項目を削除すると、そのカスタム項目を使用する検索条件も削除され、カスタム項目
のデータに依存する割り当てまたはエスカレーションの結果が変わる場合があります。
•
レコードを保存するには、商談チームデータが満たす必要のある入力規則を定義および有効化しておく必要
があります。
•
商談チームレコードがデータベースに挿入される前や、レコードが削除された後など、特定のデータ操作言
語 (DML) イベントが発生する前後に実行される Apex コードを定義および有効化します。
•
組織の商談チーム内の役割を定義します。
•
必要に応じて、既存のチーム内の役割を再配置します。
選択リスト編集ページを使用して最初に作成した新しい値を使用し、選択リストの既存の値を全体的に置き
換えることができます。依存のチーム内の役割を置き換えると、商談チームと取引先チームのメンバーに影
響が及びます。
•
商談チームにカスタムボタンまたはカスタムリンクを追加します。
•
商談チームメンバーのページレイアウトをカスタマイズして、商談チームメンバーの複数行ページにどの項
目を表示するかを指定します。カスタム項目、カスタムボタンとカスタムリンク、およびカスタマイズ可能
な関連リストをページレイアウトに追加できます。
•
商談チーム関連リストを含む各ページレイアウトで、商談チームの関連リストのプロパティを編集します。
カスタム項目とカスタムボタンを関連リストに追加できます。親ページの関連リストに商談チームの情報を
表示するには、商談チームメンバーと親の間にリンクを作成する必要があります。たとえば、商談チームメ
ンバーの情報を、関連する取引先詳細ページに表示するには、取引先用に商談チームについてのカスタム参
照関係項目を作成し、それを商談チームメンバーの複数行ページに追加してから、商談チームメンバーごと
にこの項目を親取引先に設定します。
•
定義できるカスタム項目の最大数など、商談チームに適用される制限を表示します。
•
商談チームのカスタムレポートタイプを作成します。商談チームには常に親オブジェクトが必要であり、子
オブジェクトを設定することはできません。たとえば、カスタムレポートタイプの商談チームメンバーを親
取引先に関連付けることはできますが、取引先責任者を親商談チームメンバーに関連付けることはできませ
ん。
•
チームセリングを無効にして、デフォルトの商談チームと商談に関する既存のチームを削除します。
商談チームの既知の制限
•
システム管理者は商談チームのワークフローを定義できません。
•
システム管理者は、取引先などのオブジェクトから商談チームメンバーへの参照を作成できません。
44
商談チームの機能強化
商談チームのカスタマイズ
•
システム管理者は商談チームのカスタムレポートタイプを作成できますが、商談チームには常に親オブジェ
クトが必要であり、子オブジェクトを設定することはできません。たとえば、カスタムレポートタイプの商
談チームメンバーを親取引先に関連付けることはできますが、取引先責任者を親商談チームメンバーに関連
付けることはできません。
•
システム管理者は、商談チームメンバーのタブおよび表示ラベルの名称を変更できません。あなたの名前 > [設
定] > [カスタマイズ] > [タブ名と表示ラベル] > [タブと表示ラベルの名称変更] を選択しても、商談チームメン
バーはタブおよび表示ラベルのリストに含まれていません。
•
ユーザによってデフォルトの商談チームが商談に追加された場合、トリガおよび入力規則はサポートされま
せん。
チームセリング設定の有効化
チームセリングを有効にすると、商談に対する商談チームの作成および使用のアクセス権をユーザに与えること
になります。
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
必要なユーザ権限
チームセリングを有効にする
「アプリケーションのカスタマイズ」
1. あなたの名前 > [設定] > [カスタマイズ] > [商談] > [商談チーム] をクリックします。
2. [設定] をクリックします。
3. [チームセリング設定の有効化] を選択して、[保存] をクリックします。
4. 新しい [商談チーム] 関連リストを表示する商談ページレイアウトを選択します。
5. 必要に応じて、[各ユーザの「マイディスプレイのカスタマイズ」に変更を反映させる。(関連リストの表示)] を選
択します。
6. [保存] をクリックします。
チームセリングが有効化されている場合、カスタム項目、カスタムボタンおよびカスタムリンク、入力規則、お
よび Apex トリガを商談チームに追加できます。また、商談チームおよびページレイアウトを編集したり、商談
チームのカスタムレポートタイプを作成したりできます。
45
商談チームの機能強化
商談チームのカスタマイズ
チームセリング設定の無効化
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
必要なユーザ権限
チームセリングを無効にする
「アプリケーションのカスタマイズ」
1. 商談チームに追加したカスタム項目、カスタムボタンおよびカスタムリンク、ページレイアウト、入力規則、
またはApex トリガを削除します。また、商談チーム情報を含むすべてのカスタムレポートを削除し、商談チー
ムを使用するすべての Apex パッケージをアンインストールする必要があります。
2. あなたの名前 > [設定] > [カスタマイズ] > [商談] > [商談チーム] をクリックします。
3. [設定] をクリックします。
4. [チームセリング設定の無効化] を選択して、[保存] をクリックします。
5. プロンプトで [はい] を選択し、[OK] をクリックします。商談に割り当てられたすべての商談チームおよび
すべてのデフォルトの商談チームが完全に削除されます。
メモ: チームメンバーが Apex で参照されている場合、組織のチームセリングを無効にすることはでき
ません。たとえば、Apex コードで [チームメンバー] 項目 (コード内の OpportunityTeamMember) が
参照されている場合、チームセリング設定を無効にすることはできません。
商談チームの複数行レイアウトの編集
使用可能なエディション: Professional Edition、Enterprise Edition、Unlimited Edition、および Developer Edition
必要なユーザ権限
商談チームの複数行レイアウトを編集する
「アプリケーションのカスタマイズ」
[商談チームメンバー] の複数行ページに表示される項目を指定できます。このページを表示するには、商談チー
ムに新しいメンバーを追加します。
1. あなたの名前 > [設定] > [カスタマイズ] > [商談] > [商談チーム] > [ページレイアウト] をクリックします。
2. 商談チームページレイアウトの名前の横の [編集] をクリックします。
3. 右上角にある [複数行レイアウトの編集] をクリックします。
4. [選択可能な項目] および [選択済みの項目] 間で項目を移動します。
46
商談チームの機能強化
商談チームの使用
•
レイアウトに表示する項目をカスタマイズするには、[選択可能な項目] で 1 つ以上の項目を選択して、[追
加] または [削除] をクリックします。
•
レイアウトに表示する項目を並び替えるには、[選択済みの項目] で 1 つ以上の項目を選択して、[上へ] ま
たは [下へ] をクリックします。
•
複数の項目を個別に選択するには、Ctrl キーを押しながらクリックします。
•
複数の項目をグループとして選択するには、Shift キーを押しながらクリックします。
5. 変更内容を適用するには、[保存] をクリックします。
商談チームの使用
ユーザは商談チームを使用してさらに多くのことを行えるようになりました。
•
商談チームにメンバーを追加したり、メンバーを編集したりするときに、システム管理者が定義したカスタ
ム項目に値を指定する。
•
商談チームのカスタムレポートを作成して、チームのパフォーマンスを明確に確認する。
•
レポートに商談チームのカスタム項目を含める。
•
システム管理者が商談チームの関連リストを含めるようにページレイアウトをカスタマイズしていた場合は、
追加ページに商談チームの関連リストを表示する。
メモ: 以前は、商談チームは営業チームと呼ばれていました。
商談チームへのメンバーの追加
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
必要なユーザ権限
商談にチームメンバーを追加する
商談に対する「参照」
商談レコードの「所有者」、または組織のロール階層
で上位の所有者
自分がチームメンバーになっている商談を表示する
商談に対する「参照」
1. 商談を表示して、[商談チーム] 関連リストに移動し、[追加] をクリックします。
2. [ユーザ] 列にメンバーの名前を入力します。パートナーポータルが有効化されている場合は、メンバーがパー
トナーユーザであるかユーザであるかを選択し、メンバーの名前を入力します。
47
Salesforce for Outlook の機能強化
Salesforce for Outlook による生産性の強化
メモ:
自分に「すべてのデータの編集」権限があるか、または自分が取引先所有者か、ロール階層で取引先
所有者より上位にいる場合でない限り、商談チームに追加できるのは関連付けられている取引先への
参照アクセス権を持つメンバーのみです。
3. メンバーの商談チーム内の役割を選択します。
4. メンバーの商談へのアクセス権を選択します。アクセス権限のレベルは、組織のデフォルトの商談共有アク
セス権よりも権限の小さいものにはできません。
5. 商談チーム向けにシステム管理者が作成したすべてのカスタム項目の値を指定します。
重要: システム管理者がカスタム項目を定義したものの、[商談チームメンバーの追加] ページにそれ
らのカスタム項目を追加していない場合は、新しいチームメンバーを追加してもそれらの項目を表示
できません。「商談チームのカスタム項目の使用」 (Salesforce オンラインヘルプ) を参照してくださ
い。
6. [保存] をクリックします。
ヒント: 「商談チームが関連する商談」レポートを実行して、自分が所有している商談、またはロール階
層の下位ユーザが所有している商談の商談チームメンバーを一覧表示できます。レポートには、自分が
所有する商談と自分が所属する商談チームに関する情報も表示されます。
Salesforce for Outlook の機能強化
Salesforce for Outlook による生産性の強化
Winter '13 では、Salesforce for Outlook に、生産性を強化し、全体的な操作性を向上するための新機能として、
Salesforce との項目の同期とメールの追加に関する機能が追加されています。
機能
この機能で実行できる操作
この機能の詳細
定期的な行動
Outlook と Salesforce との間で定期的な行動を同期し 定期的な行動の同期
ます。
メールの関連付けの簡 Salesforce に追加されたメールで未解決のメールアド メールの関連付けでの時間の節約
素化
レスがあった場合に、Salesforce の [私の未解決の項
目] ページを管理する時間を節約します。
48
Salesforce for Outlook の機能強化
定期的な行動の同期
定期的な行動の同期
使用可能なエディション: Professional Edition、Enterprise Edition、Unlimited Edition、および Developer Edition
必要なユーザ権限
定期的な行動を Outlook と Salesforce との間で同期する 「定期的な行動」
および、行動に対する「参照」と「編集」、および行
動の同期方向が次のいずれかの方向に設定されている
Outlook から salesforce.com、
Salesforce.com から Outlook、または
双方向同期
Outlook および Salesforce の定期的な行動を次の繰り返しパターンをサポートする Salesforce for Outlook と同期で
きるようになりました。
•
毎日
•
毎週
•
毎月
•
毎年
定期的な行動が Salesforce に同期されると、ユーザは取引先責任者、取引先、商談などの関連レコードにこれら
の行動を割り当てることができます。また、定期的な行動の同期により、Salesforce カレンダーから行動を作成し
たり、ミーティングを要請したりするときに、ユーザが自分の空き状況の適切な表示を維持することができま
す。
定期的な行動機能の有効化の考慮事項
ユーザの定期的な行動を有効化する前に次の詳細を理解することが重要です。
•
•
•
•
•
定期的な行動を有効化する場合は、この機能を組織全体で有効化する。ただし、定期的な行動を同期させる
Outlook 設定を選択することはできます。
この機能を有効化した後は、salesforce.com サポートチームの支援なしに無効化することはできない。
すべての Salesforce for Outlook ユーザは Salesforce for Outlook バージョン 2.0 以降にアップグレードする必要が
ある。
定期的な行動は [私の未解決の項目] ページには表示されない。代わりに、ユーザはカレンダーの定期的な行
動に直接移動して、定期的な行動を Salesforce レコードに関連付けることができます。
ユーザの Salesforce for Outlook 設定では、Outlook 設定が定期的な行動を同期するように設定されているかど
うかを示しません。
49
Salesforce for Outlook の機能強化
定期的な行動の同期
Salesforce では、定期的な行動のすべての行動を削除するものの、定期的な行動自体は削除しない場合、Outlook
との同期後、Salesforce for Outlook でエラーメッセージが生成されます。このエラーメッセージは、次回の同
期でクリアされるため無視して構いません。
•
また、重要な 「Outlook と Salesforce との違いについて」および「定期的な行動全体への変更」の詳細について
も確認してください。
定期的な行動機能の有効化
1.
2.
3.
4.
Salesforce で、あなたの名前 > [設定] > [デスクトップ管理者] > [Outlook 設定] をクリックします。
Outlook 設定では、[編集] をクリックします。
[高度な設定] で、[定期的な行動] を選択します。
[保存] をクリックします。
Outlook と Salesforce との違いについて
定期的な行動は Outlook と Salesforce とで動作が異なります。
機能
把握する必要のある内容
行動の範囲
ユーザの繰り返しに 100 回を超える行動が含まれる場合、Salesforce for Outlook では
Salesforce で 100 回の定期的な行動からなるグループを作成します。
100 回分の期間が経過したら、Salesforce for Outlook では、他のグループの行動を自動
的に追加して、再度、将来の行動の合計回数が最大 100 回になるようにします。Salesforce
がこれらのグループを追加するスケジュールは、経過した行動の回数、ユーザが前回
同期した日時、既存の行動を変更したかどうかによって異なります。
また、Outlook で定期的な予定を設定する場合、[終了日] オプションを選択する必要が
あります。Salesforce では、次のオプションを使用する定期的な行動はサポートされま
せん。
•
•
毎月の行動
Salesforce for Outlook では、次の Outlook の繰り返しパターンオプションはサポートさ
れません。
•
•
毎年の行動
終了日未定
反復回数
週末
平日
Salesforce for Outlook では、毎年繰り返す行動を設定できます。ユーザが Outlook の繰
り返しパターンの [繰り返す間隔] オプションに 1 以外の数字を入力すると、Salesforce
for Outlook では定期的な行動を同期しません。つまり、1 年ごとの繰り返しは設定で
きますが、隔年や 4 年ごとの繰り返しは設定できません。
また、Salesforce for Outlook では、次の Outlook の繰り返しパターンオプションはサ
ポートされません。
•
•
週末
平日
50
Salesforce for Outlook の機能強化
定期的な行動の同期
機能
把握する必要のある内容
24 時間を越える行動
Salesforce は、24 時間を越える定期的な行動はサポートしません。
行動の更新
Salesforce では、出席者にメールでミーティング更新を通知しません。代わりに、
Salesforce for Outlook では、出席者の Salesforce カレンダーをただちに更新します。
定期的な行動全体への変更
ユーザは定期的な行動の範囲全体に変更を加えることができますが、個別に変更した行動の詳細を失わないよう
に、回避すべき内容は把握しておく必要があります。
ユーザによる変更の内 把握する必要のある内容
容
Outlook での定期的な行 このような変更は、Salesforce では個別に変更された行動に伝搬されません。
動 (全体)
たとえば、ユーザが行動の予約時間を変更し、後で定期的な行動全体の予約時間を変
更するとします。この定期的な行動の予約時間の変更は、1 つの変更された行動には伝
搬されません。
重要な変更には次への変更が含まれます。
•
•
•
予約時間
繰り返しパターン
行動の範囲
定期的な行動に重要な変更を行うと、個別に変更した行動の変更が失われます。
Outlook での定期的な予 Salesforce では、すでに発生した開始日への変更はサポートされません。
定の開始日
Salesforce での定期的な このような変更は Outlook には反映されません。ユーザは Outlook で終了日を変更で
行動の終了日
きますが、このような重要な変更を行うと、Outlook および Salesforce の両方で、ユー
ザが個々の行動に対して行ったすべての変更がクリアされます。
個々の行動
定期的な行動全体に重要な変更を行うと、個々の行動への変更が失われる可能性があ
ります。
定期的な行動から 1 回 Salesforce では、これらの種類の変更はサポートされません。
限りの行動への変更
および
1 回限りの行動から定期
的な行動への変更
行動の順序
Outlook では、この種類の行動はサポートされていません。たとえば、ユーザが毎日繰
り返す定期的な行動を設定したとします。その後、10 月 10 日の行動を 10 月 8 日に変
更する必要があり、変更した場合、10 月 8 日に 2 つの行動が作成されます。この機能
は Outlook ではサポートされていません。
51
Shared Activities の機能強化
メールの関連付けでの時間の節約
ユーザによる変更の内 把握する必要のある内容
容
Outlook での個々の行動 Outlook の変更は、Salesforce の変更に重要な変更が含まれているかどうかに関わらず、
Salesforce の行動に伝搬されます。
ただし、Salesforce で削除された行動は削除されたままになるため、Outlook で個別に
変更された行動には置き換えられません。
メールの関連付けでの時間の節約
使用可能なエディション: Contact Manager、Group、Professional、Enterprise、Unlimited、および Developer
Edition
ユーザからの要望に基づき、Salesforce での [私の未解決の項目] ページの未解決のメールの関連付けについて、
以前の処理方法を復活させました。Spring '12 以降、ユーザが Salesforce に追加したメールの [送信先] 項目および
[Cc] 項目の未解決のメールアドレスごとに個別の複数の行を表示していました。これらの個別の行により、Spring
'12 および Summer '12 では [私の未解決の項目] ページの管理にさらに時間がかかっていました。
Winter '13 では、Salesforce でユーザが Salesforce に追加したメールの [送信先] 項目および [Cc] 項目に表示される
受信者がどのメールアドレスにも一致しない場合、メールごとに 1 行のみを表示するようになりました。また、
[私の未解決の項目] ページでは [受信者] 列が復活した [送信者/宛先] 列に置き換えられています。
Shared Activities の機能強化
行動の Shared Activities
使用可能なエディション: Database.com Edition を除くすべてのエディション
必要なユーザ権限
活動設定を参照する
「設定・定義を参照する」
活動設定をカスタマイズする
「アプリケーションのカスタマイズ」
Winter '13 では、1 つの非定期的な行動に 10 人までの取引先責任者を関連付けることができるように Shared
Activities を拡張しました。1 人の取引先責任者が主取引先責任者となり、その他はすべて副取引先責任者になり
52
Shared Activities の機能強化
行動の Shared Activities
ます。これにより、行動の全体的な活動と各取引先責任者の活動を簡単に追跡できます。また、行動に関連する
取引先責任者数が記載されている、有用で正確な活動メトリクスレポートも作成できます。
メモ: Shared Activities に ToDo と行動の両方が含まれるようになりました。ToDo の Shared Activities を
すでに有効化している場合、Winter '13 では行動の Shared Activities が自動的に有効化されます。
行動に関連する取引先責任者数に関係なく、ユーザは、[取引先責任者の選択] ダイアログボックスを使用して取
引先責任者を選択します。
Shared Activities では、ユーザは次の情報を参照できます。
•
•
•
•
ユーザが少なくとも 1 つの取引先責任者、リード、関連レコードにアクセスできる場合、行動の詳細ページ
の共有されている行動。また、ユーザのロールが組織の階層で活動所有者より上である場合も行動を参照で
きます。他のユーザがアクセスできる取引先責任者に活動を関連付けると、それらのユーザは、活動に関連
付けたすべての取引先責任者の名前、取引先名、および役職を参照できるようになることに注意してくださ
い。これには、それらのユーザが通常はアクセスできない取引先責任者も含まれます。
システム管理者が [名前] 関連リストを行動のページレイアウトに追加した場合は、行動の詳細ページで行動
に関連するすべての取引先責任者。
活動レポートに [リレーション件数] 列が含まれている場合は、行動に関連する取引先責任者の数。
ユーザが関連する取引先責任者リストから 1 つ以上の項目を選択した場合は、取引先責任者に関連する活動
レポートの各活動 (取引先責任者ごとに 1 行)。
53
Shared Activities の機能強化
•
Shared Activities の有効化
ToDo と行動レポートおよびケースが関連する活動レポートの活動の主取引先責任者。また、主取引先責任者
は行動の詳細ページの [氏名] 項目にも表示されます。
メモ:
取引先責任者に関連する活動レポートでは、活動に関連するすべての取引先責任者が表示されますが、
どの取引先責任者が主取引先責任者であるかは表示されません。
Shared Activities の有効化
使用可能なエディション: Database.com Edition を除くすべてのエディション
必要なユーザ権限
活動設定を参照する
「設定・定義を参照する」
活動設定をカスタマイズする
「アプリケーションのカスタマイズ」
組織の活動量によっては、Shared Activities の有効化プロセスに最大 48 時間かかる場合があります。この機能の
有効化中も、ユーザは引き続き ToDo と行動を使用することができます。
1. あなたの名前 > [設定] > [カスタマイズ] > [活動] > [活動設定] に移動します。
2. [ユーザが複数取引先責任者をToDoと行動に関連付けられるようにする] を選択します。
3. [送信] をクリックします。
4. ToDo 詳細と行動詳細のページレイアウトに [名前] 関連リストを追加してユーザが活動に関連するすべての
取引先責任者を表示できるようにします。これは Salesforce Mobile ユーザにとっては特に重要です。
Shared Activities の有効化プロセスが完了したら、確認メールを受信します。
ヒント: Shared Activities を有効化するプロセスの状況をチェックするには、[活動設定] ページを表示しま
す。有効化プロセスが正常に完了しなかった場合は、その状況と実行する必要のある処置に関する役立
つメッセージが表示されます。
取引先責任者の親取引先への活動の積み上げ集計
活動を作成して、取引先および取引先責任者に関連付け、その取引先責任者が他の取引先に関連付けられている
場合、活動はその取引先責任者の親取引先に積み上げ集計されます。たとえば、次のように記述したとします。
•
「営業担当者の電話」ToDo は取引先 Global Media に直接関連付けられ、また、取引先責任者の Ron Dean に
も関連付けられます。
•
Ron Dean の親取引先は HiTech Solutions です。
•
「営業担当者の電話」ToDo は取引先 Global Media の詳細に表示され、HiTech Solution 取引先の詳細にも表
示されます。
54
Shared Activities の機能強化
Event オブジェクトおよび EventAttendee オブジェクトの変更
メモ: この動作は、Shared Activities が有効化されている場合にのみ発生します。
Event オブジェクトおよび EventAttendee オブジェクト
の変更
Event オブジェクトおよび EventAttendee API オブジェクトに重要な変更が行われました。すべての顧客または
パートナーが API を使用して行動の被招集者を変更できるようになりました。 次の変更は既存の Apex および
API パッケージに影響する場合があります。
•
•
EventAttendee オブジェクトはサポートされなくなりました。
行動の Who (担当者)、What (レコード)、および招待者を操作する項目を含む新しい EventRelation オブジェク
トが追加されました。行動の招待者を変更できます。
メモ: Who は関連する取引先責任者またはリードであり、What は関連レコードです。
•
子の行動に対する更新操作は非常に限定されています。
これらの変更により、API を使用して行動の被招集者 (招待者) を作成および変更できるようになりました。以前
は、これは UI を使用してのみ可能でした。また、新しい API では行動の Shared Activities をサポートしており、
非定期的な行動を 10 人もの取引先責任者に関連付けることができます。ユーザの行動の Shared Activities を有効
化していない場合でも、次の行動オブジェクトの変更はユーザに影響します。
変更箇所
Event オブジェクト
変更内容
Event オブジェクトには、2 つの新しい項目 WhatCount および WhoCount があり
ます。
EventAttendee オブジェクト EventAttendee オブジェクトに代わり、EventRelation オブジェクトが使用されま
す。
• EventRelation オブジェクトは、行動に招待される個人 (ユーザ、取引先責任
者、またはリード) またはリソース (会議室など) を表します。
• EventRelation オブジェクトでは、行動に招待者を追加したり、行動から招待者
を削除したり、API を使用して招待への返答を管理したりできます。
• Shared Activities が有効化されている場合、EventRelation オブジェクトで Who
オブジェクトまたは What オブジェクトを表すこともできます。
• EventAttendee オブジェクトは API バージョン 26.0 以降では表示されなくなり
ました。API バージョン 25.0 以前を使用する既存の Apex および API パッケー
ジでは、これまでどおり EventAttendee オブジェクトをクエリできます。
招待者情報
RelationId 項目には、イベントに招待された人またはリソースの ID が含まれて
います。この項目の値は、指定された後、変更することはできません。行動の
Shared Activities が有効化されている場合、この項目にも行動の Who または What
の ID を含めることができます。
55
Shared Activities の機能強化
Event オブジェクトおよび EventAttendee オブジェクトの変更
変更箇所
変更内容
行動の Shared Activities
EventRelation オブジェクトには、次の項目が含まれています。
• AccountId: リレーションの取引先 ID です。
•
IsInvitee: リレーションが招待者であるかどうかを示します。
•
IsParent: リレーションが Who (担当者) または What (レコード) であるかど
•
うかを示します。
IsWhat: リレーションが Who (担当者) であるか What (レコード) であるかを
示します。
メモ: Shared Activities が有効化されている場合、AccountId、IsParent、
IsWhat が表示されます。IsInvitee は、Shared Activities が有効である
か、有効化または無効化の処理中の場合に表示されます。
子の行動
ユーザは子の行動の IsReminderSet 項目および ReminderDateTime 項目のみを
更新できます。子の行動はクエリしたり、削除したりできます。
子の行動の EventRelation オブジェクトは作成できません。EventRelation オブジェ
クトの EventId 項目は必ずマスタレコードを参照しています。行動の招待者は、
EventRelation オブジェクトをクエリして、マスタレコードを表示できます。
招待者の追加、削除、更新
API を使用して、招待者を追加または削除したり、招待者の状況を更新したりで
きます。招待者を作成する手順は、次のとおりです。
• Shared Activities が有効化されていない場合は、招待者の EventRelation オブジェ
クトを作成します。
• Shared Activities を有効化中またはロールバック中であるか、または Shared
Activities が有効化されており、招待者がすでに Who (担当者) に設定されてい
る場合、IsInvitee は true に更新されます。招待者がまだ Who (担当者) に
設定されていない場合、IsInvitee を true に設定してその招待者の
EventRelation オブジェクトを作成します。Shared Activities を有効化中または
ロールバック中である場合や、IsInvitee、IsParent、および IsWhat が設
定されていない状態で Shared Activities を有効化した場合、IsInvitee はデ
フォルトの true になります。これにより、EventRelation では行動の被招集者
のみを表す場合、Shared Activities を有効化する前に作成されたコードの互換
性が実現します。
56
Sales Cloud のその他の機能強化
[新規ドキュメントのアップロード] ページの表示ラベルの変更
Sales Cloud のその他の機能強化
[新規ドキュメントのアップロード] ページの表示ラベル
の変更
必要なユーザ権限
新規ドキュメントをアップロードする
ドキュメントに対する「作成」
[新規ドキュメントのアップロード] ページの [社外秘フラグ] チェックボックスを、わかりやすくするために [ド
キュメントが社内向けであることを示す] に変更しました。
[ポータルユーザへの所有者の変更用テンプレート]
が選択されていない場合のパートナーポータルのメール
通知の新しい動作
Winter '13 では、[ポータルユーザへの所有者の変更用テンプレート] またはデフォルトのテンプレートセットがな
いポータルから送信された所有者の変更メール通知の動作を改善しました。ポータルユーザが、プロファイルが
複数のポータルに関連付けられているレコードの所有者を別のポータルユーザに変更した場合、ユーザに送信さ
れるメール通知には、所有者の変更が発生したポータルへのリンクが含まれます。以前のリリースでは、このリ
ンクは、ユーザがメンバーであった最も古いログインを有効にしたポータルを参照していました。
57
SERVICE CLOUD
ケースフィードの機能強化
ケースフィードの新しいカスタマイズオプション
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
Winter ‘13 では、ケースフィードのフィードレイアウトに含める項目と情報をより詳細に制御できます。
1. ケースフィードページで、パブリッシャーメニューを左列と中央列のどちらに表示するかを選択できます。
2. メールパブリッシャーを次のようにカスタマイズできます。
•
追加するヘッダー項目を選択する。
•
エージェントが使用できるメールツール (テンプレートなど) を選択する。
•
リッチテキストエディタを有効化し、必要に応じてエージェントがメールを作成するときに必須にする。
•
[送信者] アドレスを指定する。
•
本文項目を折りたたみ可能にする。
•
メールヘッダーを折りたたみ可能にする。
•
メールパブリッシャーの標準の [メールを送信] ボタンをカスタムボタンに置き換える。コンテンツソース
として Sコントロールを持つボタン以外であれば、ケース用に作成したどのようなカスタムボタンでも使
用できます。
3. 記事ツールをカスタマイズして、エージェントが記事をメールメッセージに PDF として添付できるように
し、ツールを使用して Service Cloud コンソール の標準の [Salesforce ナレッジ] サイドバーを置き換えることが
できます。
4. ケースフィードページに含めるボタン、リスト、およびリンクを選択し、ページ上でそれぞれが表示される
位置を指定できます。
5. フィード条件リストが表示される位置と方法を選択できます。たとえば、リストをフロート表示にしてエー
ジェントがスクロールしたときに同じ位置に留まらずに下へ移動させる場合などがあります。
6. ケースフィードページに追加するフィード条件を選択できます。
58
ケースフィードの機能強化
ケースフィードでのカスタムパブリッシャー
詳細は、「ケースフィードのフィードレイアウトの作成と編集」 (Salesforce オンラインヘルプ)を参照してくださ
い。
さらに、会社が使用する用語と一致するようにケースフィードパブリッシャーとフィード条件の名前を変更でき
るようになりました。たとえば、会社が顧客をゲストと呼んでいる場合は、「顧客への回答」パブリッシャーを
「ゲストへの回答」という名前に変更できます。
詳細は、「ケースフィードでのパブリッシャーとフィード条件の名前変更」 (Salesforce オンラインヘルプ)を参照
してください。
ケースフィードでのカスタムパブリッシャー
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
ケースフィードでパブリッシャーを使用すると、サポートエージェントは顧客へのメール送信、ケースメモの作
成、ケースの状況変更などの作業を実行できます。Visualforce ページを使用して、エージェントに追加の機能を
提供するカスタムパブリッシャーを作成できます。
カスタムパブリッシャーの例として、次のようなものがあります。
•
ケースコメントパブリッシャー - エージェントがケースのメモ用に 1,000 文字を上回るケースに関するコメン
トを作成できる
•
ToDo パブリッシャー — エージェントがケースに関連する ToDo を作成できる
•
エンタイトルメントパブリッシャー — ケースについて期日超過、予定どおり、マイルストンまでの時間な
ど、サービスレベル契約 (SLA) 状況を表示し、エージェントがマイルストンを完了とマークできる
59
ケースフィードの機能強化
ケースフィードで使用できる新規フィード項目
標準ケースコントローラを使用する Visualforce ページをカスタムパブリッシャーとして使用できます。
Visualforce ページを作成してカスタムパブリッシャーとして使用する方法についての詳細は、「Visualforce での
ケースフィードのカスタマイズ」を参照してください。
ケースフィードで使用できる新規フィード項目
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
Winter ‘13 では、ケースフィードに 2 種類のフィード項目が導入されました。
•
Live Agent トランスクリプト — ケースに関連する各 Live Agent のチャットセッションのトランスクリプトが
ケースのフィードに表示されます。このフィード項目には、チャットの基本情報と最初の数行が表示されま
す。[さらに表示] をクリックするとチャットの詳細がフィードに直接表示され、[トランスクリプトを参照]
をクリックするとトランスクリプトレコード全体が表示されます。
•
ソーシャル投稿 — Salesforce ソーシャルハブで作成された投稿など、ケースに関連付けられた Facebook およ
び Twitter の投稿がフィードに表示されます。
これらの項目をフィードに含めるには、次の手順で項目を選択したフィード条件のリストに追加します。
1. あなたの名前 > [設定] > [カスタマイズ] > [ケース] > [ページレイアウト] をクリックします。
2. ケースフィードユーザのページレイアウトで、レイアウトの横にある
を編集] を選択します。
をクリックして [フィードビュー
3. [フィードおよび条件オプション] で、フィードに含める項目を [選択可能] リストから [選択済み] リストに移
動します。
4. [保存] をクリックします。
メールドラフトと承認
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
ドラフトメールを使用すると、サポートエージェントは作成した顧客宛てメッセージをすぐに送信せずに保存で
きます。また、システム管理者がメールメッセージの承認プロセスを作成することもできます。たとえば、エー
ジェントはメッセージをドラフトとして保存しておいて、追加の情報を収集したり、トラブルシューティング手
順を確認してからメッセージを顧客に返信できます。また、作業内容を失わずに休憩をとったり、Salesforce から
ログアウトしたりすることもできます。
承認プロセスでは、どのメッセージに承認が必要か、承認者を自動的に割り当てるかどうかなどを指定して、組
織でのドラフトメールメッセージの処理方法を決定します。会社のニーズに基づいてカスタマイズした承認プロ
セスを作成できます。たとえば、承認プロセスを作成して、新しいサポートエージェントがスーパーバイザーが
レビューするまでメッセージを送信できないようにしたり、金融トランザクションのような機密性の高い問題に
関連するメッセージはすべて送信前の承認を必須にしたりできます。
60
ケースフィードの機能強化
ケースフィードでの Chatter アンサーのサポート
詳細は、「メールの下書きの使用」 (Salesforce オンラインヘルプ)および「メールの下書きのレビューと承認」
(Salesforce オンラインヘルプ)を参照してください。
メールメッセージの承認プロセスについての詳細は、「メールの下書きの承認プロセスの作成」 (Salesforce オン
ラインヘルプ)を参照してください。
ケースフィードでのメールドラフトの有効化
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
必要なユーザ権限
サポート設定を変更する
「ケースの管理」
および
「アプリケーションのカスタマイズ」
メールドラフトを有効化する前に、メール-to-ケースおよびケースフィードを設定します。
ドラフトメールを有効化すると、ケースフィードを使用するサポートエージェントは、メッセージを作成し、す
ぐに送信せずに保存することができます。このオプションにより承認プロセスを実装することもできるため、
スーパーバイザーやシニアエージェントがメッセージをレビューしてから顧客に送信することができます。
1. あなたの名前 > [設定] > [カスタマイズ] > [ケース] > [サポート設定] をクリックします。
2. [編集] をクリックします。
3. [メールドラフトを有効化] を選択します。
4. [保存] をクリックします。
メモ: メッセージがドラフトとして保存される場合、メールパブリッシャーの [送信先]、[送信者]、[CC]、
[BCC]、[件名] 以外の項目への変更は保存されません。ドラフトメールを使用する予定の場合は、メー
ルパブリッシャーから追加の項目を削除することをお勧めします。
ケースフィードでの Chatter アンサーのサポート
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
Chatter アンサーが有効な組織では、サポートエージェントがケースフィードでポータルパブリッシャーを使用
し、質問からエスカレーションされたケースへの返信を投稿できるようになりました。
エージェントが質問に関連付けられたケースを処理するとき、ポータルパブリッシャーには 2 つのオプションが
表示されます。
61
ケースフィードの機能強化
ケースフィードのスマートメールテンプレート
1. 顧客のみ — このオプションを選択すると、質問をした顧客に非公開の返信が投稿されます。必要に応じて、
エージェントは [メールを送信] を選択し、質問への返信が投稿されたことを知らせるメッセージを顧客に送
信できます。
2. 全員 — このオプションを選択すると公開返信が投稿されます。公開返信は、質問が投稿された Chatter アン
サーコミュニティの全員に表示されます。
ポータルパブリッシャーを使用した顧客への返信についての詳細は、「カスタマーポータルを介した顧客とのや
りとり」 (Salesforce オンラインヘルプ)を参照してください。
ケースフィードのスマートメールテンプレート
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
デフォルトメールテンプレートを使用すると、サポートエージェントは顧客への返信の迅速さ、正確さ、一貫性
を容易に高めることができます。メールテンプレートは事前に読み込まれているため、エージェントはメールを
作成する前に必要なテンプレートを参照する必要がありません。テンプレートは必要なだけ作成でき、会社の
ニーズに基づいて割り当てることができます。たとえば、サポートセンターが複数の製品に関連する問題を処理
する場合、製品ごとに固有のテンプレートを作成し、ケースの発生源、件名、またはその他の条件に基づいて適
切なテンプレートを事前に読み込むことができます。
デフォルトメールテンプレートを有効化する前に、テキスト、HTML、またはVisualforce テンプレートを作成
し、テンプレート選択ロジックを含む Apex クラスを作成しておく必要があります。このクラスには、新しい
Support.EmailTemplateSelector インターフェースを実装する必要があります。
デフォルトテンプレートの有効化と設定についての詳細は、「ケースフィードのデフォルトメールテンプレート
の有効化」 (Salesforce オンラインヘルプ)を参照してください。
ケースフィードの外観の更新
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
ケースフィードページの外観が更新されました。ボタンが設計しなおされ、より明快に効率よく操作できるよう
になりました。
62
ケースフィードの機能強化
インタラクション API での新しいケースフィードメソッド
インタラクション API での新しいケースフィードメソッ
ド
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
Winter '13 では、Open CTI も含むインタラクション API が拡張され、2 つの新しいメソッドである
onObjectUpdate() と refreshObject() が追加されました。これらのメソッドを使用して、開発者はケース
フィードページの要素間に相互関係を設定できます。
onObjectUpdate()
使用方法
ケースフィードページでケース項目、ケースフィード、またはケース関連リストのデータが変更された場合に
コールする関数を登録します。
メモ: ケースフィードでカスタムパブリッシャーとして使用する Visualforce ページでこのメソッドを使用
します。Visualforce ページを作成してカスタムパブリッシャーとして使用する方法についての詳細は、
「Visualforce でのケースフィードのカスタマイズ」を参照してください。
構文
sforce.interaction.entityFeed.onObjectUpdate(callback:function)
63
ケースフィードの機能強化
インタラクション API での新しいケースフィードメソッド
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッドです。
サンプルコード – JavaScript
<apex:page standardController="Case">
<apex:includeScript value="/support/api/26.0/interaction.js"/>
<script type="text/javascript">
var callback = function(response) {
alert('Case was updated. Fields = ' + response.fieldsUpdated +
' Related lists = ' + response.relatedListsUpdated + ' Feed = ' +
response.feedUpdated);
};
//Invokes API method
sforce.interaction.entityFeed.onObjectUpdate(callback);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドの 1 つのオブジェクトで応答を返します。応答オブ
ジェクトには次の項目が含まれます。
名前
型
説明
fieldsUpdated
boolean
1 つ以上のケース項目が更新された場合は true。
relatedListsUpdated
boolean
1 つ以上のケース関連リストが更新された場合は true。
feedUpdated
boolean
ケースフィードが更新された場合は true。
refreshObject()
使用方法
ケースフィードページで、ケース項目、ケースフィード、またはケース関連リストのデータが変更されたことを
通知し、このページのこれらの項目を強制的に更新します。
メモ: ケースフィードでカスタムパブリッシャーとして使用する Visualforce ページでこのメソッドを使用
します。Visualforce ページを作成してカスタムパブリッシャーとして使用する方法についての詳細は、
「Visualforce でのケースフィードのカスタマイズ」を参照してください。
構文
sforce.interaction.entityFeed.refreshObject(
objectId:string,
refreshFields:boolean,
64
ケースフィードの機能強化
インタラクション API での新しいケースフィードメソッド
refreshRelatedLists:boolean,
refreshFeed:boolean,callback:function)
引数
名前
型
説明
objectId
string
ケースオブジェクトのレコード ID です。
refreshFields
boolean
ケースの 1 つ以上の項目が変更されたことを示します。
refreshRelatedLists
boolean
1 つ以上のケース関連リストが変更されたことを示します。
refreshFeed
boolean
ケースフィードが変更されたことを示します。
callback
function
メソッドの完了時にコールされる JavaScript メソッドです。
サンプルコード – JavaScript
<apex:page standardController="Case">
<apex:includeScript value="/support/api/26.0/interaction.js"/>
<a href="javascript:void(0);"
onclick="sforce.interaction.entityFeed.refreshObject('{!case.id}', true, true, true,
function(response) {alert('Case was updated: ' + response.result);});">Refresh Case</a>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドの 1 つのオブジェクトで応答を返します。応答オブ
ジェクトには次の項目が含まれます。
名前
型
説明
result
boolean
ケースフィードページが正常に更新された場合は、true、失敗した場
合は、false。
65
Chatter アンサー
Chatter アンサーの評価を使用したコミュニティの参加促進
Chatter アンサー
Chatter アンサーの評価を使用したコミュニティの参加促
進
使用可能なエディション: Enterprise Edition および Unlimited Edition
積極的なコミュニティメンバーの活動に報奨を与えることで、コミュニティメンバーから専門知識や情報を引き
出すことができます。評価を有効化すると、ユーザはポイントや評価を獲得できます。これらはフィードでユー
ザの写真にマウスを置くと表示されます。人気のある投稿者がより頻繁に活動することで、コミュニティのコン
テンツ全体の質が向上し、問題解決のための支援を求めているユーザはより適切な回答が得られるようになりま
す。つまり、ソリューションを探しているユーザは、コミュニティのエキスパートの回答が信頼できるという確
信を持てるため、結果として組織のサポートへの電話を減らすことができます。
ユーザは、所属するコミュニティで投稿が投票を集めたり、最良の回答に選ばれたりすると、ポイントを獲得し
ます。一定数のポイントを獲得すると、フロート表示にコミュニティでの評価と投稿数および最良の回答数が表
示されます。
Chatter アンサーには、すべてのコミュニティに適用される、次の事前定義された評価レベルがあります。
名前
レベルが適用されるポイント数
色
ニュービー
0 ~ 499
緑
スマーティー
500 ~ 1999
青
66
Chatter アンサー
Visualforce ページを使用したポータルの Chatter アンサーのカスタマイズ
名前
レベルが適用されるポイント数
色
プロフェッショナル
2000 ~ 4999
紫
オールスター
5000 ~
オレンジ
コミュニティ内の評価レベル名やレベルごとのポイント数を追加または編集するには、API で
ChatterAnswersReputationLevel オブジェクトを使用します。アプリケーションでは最大 25 個の異なる評価レベル
を作成できます。評価レベルごとの色は、スタイルシート (CSS) レベルで変更できます。
Visualforceページを使用したポータルのChatter アンサー
のカスタマイズ
使用可能なエディション: Enterprise Edition および Unlimited Edition
Visualforce ページを作成すると、カスタマーポータルまたはパートナーポータルに Chatter アンサーコミュニティ
を表示できます。Visualforce ページを使用すると、お知らせや広告など、カスタムウィジェットを Chatter アン
サー に追加して、ブランドを拡張し、ユーザのコミュニティエクスペリエンスを変えることができます。コミュ
ニティを表示するには、作成するページに chatteranswers:allfeeds コンポーネントを含める必要がありま
す。ユーザはいずれかのポータルにログインすると、タブから Chatter アンサーにアクセスし、そのコミュニティ
に対する操作を行えます。Visualforce ページを使用して Chatter アンサー を追加すると、ユーザにはそのページ
に関連するコミュニティのみが表示されます。ポータルで標準の [Chatter アンサー] タブを使用する場合とは異
なり、コミュニティを切り替えることはできません。
メモ: Visualforce ページは、ポータルユーザにのみ表示されます。内部ユーザには [Chatter アンサー] タ
ブが表示されますが、ポータルを使用してタブのコンテンツを表示するには、ポータルからログインす
る必要があります。
ポータルへのカスタム Visualforce ページの追加
使用可能なエディション: Enterprise Edition および Unlimited Edition
必要なユーザ権限
カスタマーポータルを設定および更新する
「アプリケーションのカスタマイズ」
カスタム Visualforce タブをポータルに追加する手順は、次のとおりです。
1. あなたの名前 > [設定] > [作成] > [タブ] をクリックして、組織の Visualforce タブのリストを表示します。
67
Chatter アンサー
[質問] タブからの質問の作成
2. 新規 Visualforce タブを作成するには、[新規] をクリックします。
3. Visualforce ページを選択し、ページの他の項目の詳細を追加します。
4. [次へ] をクリックします。
5. タブを表示できるユーザプロファイルを選択します。
6. 新しいタブを表示するポータルを選択します。
[質問] タブからの質問の作成
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
必要なユーザ権限
[質問] タブを参照する
質問に対する「参照」
質問する、および質問に返信する
質問に対する「作成」
メモ: 質問に関する項目はシステム管理者が決定するため、次の手順に含まれていない項目が設定されて
いる可能性があります。
[質問] タブは、アプリケーションとコンソールの両方で、自分が進行および管理するコミュニティに質問するた
めに使用できます。コミュニティメンバーに情報提供や意見を求めることで、容易にトピックへの関心を評価し
たり、コミュニティ内でエンゲージメントを高めたりできます。
[質問] タブからコミュニティに質問を投稿する手順は、次のとおりです。
1. 質問リストビューページで [新規質問] をクリックするか、[質問] 概要ページの [最近の質問] リストで [新規]
をクリックします。
2. 質問するコミュニティを選択します。
3. 質問のタイトルを追加します。
4. 必要に応じて、質問の説明を入力します。
テキストを書式設定したり、画像をアップロードしたりするには、リッチテキストエディタを使用します。
画像をフィードに正しく表示するには、画像の幅を 450 ピクセル未満にすることをお勧めします。
5. 質問のカテゴリを選択します。
質問をコミュニティに表示するには、質問にカテゴリを割り当てる必要があります。カテゴリのない質問は、
質問の所有者には表示されますが、コミュニティの他のメンバーには表示されません。
6. [保存] をクリックします。
68
Chatter アンサー
フィードの質問と回答の機能強化
フィードの質問と回答の機能強化
使用可能なエディション: Enterprise Edition および Unlimited Edition
Winter ‘13 では、フィードに質問と回答を表示する方法を機能強化して、Chatter アンサーをさらに使用しやすく
改善しました。
•
投稿にフラグを付けるオプションがフィードの質問または回答の投稿内に表示されるようになりました。以
前は、フラグ付けオプションを選択するには、[さらに表示] をクリックする必要がありました。
•
質問のタイトルをクリックすると、質問とそれに関連するすべての回答の新しいビューが表示されます。こ
のビューは [詳細を表示] オプションに代わって使用されます。
•
質問、回答、またはナレッジ記事への支持を示すには、[いいね!] を使用します。Winter ‘13 では、フィードの
[役に立つ] が [いいね!] に変わりました。さらに、[進行中質問] では投稿をフォロー ([フォローする] をクリッ
ク) していなくても [いいね!] と言えるようになりました。投稿を [フォローする] と、今後も投稿に関する更
新がメールで配信されます。
•
質問をフォローした後でその質問が最良の回答として選択された場合にも、[フォロー解除] できるようにな
りました。以前は、これらの質問のフォローを停止する方法がありませんでした。投稿のフォローを解除す
ると、メール配信も停止します。
質問をカスタマイズする新しいオプション
使用可能なエディション: Enterprise Edition および Unlimited Edition
必要なユーザ権限
カスタムボタンとカスタムリンクを作成または変更す 「アプリケーションのカスタマイズ」
る
カスタムページレイアウトを追加する
「アプリケーションのカスタマイズ」
Winter '13 では、システム管理者が使用する質問の詳細、編集およびリストビューページのカスタムビューを表
示するオプションが追加されました。システム管理者はカスタムページレイアウトを作成したり、質問にボタン
およびリンクを追加したりできます。
•
apex:detail を含む Visualforce ページを使用して、質問のデフォルトの単一の項目ビューを上書きする。デフォ
ルトのページレイアウトを上書きして、質問を表示するための他のページレイウアウトを作成できます。
•
質問の詳細ページにカスタムボタンとカスタムリンクを追加することにより、外部 URL を追加して、アプリ
ケーションおよびその他のモジュールにアクセスできる。
オンラインヘルプの「ページレイアウトのカスタマイズ」および「ボタンとリンクについて」を参照してくださ
い。
69
Chatter アンサー
質問のテキストの書式設定および質問への写真の追加
質問のテキストの書式設定および質問への写真の追加
使用可能なエディション: Enterprise Edition および Unlimited Edition
Winter '13 では、システム管理者はコミュニティのメンバーにリッチテキストエディタへのアクセス権を付与で
きます。リッチテキストエディタを使用して、質問を投稿するときにテキストを書式設定したり、画像を追加し
たりできます。最大 32 KB の画像を使用できます。
フィードからの名前と写真への API アクセス
使用可能なエディション: Enterprise Edition および Unlimited Edition
API を使用すると、開発者はフィードからポータルユーザの姓名、プロファイル写真、およびサムネイル写真に
プログラムを使用してアクセスし、フィード項目のカスタマイズビューを作成できます。Winter ’13 では、次の
項目が Case、CaseComments、Question、および Reply オブジェクトに追加されました。
項目
説明
CreatorFullPhotoUrl
フィードからユーザのプロファイル写真を参照する
URL。この項目を表示するには、Chatter アンサーが有
効化されている必要があります。
CreatorName
質問または返信を投稿したユーザの名前。 フィードで
は内部ユーザ (エージェント) のファーストネームのみ
がポータルユーザに表示されます。この項目を表示す
るには、Chatter アンサーが有効化されている必要があ
ります。
CreatorSmallPhotoUrl
フィードからユーザのサムネイル写真を参照する URL。
この項目を表示するには、Chatter アンサーが有効化さ
れている必要があります。
70
アイデア
Chatter アンサーからサインインリンクを削除するためのオプション
Chatter アンサーからサインインリンクを削除するための
オプション
使用可能なエディション: Enterprise Edition および Unlimited Edition
Winter ’13 では、NoSignIn 属性 (boolean) を chatteranswers: allfeeds で使用して、コミュニティからすべ
てのサインインリンクを削除できます。このオプションは、外部サインインパスがあり、ユーザが、標準のChatter
アンサーサインインの代わりに外部サインインパスに従うようにする場合に使用します。NoSignIn 属性 (boolean)
が true の場合でも、ユーザは公開されていてアクセス可能なコミュニティのコンテンツを検索して表示できま
す。ユーザがすでに有効なセッションを確立している場合、引き続き質問の投稿、返信、投票、コンテンツへの
フラグ付けができます。
アイデア
Service Cloud コンソールを使用したアイデアコミュニ
ティの進行
使用可能なエディション: Professional Edition、Enterprise Edition、Unlimited Edition、および Developer Edition
アイデアの進行では、モデレータはエージェントコンソールから直接、健全で互いを尊重しあうコミュニティの
ディスカッションを促進することができます。
•
モデレータおよび管理者は、アイデアと、関連するアイデアのテーマをコンソール内のタブからレビュー、
更新、作成、および管理できます。
•
モデレータは、アイデアリストビューからアイデアを編集および削除できるようになったため、アイデアコ
ミュニティを以前より簡単に管理できるようになりました。処理するアイデアの横にある [編集] または [削
除] リンクをクリックします。
•
アプリケーション内の [アイデア] タブからすばやく簡単にビューを切り替えることができます。[アイデア]
タブを表示するには、
します。
をクリックします。リストビューに切り替えるには、 [リスト] をクリック
71
アイデア
アイデアのテーマ
アイデアのテーマ
使用可能なエディション: Professional Edition、Enterprise Edition、Unlimited Edition、および Developer Edition
ご要望にお答えして、この機能強化は、IdeaExchange のアイデアをもとに開発されました。
アイデアのテーマを使用して特定のトピックに関するアイデアを投稿するようにコミュニティメンバーを招待す
れば、メンバーが問題を解決したり、会社の革新を提案したりできるようになります。たとえば、コミュニティ
を巻き込んで新製品の発売を盛り上げるために、協力して製品の名前を考えるようにコミュニティメンバーに依
頼できます。コミュニティメンバーは協力し合って、アイデアをアイデアのテーマに追加します。コミュニティ
メンバーが互いのアイデアに投票およびコメントして、最終的に勝者が決定するまで活動を観察できます。
アイデアのテーマを作成すると、写真、動画、その他のマルチメディアコンテンツをショーケースに追加した
り、コミュニティに提示したアイデアを説明したりできます。また、アイデアのテーマに投稿されたアイデアの
リストを表示したり、管理したりすることもできます。
アイデアのテーマの有効化
使用可能なエディション: Professional Edition、Enterprise Edition、Unlimited Edition、および Developer Edition
必要なユーザ権限
アイデアのテーマの設定をカスタマイズする
「アプリケーションのカスタマイズ」
1. あなたの名前 > [設定] > [カスタマイズ] > [アイデア] > [アイデアのテーマ] > [設定] をクリックします。
2. [編集] をクリックします。
72
アイデア
アイデアのテーマ
3. [アイデアのテーマを有効化] を選択します。
4. [保存] をクリックします。
メモ: アイデアのテーマは、一度有効にすると無効にはできません。
アイデアのテーマの作成と編集
使用可能なエディション: Professional Edition、Enterprise Edition、Unlimited Edition、および Developer Edition
必要なユーザ権限
[アイデアのテーマ] タブを表示する
アイデアのテーマに対する「参照」
アイデアのテーマを作成する
アイデアに対する「作成」
[アイデアのテーマ] タブは、アプリケーションとコンソールの両方で、自分が管理するコミュニティのアイデア
のテーマの作成と編集に使用できます。
1. [アイデアのテーマ] リストビューページで [アイデアの新しいテーマ] をクリックするか、[アイデアのテーマ]
概要ページの [最近の アイデアのテーマ] リストで [新規] をクリックします。
2. アイデアのテーマのコミュニティを選択し、[次へ] をクリックします。
3. アイデアのテーマの [状況] を選択します。
4. テーマのカテゴリを選択します。
アイデアのテーマをコミュニティに表示するには、カテゴリを割り当てる必要があります。
5. アイデアのテーマのタイトルを追加します。
6. 必要に応じて、テーマの説明を入力します。
テキストを書式設定したり、画像や動画を追加したりするには、HTML エディタを使用します。
7. [保存] をクリックします。
73
アイデア
アイデアのテーマ
アイデアのテーマの使用
使用可能なエディション: Professional Edition、Enterprise Edition、Unlimited Edition、および Developer Edition
必要なユーザ権限
[アイデアのテーマ] タブを表示する
アイデアのテーマに対する「参照」
アイデアのテーマを作成する
アイデアに対する「作成」
リストからテーマの参照、検索、進行、作成を行うには、[アイデアのテーマ] タブをクリックします。
•
[新規ビューの作成] をクリックして、独自のカスタムリストビューを定義する。作成したビューを編集また
は削除するには、[ビュー] ドロップダウンリストから選択し、[編集] をクリックします。組織に複数のコミュ
ニティがある場合は、ビューに [コミュニティ] を追加して、各アイデアのテーマに関連付けられているコミュ
ニティの名前を参照できるようにすることをお勧めします。
•
[アイデアのテーマ] リストビューページで [アイデアの新しいテーマ] をクリックするか、[アイデアのテーマ]
概要ページの [最近の アイデアのテーマ] リストで [新規] をクリックして新しいアイデアのテーマを作成し
ます。
•
•
をクリックして、更新されたリストを更新する。
アイデアのテーマを編集または削除するには、[編集] または [削除] をクリックします。
メモ: アイデアのテーマを削除すると、関連付けられたアイデアも削除されます。反対に、アイデア
のテーマを復元すると、関連付けられたアイデアも復元されます。
アイデアのテーマの管理
使用可能なエディション: Professional Edition、Enterprise Edition、Unlimited Edition、および Developer Edition
必要なユーザ権限
[アイデアのテーマ] タブを表示する
アイデアのテーマに対する「参照」
アイデアのテーマを作成および編集する
アイデアに対する「作成」
[アイデアのテーマ] 詳細ページから、アイデアのテーマとその関連アイデアを管理できます。システム管理者
は、次の作業を実行できます。
•
アイデアのテーマを編集、削除、またはコピーする。
74
アイデア
アイデアのテーマ
•
アイデアのテーマに送信されたアイデアを編集または削除する。
•
コミュニティのアイデアのテーマ間でアイデアを移動する。
アイデアを編集するとき、アイデアのテーマの名前を変更できます。これにより、アイデアが現在のアイデ
アのテーマから削除され、選択した別のアイデアのテーマに移動します。
•
アイデアを作成し、取り組み中のアイデアのテーマに投稿する。
アイデアのテーマのカスタマイズ
使用可能なエディション: Professional Edition、Enterprise Edition、Unlimited Edition、および Developer Edition
必要なユーザ権限
カスタムボタンとカスタムリンクを作成または変更す 「アプリケーションのカスタマイズ」
る
カスタムページレイアウトを追加する
「アプリケーションのカスタマイズ」
Winter '13 では、システム管理者がアイデアのテーマの詳細ページ、編集ページ、およびリストビューページの
カスタムビューを表示できます。システム管理者はアイデアのテーマにカスタムページレイアウトを設定した
り、カスタム項目を追加したり、ボタンおよびリンクを追加したりすることができます。
•
デフォルトのページレイアウトを上書きする場合、Visualforce ページを使用してアイデアのテーマのさまざま
なページレイアウトを作成できます。
•
カスタムボタンとリンクをアイデアのテーマ詳細ページに追加することで、外部 URL を追加し、アプリケー
ションや他のモジュールにアクセスすることができます。
•
組織の固有の要件に合わせて、カスタム項目を追加し、アイデアのテーマをカスタマイズできます。
•
トリガを使用して、アイデアのテーマのワークフロールールまたはアクションを作成できます。たとえば、
アイデアのテーマが終了日に到達した時点で状況を変更するトリガを使用できます。
75
Live Agent の機能強化
Live Agent 設定での [退席中] 自動表示オプション
Live Agent の機能強化
Live Agent 設定での [退席中] 自動表示オプション
使用可能なエディション: 2012 年 6 月 14 日より後に作成された Enterprise Edition、Unlimited Editions、および
Developer Edition 組織
必要なユーザ権限
設定を作成および編集する
「アプリケーションのカスタマイズ」
エージェント設定によって、Live Agent の表示と、Live Agent コンソールまたは Service Cloud コンソールでそれ
を使用するエージェント用の機能が制御されます。[拒否の場合は自動的に退席中に変更] オプションを使用して、
エージェントが着信チャット要求を却下した場合に、そのエージェントの状況を自動的に [退席中] に変更するか
どうかを決定できます。
1. あなたの名前 > [設定] > [カスタマイズ] > [Live Agent] > [エージェント設定] をクリックします。
2. [新規] をクリックするか、既存の設定名の横にある [編集] をクリックします。
3. チャット要求を却下した場合にエージェントの状況が自動的に [退席中] に変更されるようにするには、[拒否
の場合は自動的に退席中に変更] を選択します。注意: このオプションは、プッシュ転送を使用するチャットボ
タンにエージェントが割り当てられている場合にのみ適用されます。
4. [保存] をクリックします。
エージェント設定についての詳細は、「エージェント設定の概要 」 (Salesforce オンラインヘルプ)を参照してく
ださい。
Service Cloud コンソール
Service Cloud コンソールのカスタムホットキー
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition (Service Cloud 付属)
Service Cloud コンソールは、レコードの検索、更新、作成をすばやく行う必要のある、変化の速い環境にある
ユーザ向けに設計されています。Winter '13 では、システム管理者は、組織の Service Cloud コンソールアプリケー
ションごとにキーボードショートカットを作成およびカスタマイズできます。キーボードショートカットによ
76
Service Cloud コンソール
Service Cloud コンソールのカスタムホットキー
り、ユーザはマウスを使用せずにキーの組み合わせを押してアクションを実行できます。キーボードショート
カットを使用して、Service Cloud コンソールをより効率的に機能させることができます。たとえば、ケースの詳
細を入力し、マウスを使用して [保存] をクリックする代わりに、キーボードショートカットを作成して、ユーザ
がケースの詳細を入力し、CTRL+S を押すように設定できます。
Service Cloud コンソールのキーボードショートカットのカスタマイズ
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition (Service Cloud 付属)
必要なユーザ権限
Service Cloud コンソールのキーボードショートカット
をカスタマイズする
「アプリケーションのカスタマイズ」
コンソールのキーボードショートカットを有効にすると、タブの開閉、タブ間の移動、およびレコードの保存な
ど、いくつかのデフォルトショートカットをカスタマイズに使用できるようになります。カスタムショートカッ
トを作成するには、事前に開発者が addEventListener() メソッドを使用してショートカットのアクションを
Service Cloud コンソール統合ツールキットに定義しておく必要があります。コンソールの外部から実行されるア
クションのキーボードショートカットを作成することはできません。
キーボードショートカットを有効にしてカスタマイズする手順は、次のとおりです。
1. あなたの名前 > [設定] > [作成] > [アプリケーション] をクリックします。
2. Service Cloud コンソールアプリケーションの横にある[編集]をクリックします。
3. [キーボードショートカットをカスタマイズ] をクリックします。
4. ページの上部にある [編集] をクリックします。
5. [キーボードショートカットを有効化] を選択します。
6. 次に示す方法で、既存のキーボードショートカットを編集するか、新しいショートカットを作成します。
•
ショートカットを編集するには、ショートカットの横にある [編集] をクリックして、使用するキーコマン
ドの組み合わせを入力して、[OK] をクリックします。
•
ショートカットを作成するには、[+ キーボードショートカットを追加] をクリックし、ショートカットで
実行されるアクション、[コンソールイベント名] (固有の ID)、使用するキーコマンドの組み合わせを入力
し、[OK] をクリックします。新しいショートカットを機能させるには、ショートカットのアクションを
定義した開発者に[コンソールイベント名]を送信して、ショートカットをトリガするメソッドに開発者がそ
れを追加できるようにする必要があります。
•
ショートカットを無効にするには、ショートカット名の横にある [有効] を選択解除します。Salesforce に
よって提供されているデフォルトのショートカットを削除することはできませんが、それらを編集または
無効にすることはできます。
7. [保存] をクリックします。
77
Service Cloud コンソール
Service Cloud コンソールのカスタムホットキー
コンソールのキーボードショートカットをカスタマイズしたら、そのコンソールに割り当てられているユーザ
に、実行できるアクションについて通知します。
メモ:
•
•
•
•
Salesforce によって提供されるデフォルトショートカットと、ユーザが作成するショートカットを合わ
せて、最大 144 個のショートカットをコンソールごとに作成できます。
キーボードショートカットは、文字キーの前に SHIFT キーを押しても大文字と小文字は区別されま
せん。たとえば、SHIFT+b と SHIFT+B は同じです。
CTRL、ALT、または SHIFT をキーボードショートカットに使用する場合、これらのキーの順番は考
慮されません。たとえば、CTRL+ALT+A と ALT+CTRL+A は同じです。
CTRL+F などの標準ブラウザショートカットを含むキーボードショートカットを作成またはカスタマ
イズすると、作成したショートカットが期待どおりに機能しない場合があります。
ヒント: ショートカットにはいくつでもキーを含めることができますが、ユーザが覚えやすいように、
ショートカットのキーは 3 つまでにすることをお勧めします。
Service Cloud コンソールのデフォルトのキーボードショートカット
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition (Service Cloud 付属)
システム管理者が Service Cloud コンソールのキーボードショートカットを有効にすると、次のショートカットが
自動的に表示され、カスタマイズできるようになります。
アクション (キーボード
ショートカット)
説明
キーコマンド
コンソールのキーボード Service Cloud コンソールを表示しているブラウザでキー Esc
ショートカットにフォー ボードショートカットを有効にします。
カス
移動タブに移動
移動タブを選択します。
V
タブ詳細に移動
タブ上の詳細を選択します。
SHIFT+S
主タブに移動
主タブの行を選択します。
P
サブタブに移動
主タブ上のサブタブの行を選択します。
S
リストビューに移動
リストビューを選択します。
N
最初のリストビュー項目 リストビューの最初の項目を選択します。
に移動
Shift+F
ヘッダーの検索ボックス カーソルをヘッダーの検索ボックスに移動します。
に移動
R
78
Service Cloud コンソール
Service Cloud コンソールのユーザセッションの自動保存
アクション (キーボード
ショートカット)
説明
キーコマンド
左に移動
カーソルを左に移動します。
左矢印
右に移動
カーソルを右に移動します。
右矢印
上に移動
カーソルを上に移動します。
上矢印
下に移動
カーソルを下に移動します。
下矢印
タブのドロップダウンボ 他のアクションを選択するためにタブのドロップダウン D
タンを開く
ボタンを開きます。
タブを開く
新しいタブを開きます。
T
タブを閉じる
選択されたタブを閉じます。
C
コマンドを入力
コマンドを有効化します。
コマンドを入力
編集
詳細ページから編集ページに切り替えます。
E
Service Cloud コンソールのユーザセッションの自動保存
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition (Service Cloud 付属)
Service Cloud コンソールは、レコードの検索、更新、作成をすばやく行う必要のある、変化の速い環境にある
ユーザ向けに設計されています。Service Cloud コンソールが設定されている場合、ユーザセッションを保存する
ことを選択することにより、コンソールのユーザがブラウザを閉じたり、Salesforce からログアウトしたりして
も、再度ログインしたときに以前開いていた移動タブ、主タブ、またはサブタブが自動的に表示されるようにす
ることができるようになりました。さらに、コンソールのユーザが相互関係ログやサイドバーコンポーネント
(固定表示リストなど) のサイズを変更したり、グローバル検索ヘッダーを非表示にしたりした場合、そうしたカ
スタマイズもユーザが再度ログインしたときに自動的に表示されます。これにより、ユーザは最初からやり直す
ことなく、最後にコンソールを終了したときの状態から作業を続行できます。たとえば、Service Cloud コンソー
ルで、いくつかのタブを開き、グローバルヘッダーを非表示にし、相互関係ログおよび固定表示リストのサイズ
を変更しているとします。このユーザセッションが終了しても、そのユーザがもう一度ログインしたときに、こ
れらの項目はすべて表示されます。
79
Service Cloud コンソール
Service Cloud コンソールのユーザセッションの自動保存
1. 移動タブ
2. 主タブ
3. サブタブ
4. 固定表示リスト
5. 相互関係ログ
Service Cloud コンソールのユーザセッションの保存
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition (Service Cloud 付属)
必要なユーザ権限
Service Cloud コンソールのユーザセッションを保存す
る
「アプリケーションのカスタマイズ」
Service Cloud コンソールが設定されている場合、ユーザセッションを保存することを選択することにより、コン
ソールのユーザがブラウザを閉じたり、Salesforce からログアウトしたりしても、再度ログインしたときに以前開
いていた移動タブ、主タブ、またはサブタブが自動的に表示されるようにすることができます。さらに、コン
ソールのユーザが相互関係ログやサイドバーコンポーネント (固定表示リストなど) のサイズを変更したり、グ
ローバル検索ヘッダーを非表示にしたりした場合、そうしたカスタマイズもユーザが再度ログインしたときに自
動的に表示されます。これにより、ユーザは最初からやり直すことなく、最後にコンソールを終了したときの状
態から作業を続行できます。
1. あなたの名前 > [設定] > [作成] > [アプリケーション] をクリックします。
80
Salesforce ナレッジの小規模な機能強化
Salesforce Knowledge
2. Service Cloud コンソールアプリケーションを選択します。
3. [編集] をクリックします。
4. [ユーザセッションを保存] をクリックします。
5. [保存] をクリックします。
各コンソールに対して上記の手順を繰り返します。
Salesforce Knowledge
Salesforce ナレッジの小規模な機能強化
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
Winter '13 では、次のように Salesforce ナレッジの機能が強化されました。
•
編集を容易にするため、記事エディタの HTML 項目がディスプレイの幅全体に表示されるようになりまし
た。
•
コミュニティ内の Salesforce ナレッジ記事の URL が変更されました。Winter '13 以前に保存したコミュニティ
の記事のリンクまたはブックマークをリセットしてください。
API による記事タイプへのアクセス
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
API を使用して、開発者はマスタバージョンと翻訳済みバージョンの両方の記事タイプに、プログラムを使用し
てアクセスできるようになりました。このアクセスを使用して、開発者は特定の記事バージョンでレポートを実
行できます。Winter '13 では、次の項目が KnowledgeArticleVersion オブジェクトに追加されました。
項目
説明
ArticleType
記事タイプの API 名を示します。ArticleType は記事
の作成時に割り当てられます。この項目の値を変更す
ることはできません。この項目は、API バージョン 26.0
以降で使用できます。
メモ: これらの項目は記事オブジェクトに表示されます。たとえば、FAQ という名前の記事タイプがあ
る場合、その項目を含む記事オブジェクトは FAQ_kav となります。
81
Salesforce Knowledge
記事に使用できる差し込み印刷テンプレート
記事に使用できる差し込み印刷テンプレート
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
Winter '13 では、記事に差し込み印刷テンプレートを使用できます。差し込み印刷テンプレートを使用して、記
事を含むカスタムメールを送信できます。
メモ: テキスト、HTML、およびカスタムメールテンプレート用の [テストの送信と差し込み項目の検証]
ポップアップは、記事タイプについてはサポートされていません。
詳細は、「差し込み印刷テンプレートの管理」 (Salesforce オンラインヘルプ)を参照してください。
ナレッジの共有ルール
ご要望にお答えして、Salesforce ナレッジでは IdeaExchange の次のアイデアに対応しました。データカテゴリの
選択および表示設定の改善および権限セットに基づく記事の表示設定。
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
データカテゴリの表示設定によって、ユーザが表示できる個々のデータカテゴリ、カテゴリに分類された記事、
およびカテゴリに分類された質問が決まります。Winter '13 では、ロールに加えて、権限セットとプロファイル
にカテゴリの表示設定を割り当てることができます。これにより、システム管理者はロールを持たない大規模カ
スタマーポータルのユーザに表示設定を割り当てることができます。
権限セットとプロファイルの両方の設定ページで、データカテゴリの表示設定を割り当てることができるように
なりました。
1. あなたの名前 > [設定] > [ユーザの管理] > [権限セット] または あなたの名前 > [設定] > [ユーザの管理] > [プロ
ファイル] をクリックします。
2. 権限セットまたはプロファイル名をクリックします。
3. [データカテゴリの表示] をクリックします。
82
Salesforce Knowledge
ナレッジの共有ルール
4. アクセス権を割り当てるデータカテゴリグループの横にある [編集] をクリックします。ロールに対する場合
と同じ方法で、データカテゴリへのアクセス権が権限セットとプロファイルに割り当てられます。
5. [カスタム] を選択します。
6. [選択可能なカテゴリ] リストから、権限セットまたはプロファイルにアクセス権を付与するカテゴリを選択
し、それらを [選択済みカテゴリ] リストに追加します。
7. [保存] をクリックします。
詳細は、「カテゴリグループ表示設定について」 (Salesforce オンラインヘルプ)を参照してください。
83
Salesforce Knowledge
公開リンクを使用した記事の共有
公開リンクを使用した記事の共有
ご要望にお答えして、この機能強化は、IdeaExchange のアイデアをもとに開発されました。
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
Winter '13 では、ケースフィードで作業しているカスタマーサービスエージェントは、公開知識ベースまたは公
開 Chatter アンサーサイトからの記事を URL を使用して共有できます。これにより、サイズの大きな記事の PDF
を作成してメール送信する必要がなくなります。
公開リンクを使用してエージェントが記事を共有できるようにする手順は、次のとおりです。
1. あなたの名前 > [設定] > [カスタマイズ] > [ナレッジ] > [設定] をクリックします。
2. [編集] をクリックします。
3. [ケース設定] の下で、[公開 URL を使用して記事の共有をユーザに許可する] を選択します。
4. [利用可能なサイト] リストで、エージェントが URL を送信できるようにするサイトを選択し、それらを [選
択したサイト] リストに追加します。
5. [保存] をクリックします。
ケースフィードから、エージェントは、選択したどのサイトからでも記事のリンクを共有できます。
自動ナレッジ条件検索 - ベータ
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
Winter '13 では、データのカテゴリ対応付けを使用して、[記事] タブ、詳細検索、および記事サイドバーコンポー
ネントに表示される記事を定義できます。たとえば、以下の画面では、エージェントがケース情報を入力する
と、推奨記事サイドバーに関連記事のデータが表示されます。
84
Salesforce Knowledge
自動ナレッジ条件検索 - ベータ
データカテゴリの対応付けを使用して、どのデータカテゴリグループをどのケース項目に対応付けるかを選択
し、対応付けされた項目への入力がないケースに適用されるデフォルトのデータカテゴリを設定します。たとえ
ば、商品カスタムケース項目を商品データカテゴリグループに対応付けて、顧客の商品の記事を絞り込むことが
できます。
1. あなたの名前 > [設定] > [カスタマイズ] > [ナレッジ] > [データカテゴリの対応付け] に移動します。
2. [ケース項目] 列でドロップダウンリストを使用して、項目 (取引先責任者、組織など) を追加します。
3. [データカテゴリグループ] 列で、ドロップダウンリストを使用して、参照項目からの情報をデータカテゴリグ
ループに対応付けます。
4. [デフォルトデータカテゴリ] 列でドロップダウンリストを使用して、情報が定義どおりに対応付けられない場
合に割り当てられるデータカテゴリを指定します。
5. [追加] をクリックします。
ベータ制限
ケース情報に基づいた記事の事前の絞り込みは、テキスト項目と選択リスト項目でのみサポートされます。
85
Service Cloud のその他の機能強化
Service Cloud コンソール統合ツールキット: 複数のドメイン
Service Cloud のその他の機能強化
Service Cloud コンソール統合ツールキット: 複数のドメ
イン
Service Cloud コンソールは、Salesforce でレコードの検索、更新、作成をすばやく行う必要のある、変化の速い環
境にあるユーザ向けに設計されています。Service Cloud コンソール統合ツールキットは上級のシステム管理者や
開発者がコンソールにプログラムでアクセスし、ビジネスニーズに沿ってコンソールを拡張することを可能にす
るユーザインターフェース API です。たとえば、開発者はこのツールキットを使用してコンソールのタブを開い
たり閉じたりすることにより、ビジネスプロセスを合理化できます。以前は、ツールキットは Visualforce でしか
機能しませんでした。現在は、www.yourdomain.com などのサードパーティドメインでツールキットを使用でき
るため、開発者はサードパーティのアプリケーションをコンソールに組み込むことができます。サードパーティ
のドメインでツールキットを使用できるようにするには、Service Cloud コンソールのホワイトリストにそのドメ
インを追加する必要があります。
ツールキットについての詳細は、『Service Cloud コンソール統合ツールキット開発者ガイド』(英語版のみ) を参
照してください。サードパーティドメインでツールキットを使用できるようにする方法の詳細については、
「Service Cloud コンソールのホワイトリストのドメイン」 (Salesforce オンラインヘルプ)を参照してください。
Service Cloud コンソール統合ツールキット: コンソール
通知
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition (Service Cloud 付属)
Service Cloud コンソール統合ツールキットは、ブラウザを使用し、コンソールにタブとしてページを表示するた
めの API です。コンソールをプログラムで使用できるようにすることで、上級のシステム管理者や開発者はビジ
ネスニーズに応じてコンソールを拡張できます。たとえば、開発者はこのツールキットを使用してコンソールの
タブを開いたり閉じたりすることにより、ビジネスプロセスを合理化できます。
Winter '13 では、次の新しいメソッドを使用できるようになりました。
メソッド
説明
addPushNotificationListener()
転送通知用のリスナーを追加します。ユーザがリスナー
を登録できるのは 1 回のみです。ただし、ユーザがリ
スナーを削除するか、別のユーザによってリスナーが
削除されると、再びリスナーを登録できます。
86
Service Cloud のその他の機能強化
質問への返信の編集
メソッド
説明
getPageInfo()
指定されたタブのページ情報のコンテンツをロードし
た後、その情報を返します。タブ ID が Null である場
合、含まれている主タブまたはサブタブのページ情報
を返します。
getPrimaryTabIds()
開いている主タブのすべての ID を返します。
getSubtabIds()
主タブ ID によって指定された主タブにあるサブタブの
すべての ID を返します。主タブ ID が Null である場
合、現在の主タブにあるサブタブの ID を返します。
removePushNotificationListener()
転送通知用に追加されたリスナーを削除します。
ツールキットについての詳細は、『Service Cloud コンソール統合ツールキット開発者ガイド』(英語版のみ) を参
照してください。
質問への返信の編集
Winter '13 では、モデレータはコミュニティに投稿された質問への返信を編集できます。[質問] タブから質問を
選択するときに、いずれかの質問の返信の上にある をクリックして、[編集] を選択し、既存の返信の項目を
編集します。
87
Service Cloud のその他の機能強化
Chatter アンサーの質問と返信の新しい制限
Chatter アンサーの質問と返信の新しい制限
使用可能なエディション: Enterprise Edition および Unlimited Edition
Winter ’13 では、ユーザが質問と返信に入力できる最大文字数が増えました。[Chatter アンサーの設定] ページで
[質問フローを最適化] 権限を選択すると、質問の長さを最大 32,000 文字にできます。公開返信も 32,000 文字に増
え、非公開返信は 4,000 文字に増えました。[質問フローを最適化] を有効化しない場合、質問とすべての返信の
最大文字数は 1,000 文字です。
[ポータルユーザへの所有者の変更用テンプレート]
が選択されていない場合のカスタマーポータルのメール
通知の新しい動作
Winter '13 では、[ポータルユーザへの所有者の変更用テンプレート] またはデフォルトのテンプレートセットがな
いポータルから送信された所有者の変更メール通知の動作を改善しました。ポータルユーザが、プロファイルが
複数のポータルに関連付けられているレコードの所有者を別のポータルユーザに変更した場合、ユーザに送信さ
れるメール通知には、所有者の変更が発生したポータルへのリンクが含まれます。以前のリリースでは、このリ
ンクは、ユーザがメンバーであった最も古いログインを有効にしたポータルを参照していました。
88
分析
エクスポート可能な結合レポート
結合レポートの印刷用表示を選択できるようになりました。印刷用表示を使用して、結合レポートに表示された
すべてのデータをスプレッドシートアプリケーションにエクスポートできます。データは、ブラウザの場合と同
様にグループ化、絞り込み、集計、および表示されます。
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
印刷用表示は、Salesforce にログインせずに結合レポートのデータを処理する場合に使用します。たとえば、同僚
とデータを共有したり、テーブルをプレゼンテーションスライドに取り込んだりする場合などです。
•
詳細を表示するには、[詳細の表示] をクリックし、[印刷用に表示] をクリックします。作成された .xls ファ
イルを開くと、レポートのすべてのデータが含まれています。印刷用表示には最大 2000 行のデータを表示で
きます。
•
概要ビューを表示するには、[詳細を非表示] をクリックし、[印刷用に表示] をクリックします。この .xls
ファイルには、選択した集計項目を使用してレポートの概要ビューが表示されます。
ダッシュボードの結合レポート
レポートで使用されているグラフを選択して、ダッシュボード上に結合レポートを表示できるようになりまし
た。
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
必要なユーザ権限
ダッシュボードを作成、編集、および削除する
「レポート実行」および「ダッシュボードの管理」
動的ダッシュボードを作成、編集、および削除する
「レポート実行」および「動的ダッシュボードの管理」
結合レポートには、複数の標準またはカスタムのレポートタイプのデータを含めることができます。
ダッシュボードに結合レポートを表示する手順は、次のとおりです。
1. ダッシュボードを編集します。
2. [データソース] タブから、レポートグラフが含まれる結合レポートをドラッグアンドドロップします。
89
分析
ダッシュボードの散布図
3. 結合レポートダッシュボードコンポーネントを編集し、[ソースレポートで定義したグラフを使用] を選択し
ます。
結合レポートが含まれるダッシュボードの更新をスケジュール設定し、メールで送信できます。ダッシュボード
ビューの結合レポートのデータを検索条件で絞り込んだり、結合レポートのみが含まれるダッシュボードに検索
条件を追加することはできません。
ダッシュボードの散布図
ダッシュボード上でレポート情報を表示するグラフの種類として散布図を選択できるようになりました。散布図
には、1 つまたは 2 つのグループのレポートデータと集計を使用した役に立つ情報が表示されます。
使用可能なエディション: Professional Edition、Enterprise Edition、Unlimited Edition、および Developer Edition
ダッシュボードのコンポーネントとしての散布図には、次の制限があります。
•
表形式レポートは表示されません。
•
表示ラベルまたは値で並び替えできません。
•
変更できるのは Y 軸の単位の表示方法のみです。
•
手動で定義できるのは Y 軸の範囲のみです。
詳細は、オンラインヘルプの「散布図の例」を参照してください。
90
分析
機能強化されたレポートタブのサポートの追加
機能強化されたレポートタブのサポートの追加
使用可能なエディション: Database.com Edition を除くすべてのエディション
このリリースから、ユーザインターフェーステーマを有効にせずに機能強化されたレポートタブを使用できま
す。機能強化されたレポートタブはアクセシビリティモードでサポートされます。
ユーザインターフェース設定 [新規ユーザインターフェースのテーマを有効化] は、あなたの名前 > [設定] > [カスタ
マイズ] > [ユーザインターフェース] の下にあります。
レポートタブについての詳細は、ヒント集「レポートタブの使用」を参照してください。
91
モバイル
Salesforce Touch
使用可能なエディション: Group Edition、Professional Edition、Enterprise Edition、Unlimited Edition、Contact
Manager Edition、および Developer Edition
Salesforce Touch は、タッチスクリーンデバイス用に特に設計された Salesforce のバージョンです。Salesforce Touch
を使用すると、オフィスで表示するのと同じ情報にリアルタイムでアクセスできますが、情報は外出先での作業
用に整理されて表示されます。
メモ: このリリースに Salesforce フルサイトのすべての機能が搭載されているわけではありません。詳細
は、「Salesforce フルサイトとの違い」 (ページ 96)を参照してください。
Salesforce Touch には次の利点があります。
•
iPad でのナビゲーションとデータ操作を容易にするために最適化された直感的なインターフェース。レコー
ドをスクロール、タップ、スワイプして、すばやく必要な情報を見つけることができます。
•
デバイスのブラウザで実行されるため、ソフトウェアをダウンロードする必要がありません。
•
更新や機能強化が自動的に行われるため、使用するバージョンは常に最新です。
•
組織の Salesforce カスタマイズの多くをサポートしています。
Salesforce Touch の機能の概要
顧客とのミーティングの前に案件の状況や取引先責任者に関するメモを確認します。ミーティングの詳細を覚え
ているうちに、新しい情報でレコードを更新します。オフィスに戻ったらチームメンバーと打ち合わせをし、顧
客の要求に対応する作業を開始します。このような方法で、Salesforce Touch は、ユーザが外出先でも生産性を維
持するのに役立ち、その日の終わりに時間をかけて新しい情報を確認する作業を回避することができます。
このセクションでは、外出時の使用に Salesforce Touch が最適となる主な機能を挙げます。
92
モバイル
Salesforce Touch
1. 組織のカスタムオブジェクトを含む、Salesforce セールスアプリケーションでタブとして表示されるすべての
オブジェクトのレコードを表示、編集および作成する
2. ToDo を作成して管理することにより、活動を把握する
3. 最近参照したリストにない行動およびレコードを含む情報を Salesforce で検索する
4. Chatter を使用してレコードの更新を表示したり、同僚とコラボレーションする
5. Salesforce Touch の目的の領域を更新して、リアルタイムのデータを操作する
このリリースでの Salesforce Touch の機能強化
Winter '13 では、Salesforce Touch の次の機能が強化されています。
•
フルサイトの Salesforce Touch の [設定] ページの [すべてのユーザの Salesforce Touch を有効化] オプション (あ
なたの名前 > [設定] > [モバイル管理] > [Salesforce Touch] > [設定]) が [Touch Web を有効化] という名称に変わ
りました。このオプションは、依然として、iPad の Safari Web ブラウザから Salesforce にログインする場合、
93
モバイル
Salesforce Touch
ユーザを自動的に Salesforce Touch にリダイレクトするかどうかを制御します。この設定は、組織内の全ユー
ザに適用され、デフォルトでは無効になっています。
•
Chatter 投稿およびコメントでユーザにメンションできるようになりました。
•
Salesforce Touch の Chatter タブの表示ラベルが若干変更されました。フルサイトの Chatter の機能強化に合わ
せて、[私の Chatter] フィードフィルタの名称が [自分がフォローするもの] になりました。ただし、[@自分]
フィルタの名称はフルサイトに合わせるように変更されません。
•
Salesforce Touch は、Salesforce のロケール、および完全サポートされる言語、エンドユーザ言語のほとんどを
正式にサポートするようになりました。アラビア語やヘブライ語など、右から左に読む言語のユーザインター
フェースは例外となっており、現在サポートされていません。
なお、これらの重要な強化機能は 2012 年 7 月にリリースされました。
•
取引先レコード、取引先責任者レコード、商談レコード、ToDo レコードや、Salesforce セールスアプリケー
ションに含まれるカスタムオブジェクトのレコードを作成および編集できます。現在、行動を作成または編
集することはできません。
•
Salesforce Touch ユーザインターフェースの外観が新しく、明るくなりました。再設計により、Chatter サブタ
ブでアイコンではなく [フィード]、[グループ]、および [人] という表示ラベルが使用されるようになりまし
た。
•
この「FAQ - Salesforce Touch」は、作成機能および編集機能の新しいトピックを取り込んで再構成されました。
以前の「Touch の操作」セクションは「レコードの操作」という名前に変わり、ToDo と行動に関するトピッ
クは新しい「活動の追跡」セクションで参照できるようになりました。
Salesforce Touch — 要件
Salesforce Touch を使用する要件は次のとおりです。
デバイス:
iOS® バージョン 5.0 以上の Apple iPad (第 2 および第 3 世代)。
ブラウザ:
デフォルトの iPad ブラウザ、Safari。
[プライベートブラウズ] はオフにしてください。iPad の [設定] アイコンをタップし、[Safari] を選択してか
ら、[プライベートブラウズ] を [オフ] に設定します。
Salesforce:
Chatter が組織で有効になっている必要があります。
Salesforce Touch にアクセスするには、有効な Salesforce アカウントが必要です
標準のセールスアプリケーションへのアクセス権が必要です。
無料 Chatter ユーザ、Chatter のみのユーザ、および Chatter 顧客は Salesforce Touch を使用できません。
94
モバイル
Salesforce Touch
ワイヤレス接続:
Salesforce と通信するには、Wi-Fi® または携帯電話のネットワーク接続が必要です。最適なパフォーマンス
を得るには、Wi-Fi の使用をお勧めします。3G 携帯電話ネットワークで Salesforce Touch を使用する場合、
データ料金が適用される場合や、旅行中にローミング料金が発生する場合があります。
Salesforce Touch のオフライン使用は現在サポートされていません。
言語とロケール:
Salesforce Touch は、Salesforce でサポートされるロケール、完全サポートされる言語、エンドユーザ言語の
ほとんどすべてで動作します。アラビア語やヘブライ語など、右から左に読む言語のユーザインターフェー
スは例外となっており、現在サポートされていません。
高度な通貨管理は現在サポートされていません。
Salesforce Touch の有効化
必要なユーザ権限
Salesforce Touch 設定を表示する
「設定・定義を参照する」
Salesforce Touch 設定を変更する
「アプリケーションのカスタマイズ」
「すべてのデータの編集」
Web サービス API を使用する
「API の有効化」
「ユーザの管理」
組織の Salesforce Touch を有効化する手順は、次のとおりです。
1. あなたの名前 > [設定] > [モバイル管理] > [Salesforce Touch] > [設定] をクリックします。
2. [Touch Web を有効化] を選択します。
3. [保存] をクリックします。
Salesforce Touch はデフォルトで無効になっています。この設定を選択すると、組織のすべてのユーザに対して
Salesforce Touch が有効になります。ユーザが iPad の Safari® Web ブラウザから Salesforce にログインした場合、
自動的に Salesforce Touch インターフェースにリダイレクトされます。
メモ: Safari から Salesforce フルサイトにアクセスするようにしたい場合は、ユーザ自身で Salesforce Touch
へのリダイレクトを無効にできます。リダイレクトを無効にするには、アプリケーションまたはフルサ
イトのいずれかから、あなたの名前 > [設定] > [私の個人情報] > [個人情報] にアクセスして、[Touch ユー
ザ] チェックボックスをオフにします。
または、Web サービス API を使用して、ユーザの Salesforce Touch への自動リダイレクトをすばやくオフ
(またはオン) にできます。Salesforce Touch を有効化すると、UserPreferencesOptOutOfTouch 項目が
ユーザオブジェクトに追加されます。デフォルトでは、この項目はすべてのユーザレコードに対して
95
モバイル
Salesforce Touch
false (Salesforce Touch への自動アクセスがオン) に設定されます。希望するユーザのためにリダイレク
トをオフするには、この項目を true に変更します。詳細は、『Web サービス API 開発者ガイド』の
「User」 (Salesforce オンラインヘルプ)のセクションを参照してください。
Salesforce Touch へのアクセス
Salesforce Touch 有効化すると、Safari Web ブラウザから Salesforce アカウントにログインするだけでモバイル Web
インターフェイスにアクセスできます。iPad デバイスからのログインセッションは自動的に Salesforce Touch に
リダイレクトされます。
メモ: Salesforce Touch ではなく Salesforce のフルサイトを表示するようにする場合は、ユーザの [個人情
報] 設定の [Touch ユーザ] チェックボックスがオフになっていることを確認してください。あなたの名前
> [設定] > [ユーザの管理] > [ユーザ] を選択して、ユーザの名前の横にある [編集] をクリックすると、こ
の情報にアクセスできます。
Salesforce Touch の使用
Salesforce Touch の使用方法については、[設定]
を参照してください。
アイコンを使用してアクセスできる「FAQ - Salesforce Touch」
Salesforce フルサイトとの違い
Salesforce Touch に、Salesforce フルサイトのすべての機能が搭載されているわけではありません。現在、Salesforce
セールスアプリケーションは使用可能な唯一のタブセットです。ユーザはセールスアプリケーションに含まれる
取引先、取引先責任者、商談、ToDo、およびすべてのカスタムタブを使用できます。また、[活動予定] 関連リ
ストまたは [活動履歴] 関連リストからアクセスできるすべての行動を参照できます。いくつかの例外はあります
が、これらのオブジェクトの標準項目とカスタム項目はすべて表示できます。また、ユーザは人、グループ、
フィードを含む Chatter データを表示できます。
メモ: Salesforce Touch では、ユーザプロファイルと権限セットを使用するため、フルサイトで操作すると
きと同じタブ、レコードタイプ、項目、ページレイアウト、オブジェクト権限にアクセスできます。た
だし、このリリースでは、組織がプログラムを使用して実装したユーザインターフェースへのカスタマ
イズ (Visualforce、Javascript などの使用) は一切利用できません。
Salesforce Touch では、データを表示する場合に次の制限があります。
•
Chatter グループおよび人: 最初に 15 件表示、最大 200 件まで拡張可能
•
最近使ったデータ: 最初に 15 件表示、最大 100 件まで拡張可能
•
関連リスト: 最初に 30 件表示、拡張不可
96
モバイル
Salesforce Touch
•
検索結果: オブジェクトごとに上位 5 件表示、拡張不可
•
ToDo: 最初に 15 件表示、最大 100 件まで拡張可能
次の機能は、現在、このリリースではサポートされていません。
•
他の標準アプリケーションとすべてのカスタムアプリケーション
•
このセクションで説明されているオブジェクト以外のオブジェクト
•
個人取引先
•
標準リストビューとカスタムオブジェクトリスト
•
次のようなレコード項目
◊ ディビジョン項目
◊ リッチテキストエリア項目
◊ テリトリー管理項目
•
一部の関連リストと関連リスト項目
•
ToDo または行動の Shared Activities
•
アーカイブ済みの活動
•
ダッシュボード
•
取引先、取引先責任者、行動、商談、ToDo、ユーザ、およびカスタムオブジェクト以外のオブジェクトの検
索
•
高度な通貨管理
•
次を含む Salesforce インターフェースへのプログラムによるカスタマイズ
◊ カスタムボタンとカスタムリンク
◊ Web タブと Visualforce タブ
◊ Visualforce コンポーネントと Sコントロール
メモ:
サポートされていない項目および関連リストには、含まれていない情報を参照できるフルサイトへのリ
ンクが含まれています。サポートされていないオブジェクトへのリンクをクリックして、フルサイトを
表示することもできます。また、レコード詳細ペインの [アクション] メニューをフルサイトに切り替え
ると、Salesforce Touch で現在利用できない ToDo を実行できます。
Salesforce.com は、これらのリンクを利便性のために提供していますが、Salesforce Touch からのフルサイ
トの使用は正式にはサポートされていません。
レコードを作成または編集する場合は Salesforce フルサイトとの違いがあります。
カテゴリ
問題
すべてのレ
コード
レコードの所有者とそのレコードタイプは変更できません。これらを変
更するには、フルサイトに切り替えてください。
レコード レコード
の作成
の編集
97
モバイル
カテゴリ
Salesforce Touch
問題
レコード レコード
の作成
の編集
テリトリー管理を有効化している場合、レコードのテリトリールールを
割り当てたり、変更したりすることはできません。
取引先と取引
先責任者
[住所(請求先)を住所(納入先)へコピー] リンクおよび [住所(郵送先)を住所
(その他)へコピー] リンクは使用できません。
テリトリー管理が有効になっている場合、取引先レコードを編集すると
きに [保存時にこの取引先をテリトリールールに照らして評価します] オ
プションを使用できません。
行動
Salesforce Touch では行動レコードを作成または編集できません。
商談
[確度] または [売上予測分類] 項目は編集できません。ただし、レコード
を保存するときに、これらの項目には値が ([フェーズ] 項目の値に基づい
て) 自動的に追加されます。これらの項目の値を手動で上書きするには、
フルサイトでレコードを編集します。
商談を非公開にした場合、レコードからすべての共有が削除されるとい
う警告は表示されません。
ToDo
[名前] 項目を「リード」に設定した場合、[関連先] 項目は使用できませ
んが、Salesforce Touch では編集可能になります。レコードを保存すると
きに [関連先] にデータがあると、入力規則エラーになります。
関連付けられた取引先責任者の [メール] 項目および [電話] 項目は表示
されません。
Shared Activities を使用して複数の取引先責任者を ToDo に関連付けるこ
とはできません。
定期的な ToDo を作成したり、定期的な ToDo の詳細を変更することは
できません。
[コメント] 項目のスペルチェックは使用できません。
添付ファイルは追加できません。
通知メールを送信することはできません。
ToDo アラームを設定することはできません。
参照項目
拡張ルックアップはサポートされないため、ルックアップ検索にワイル
ドカードを使用できません。また、検索結果の並び替え、フィルタ、ペー
ジ操作はできません。
連動ルックアップはサポートされません。
ルックアップフィルタは考慮されないため、ルックアップ検索結果を絞
り込む方法はありません。組織で有効ではない項目を選択することにな
98
モバイル
Salesforce Touch
カテゴリ
問題
レコード レコード
の作成
の編集
り、レコードを保存するときにエラーメッセージが表示される可能性が
あります。
電話番号項目
Salesforce Touch では、電話番号項目に入力された数値に書式設定を適用
しないため、「4155551212」と入力すると、レコードを表示するとき
にそのまま電話番号として表示されます。
選択リスト項
目
制御と連動選択リストはサポートされますが、Salesforce Touch ではこれ
らの項目の作成と編集のページにインジケータは表示されません。選択
リスト項目が連動関係にあるかどうか、どの選択リスト項目がそれを制
御しているかを判定するには、フルサイトに切り替えてください。
テキストエリ
ア項目
このリリースでは、テキストエリア項目はスクロールできません。項目
に表示できないテキストにアクセスするには、項目をタップしてキーボー
ドを表示し、タッチして保持し虫眼鏡を表示します。項目に目的のテキ
ストが表示されるまで虫眼鏡をゆっくりとドラッグします。
[Chatter] タブでは次の操作は実行できません。
•
プロファイル情報を作成または更新する、あるいはプロファイルの写真をアップロードする
•
プロファイルの [フォローされている人] リスト、[フォローしている人] リスト、[グループ] リスト、[所有
ファイル] リストを表示する
•
Chatter 活動統計または Chatter 影響度状況を表示する
•
Chatter のおすすめを受信する
•
トピックのトレンドを表示する
•
同僚を Chatter へのサインアップに招待する
•
グループ設定および情報を更新する
•
新しいグループを作成する
•
グループのメンバーまたはグループファイルのリストを表示する
•
Chatter 顧客を非公開グループへの参加に招待する
•
ファイルをアップロード、共有、またはプレビューする
•
フルサイトの [ファイル] タブを介してアップロードされたファイル、またはコメントにアップロードされた
ファイルを表示またはダウンロードする (Chatter フィードの投稿に添付されたファイルは表示可能)
•
ファイルを検索またはフォローする
•
Chatter メッセージを送信または表示する
•
投稿をブックマークする
•
Chatter 更新にいいね! と言った人のリストを表示する
•
公開投稿を共有する
•
Chatter のお気に入りを追加または表示する
•
投稿とコメントにトピックを追加する
•
グループ、人、ファイルを含む、Chatter フィードのデータを検索する
99
モバイル
Salesforce Mobile SDK
•
(フルサイトで [フィード] フィルタを使用する場合のように) Chatter のフィードをすべて表示する
•
レコードをフィルタまたはフォローする
•
Chatter をモデレータとして使用する
Salesforce Mobile SDK
Salesforce Mobile SDK は、モバイルアプリケーションの開発を単純化する、オープンソースの開発者技術スイー
トです。
Mobile SDK は、次の機能を提供します。
•
すぐに使える Android および iOS 用 OAuth のネイティブ実装
•
永続化機能や更新機能を含む、OAuth アクセストークン管理
•
ハイブリッドアプリケーションを構築するためのアプリケーションコンテナ
Salesforce Mobile SDK を使用すると、3 種類のモバイルアプリケーションを作成できます。
•
ネイティブ — ネイティブアプリケーションは、モバイルプラットフォームのネイティブ機能を使ってコー
ディングされます。通常、これらのアプリケーションの開発はより困難ですが、最高のパフォーマンスを得
ることができます。このワークブックでは、iOS および Android 向けのネイティブアプリケーションの構築方
法を説明します。
•
HTML5 — HTML5 アプリケーションは、HTML5、CSS、および JavaScript を使って構築されます。これら
の軽量なサーバサイドページは、通常、最も高い移植性がありますが、プラットフォームのネイティブ機能
にはアクセスできません。HTML5 アプリケーションは OS 固有ではないため、同じアプリケーションを
iOS、Android、Windows Mobile、またはその他のデバイスで実行できます。
•
ハイブリッド — ハイブリッドアプリケーションは、ネイティブコンテナに JavaScript ブリッジを使用して、
HTML5 の移植性と、カメラやアドレス帳などのデバイスのネイティブ機能を共に実現します。
Mobile SDK は新しい技術であるため、今後数年間は頻繁に変更されることが予想されます。最新のリリースノー
トは、http://wiki.developerforce.com/MobileSDK をご覧ください。
100
DATA.COM
Data.com 製品スイートの概要
Data.com は CRM 内に主要なビジネスデータを提供する salesforce.com のソリューションです。チームはデータ
の入力や更新に費やす時間を削減し、ビジネスの成長により多くの時間を割くことができるようになります。
Data.com は、D&B からクラウドソーシングのビジネスコンタクトを取得してクラウドで管理されている取引先
情報と結びつけるため、リアルタイムで CRM をクリーンな最新の状態に保つことができます。 Salesforce 内で、
[Data.com] タブから Data.com 取引先と取引先責任者を検索でき、Data.com ライセンスを所有する場合は、Salesforce
にレコードを追加できます。取引先責任者の検索結果を取引先責任者またはリードのいずれかとして追加できま
す。Data.com を使用すれば、必要な取引先と取引先責任者を非常に簡単に検索できるため、営業テリトリーを計
画し、キャンペーンを分割し、取引を行う新しい取引先を見出し、新しい取引先責任者を獲得することで、販売
ネットワークをすばやく拡大することができます。Data.com 製品スイートには、Data.com コーポレートと Data.com
プレミアムのほか、関連製品の Data.com クリーンアップと Data.com レポートが含まれます。このトピックで
は、各製品の機能を紹介し、それらがどのように連携するかを説明します。
メモ: Data.com は、米国以外ではリリースされていません。このため、これらのリリースノートには含ま
れていませんが、このサービスに関する情報はヘルプで参照できます。
101
SITE.COM
ページのブレッドクラム
購入可能なエディション: Enterprise Edition および Unlimited Edition
使用可能なエディション (制限付き) : Developer Edition
Winter '13 では、Site.com ページおよびページテンプレートに追加できる、サイトの移動に役立つ新しいブレッ
ドクラムページ要素を追加しました。メニューページ要素と同様、ブレッドクラムはサイトマップに基づいてい
ます。ブレッドクラムは、ルートノード、ノード間の区切り文字、ブレッドクラム自体のビジュアルスタイルを
変更することにより、カスタマイズできます。
詳細は、「ページへのブレッドクラムの移動メニューの追加」 (Salesforce オンラインヘルプ)を参照してくださ
い。
更新されたメニューソースオプション
購入可能なエディション: Enterprise Edition および Unlimited Edition
使用可能なエディション (制限付き) : Developer Edition
Winter '13 では、[プロパティ] ペインの [メニューソース] 項目を更新し、パブリッシャーおよびデザイナがより
柔軟にサイトページの移動メニューを作成できるようになりました。
•
[他のマップを使用] は、参照先のページをより明確に表す [ランディングページ] という名称に変更されまし
た。
•
また、2 つの新規オプションが追加され、自分のメニュー用にさらに幅広いサイトページから選択できるよう
になりました。
◊ 子ページ — 現在のページの子ページを使用するメニューを作成します。
◊ 兄弟ページ — 現在のページと同じ親を共有するすべてのページを使用するメニューを作成します。
102
Site.com
メニューおよびブレッドクラムでのページの表示
メニューおよびブレッドクラムでのページの表示
購入可能なエディション: Enterprise Edition および Unlimited Edition
使用可能なエディション (制限付き) : Developer Edition
Winter '13 では、移動要素のカスタマイズに役立つ新しいチェックボックスが追加されました。各ページの [プロ
パティ] ペインにある [ページを非表示] チェックボックスを選択すると、メニュー、ブレッドクラム、およびサ
イトマップでページを非表示にすることができます。また、この設定を行うと、Web サイトの訪問者がページの
ダイレクト URL からアクセスすることもできなくなります。デフォルトでは、すべてのページが表示されます。
サイトマップのリンク
購入可能なエディション: Enterprise Edition および Unlimited Edition
使用可能なエディション (制限付き) : Developer Edition
ページだけでなく、リンクもサイトマップに割り当てることができるようになりました。内部 URL または外部
URL をサイトマップに追加して、移動メニューおよびブレッドクラムをカスタマイズできます。サイトマップ
のリンクを作成するには、[概要] タブの [サイトページ] ビューで、[新規] をクリックして、[サイトマップリン
ク] を選択します。名前を付けて、URL を入力するだけで作業完了です。
サイトマップのリンクは移動メニューおよびブレッドクラムに自動的に含まれます。ただし、サイトマップのリ
ンクをブレッドクラムのカスタムルートノードとして設定することはできません。
編集権限のカスケード
購入可能なエディション: Enterprise Edition および Unlimited Edition
使用可能なエディション (制限付き) : Developer Edition
以前は、ページテンプレートでページ要素を編集可能にした場合、そのページ要素はそのテンプレートに直接基
づいているページまたはテンプレートでのみ編集可能でした。Winter '13 では、その制限がなくなりました。
ページ要素の [編集可] プロパティを有効化すると、そのテンプレートに基づくすべてのページまたは子テンプ
レートで有効化されている状況が継承されます。子テンプレートで有効化された状況は、さらにその子などのす
べてにカスケードされます。編集権限を下位レベルにカスケードしない場合は、子テンプレートのページ要素の
[編集可] プロパティを無効化します。
103
編集可能なページ要素のデフォルトのコンテンツ
Site.com
編集可能なページ要素のデフォルトのコンテンツ
購入可能なエディション: Enterprise Edition および Unlimited Edition
使用可能なエディション (制限付き) : Developer Edition
Winter '13 では、ページテンプレートの編集可能な領域に追加されたコンテンツが派生したページおよびテンプ
レートのその領域のデフォルトのコンテンツになります。
子ページまたは子テンプレート上のすべての編集可能なページ要素のコンテンツは、親ページテンプレートの編
集可能な要素のコンテンツにリンクされています。親テンプレートの編集可能なページ要素のコンテンツを更新
すると、その変更はすべての子ページまたは子ページテンプレートに転送されます。ただし、子ページまたは子
テンプレートのレベルで編集可能なページ要素のコンテンツを変更すると、要素間のリンクが機能しなくなり、
親テンプレートのページ要素に行われたその後の変更は子に反映されなくなります。
ページ上または [ページ構造] ペイン内の子要素を選択して、
親と子の編集可能要素の間のリンクが機能しなくなります。
> [親コンテンツを上書き] をクリックすると、
ページ上または [ページ構造] ペイン内の子要素を選択して、
> [親コンテンツに戻す] をクリックすると、編
集可能なページ要素の制御を親テンプレートに戻すことができます。これを実行すると、子の編集可能ページ要
素のカスタムコンテンツがすべて失われます。
親テンプレートのパネルの [編集可] プロパティを無効化すると、子ページまたは子テンプレートでそのパネル
に行ったすべての変更が上書きされます。子レベルのパネルへの変更が表示されなくなり、パネルには親テンプ
レートのコンテンツのみが反映されます。ただし、子レベルの変更は失われません。親テンプレートのパネルの
[編集可] プロパティを再有効化すると、その子に以前追加されたカスタムコンテンツが復元されます。
改善されたデータ要素でのリンク
購入可能なエディション: Enterprise Edition および Unlimited Edition
使用可能なエディション (制限付き) : Developer Edition
データ要素 (以前の名称は「繰り返し要素」) を使用すると、カスタム URL、サイトの項目、メールへのハイパー
リンクをより簡単に作成できるようになりました。この新しいタイプのリンクオプションは、コンテンツブロッ
クにリンクを追加して、より一貫性のあるデザインを提供する場合に利用できるオプションです。また、新しい
ブラウザウィンドウ内、ポップアップウィンドウ内など、リンクされた項目を開く場所も指定できます。
「繰り返し要素を使用した繰り返しでのデータの表示」 (Salesforce オンラインヘルプ) を参照してください。
104
新しい状況列
Site.com
新しい状況列
購入可能なエディション: Enterprise Edition および Unlimited Edition
使用可能なエディション (制限付き) : Developer Edition
Site.com サイトのリストページにサイトの状況を示す [状況] 列を追加しました。
•
開発中 — サイトはこれまで公開されたことがない。
•
公開済み — サイトは少なくとも 1 回公開されている。
「ネストされたテンプレート」から「子テンプレート」
への名称変更
購入可能なエディション: Enterprise Edition および Unlimited Edition
使用可能なエディション (制限付き) : Developer Edition
他のページテンプレートからページテンプレートを作成する場合、派生したテンプレートは親の特性を継承しま
す。そのため、用語をより明確でわかりやすくするため、「ネストされたテンプレート」を「子テンプレート」
に変更しました。
ページテンプレートを操作するときの [ネストされたテンプレートを作成] メニューオプションが [子テンプレー
トを作成] に変わりました。
繰り返しおよび繰り返し要素の名称変更
購入可能なエディション: Enterprise Edition および Unlimited Edition
使用可能なエディション (制限付き) : Developer Edition
Winter '13 では、[ページ要素] ペインで使用されていた用語「繰り返し要素」および「繰り返し」がそれぞれ
「データ要素」と「データの繰り返し」に名称変更されました。
105
FORCE.COM
地理位置情報のカスタム項目 – ベータ
使用可能なエディション: すべてのエディション
必要なユーザ権限
カスタム項目を作成または変更する
「アプリケーションのカスタマイズ」
地理位置情報のカスタム項目を使用すると、緯度と経度で場所を特定する項目を作成できます。その後、地理位
置情報項目を DISTANCE および GEOLOCATION 数式関数と併用して、場所間の距離を計算することができ
ます。たとえば、倉庫と店舗間の距離など 2 つの地理位置情報項目間の距離や、倉庫と座標 37.775°、–122.418°
の地点(サンフランシスコ) 間など 1 つの地理位置情報項目と固定の緯度-経度の座標間の距離を計算できます。
メモ: これは、地理位置情報のベータリリースであり、その機能には以下に説明する既知の制限がありま
す。地理位置情報に関するフィードバックを送信するには、「IdeaExchange」 に移動してください。
地理位置情報項目に関する制限事項
このベータ版リリースでは、複合項目 (地理位置情報) と項目のコンポーネント (緯度と経度) は、Salesforce で使
用している機能によって異なります。たとえば、項目およびそのコンポーネントを表示するリストビューを作成
することはできますが、Apex では地理位置情報の複合項目は選択できません。地理位置情報項目のコンポーネ
ントについては SOQL クエリを実行することのみ可能です。
この地理位置情報のベータリリースのその他の制限には、次のものが含まれます。
•
•
•
•
•
•
•
履歴追跡は地理位置情報項目では利用できません。
地理位置情報項目はカスタム設定ではサポートされていません。
地理位置情報の項目は、レポート、ダッシュボード、入力規則、Visual Workflow、またはワークフローと承
認では使用できません。
地理位置情報項目は検索できません。
地理位置情報項目は、スキーマビルダーでは使用できません。
距離と地理位置情報の数式関数は、数式項目を作成しているときと、Visual Workflow 上でのみ使用できます。
地理位置情報は、SOQL クエリを使用してのみ、また、コンポーネントレベルでのみ Apex でサポートされま
す。
106
組織権限セット
組織権限セットの概要
地理位置情報のカスタム項目の作成
1. あなたの名前 > [設定] > [作成] > [オブジェクト] をクリックして、リストからカスタムオブジェクトを 1 つ選択
します。
2. [カスタム項目 & リレーション] で、[新規] をクリックします。
3. [地理位置情報] を選択し、[次へ] をクリックします。
4. Salesforce インターフェースでの表記の表示方法を決定する 地理位置情報項目の属性を入力します。
5. 手順に従って、ウィザードを完了します。
組織権限セット
組織権限セットの概要
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
必要なユーザ権限
権限セットを作成および割り当てる
「ユーザの管理」
Winter '13では、特定のユーザライセンスに関連付けない組織権限セットを作成できます。これまでは、異なる
ユーザライセンスを持つ複数のユーザに 1 つの権限セットと設定を割り当てる場合、ユーザライセンスごとにそ
れぞれ割り当てる権限セットを複数作成していました。今後は、組織権限セットを使用して単一の権限セットを
作成し、異なるユーザライセンスを持つユーザにそれを割り当てることができます。
たとえば、「API の有効化」権限を組織内の複数のユーザに付与する場合に、一部のユーザは Salesforce ユーザ
ライセンスを所有し、他のユーザは Salesforce Platform ユーザライセンスを所有しているとします。この場合、
割り当てられているユーザライセンスがない単一の組織権限セットを作成して、両方のユーザ種別に割り当てる
ことができます。
組織権限セットの作成
権限セットを作成する前に、権限セットを割り当てるユーザを検討します。権限セットを 1 種類のユーザライセ
ンスのみを持つユーザに割り当てる場合は、これまでどおりそのユーザライセンスをこの権限セットに割り当て
ることをお勧めします。ただし、異なるライセンスを持つユーザに権限セットを割り当てる場合は、組織権限
セットを作成します。
組織権限セットを作成する手順は、次のとおりです。
1. あなたの名前 > [設定] > [ユーザの管理] > [権限セット] をクリックします。
107
組織権限セット
組織権限セットの概要
2. [新規] をクリックします。
3. 表示ラベル、API 名、説明を入力します。
4. ユーザライセンスで、[--なし--] を選択します。
5. [保存] をクリックします。
権限セットの概要ページでは、関連付けられているユーザライセンスがない権限セットの [ユーザライセンス] 項
目は空白です。
リストビューでの組織権限セットの表示
複数の権限セットを作成した場合、ユーザライセンスの割り当てを追跡する必要がある場合があります。権限
セットのユーザライセンス割り当ての簡単に確認するには、[ユーザライセンス] 列を含む権限セットのリスト
ビューを作成または編集します。
1. あなたの名前 > [設定] > [ユーザの管理] > [権限セット] をクリックします。
2. [新規ビューの作成] をクリックするか、ビューを選択して、[編集] をクリックします。
3. [検索条件の指定] で、リスト項目が一致する必要がある条件を指定します。
ヒント: 組織権限セット (つまり、ユーザライセンスがない権限セット) のみを表示するには、[設定]
に「ユーザライセンス」と入力して、[演算子] を equals に設定し、[値] 項目に「""」と入力しま
す。
4. [表示する項目の選択] で、リストビューの列として表示する設定に [ユーザライセンス] を追加します。
5. [保存] をクリックするか、既存のビューをコピーする場合は、名前を変更して [別名で保存] をクリックしま
す。
権限セットの割り当て
関連付けられているユーザライセンスのない権限セットを割り当てる場合は、有効化されているすべての設定お
よび権限がユーザのライセンスで許可されている必要があります。許可されていない場合、割り当ては失敗しま
す。たとえば、組織全体の権限セットを作成し、商談で「参照」を有効にすると、Salesforce Platform ユーザライ
センスを持つユーザにその権限セットを割り当てることはできません。これは、そのライセンスでは商談にアク
セスできないためです。
権限セットを割り当てる
1. あなたの名前 > [設定] > [ユーザの管理] > [ユーザ] をクリックします。
2. ユーザを選択します。
3. [権限セットの割り当て] 関連リストで、[割り当ての編集] をクリックします。
4. 権限セットを割り当てるには、[選択可能な権限セット] ボックスから権限セットを選択して [追加] をクリッ
クします。権限セットの割り当てを削除するには、[有効な権限セット] ボックスから権限セットを選択して
[削除] をクリックします。
108
Visual Workflow の機能強化
Cloud Flow Designer の検索コントロール
5. [保存] をクリックします。
組織権限セットのベストプラクティス
ユーザライセンスオプションの指定
新しい権限セットを作成する場合は、ユーザライセンスのみを指定できます。その場合、権限セットを編
集またはコピーするときにそのユーザライセンスを変更することはできません。
組織権限セットの編集
ユーザにすでに割り当てられている組織権限セットを編集する場合、ユーザが有効化する追加の権限およ
び設定はすべての割り当て済みのユーザライセンスによって許可されている必要があります。許可されて
いない場合は、編集が失敗します。たとえば、Salesforce Platform ユーザライセンスユーザに既存の権限セッ
トが割り当てられている場合、権限セットの「すべてのデータの編集」を有効化することはこのユーザラ
イセンスでは許可されないため、有効化することはできません。
パッケージの組織権限セットの使用
AppExchange パッケージ用の権限セットを作成する場合、パッケージをインストールする組織内のユーザラ
イセンスを必ずしも予測できるとは限りません。また、必要なユーザライセンスが自分の組織にない場合、
それらのライセンスに関連付ける権限セットを作成することはできません。組織権限セットはこのような
状況に対する優れた解決策になります。この場合は、標準の Salesforce コンポーネントではなく、パッケー
ジのコンポーネントへのアクセス権を付与するパッケージ化された権限セットを作成することをお勧めし
ます。どの組織でも、組織権限セットではユーザライセンスの契約期間が順守されます。
Visual Workflow の機能強化
Cloud Flow Designer の検索コントロール
検索のコントロールがパレットに追加され、エクスプローラに拡張されたため、フローの作成および更新に必要
なものをすばやく見つけることができるようになりました。
パレットの検索
Process.Plugin インターフェースを使用する Apex クラスを追加し、組織に追加するフローが増えるにつれて、
パレット内で特定の Apex クラスまたはフローを検索することがより困難になります。ただし、パレットを検索
109
Visual Workflow の機能強化
Cloud Flow Designer の検索コントロール
することにより、Apex プラグインまたはサブフロー要素をフローに追加するために必要な内容を迅速に見つけ
ることができます。
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
必要なユーザ権限
Cloud Flow Designer でフローを開く、編集または作成す 「Force.com Flow の管理」
る
Cloud Flow Designer でフローを開きます。次に、次のオプションを使用してパレットの項目を検索します。
•
•
•
[パレット] タブで、検索テキストを入力します。
パレットには入力したテキストを含む項目のみが表示されます。
をクリックして、[パレット] タブのコンテンツを 1 種類の要素に絞り込みます。
絞り込み条件を削除するには、
をクリックして、[すべて検索] を選択します。
フローの検索
フローが拡大し、複雑化するにつれて、フロー内の要素の検索もより困難になります。Cloud Flow Designer で
は、フロー要素およびリソースを迅速に検索するためのツールを提供します。
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
必要なユーザ権限
Cloud Flow Designer でフローを開く、編集または作成す 「Force.com Flow の管理」
る
Cloud Flow Designer でフローを開きます。次に、以下の 1 つ以上のオプションを使用して、フローの要素または
リソースを検索します。
•
[エクスプローラ] タブで、検索テキストを入力します。
[エクスプローラ] タブでは、プロパティに入力テキストが含まれる要素およびリソースのみが表示されます。
•
をクリックして、[エクスプローラ] タブのコンテンツを 1 種類の要素またはリソースに絞り込みます。
絞り込み条件を削除するには、
をクリックして、[すべて検索] を選択します。
•
[キャンバスで結果を強調表示] を選択して、エクスプローラの検索または絞り込み結果以外のキャンバス上
のすべての表示要素をグレー表示します。
•
キャンバスのエリアの右上角の近くのコントロールを使用して、必要応じてズームイン/アウトします。
•
キャンバスのエクスプローラ項目の場所を表示するには、次の手順のいずれかを実行します。
110
Visual Workflow の機能強化
Cloud Flow Designer のズームコントロール
エクスプローラ項目がキャンバスに表示されている要素または画面項目である場合の手順は、次のとおりで
す。
1. [エクスプローラ] タブの項目の上にマウスを置きます。
2.
をクリックします。
エクスプローラ項目がキャンバスに表示されていないリソースである場合の手順は、次のとおりです。
1. [エクスプローラ] タブの項目をクリックします。
2. [説明] ペインで [利用状況] タブをクリックします。
3. [利用状況] タブにリストされている要素の上にマウスを置きます。
4.
をクリックします。
キャンバスが要素を表示するよう移動し、一時的にその要素を強調表示します。
Cloud Flow Designer のズームコントロール
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
キャンバス領域の右上にあるコントロールを使用して、ズームインとズームアウトを行えるようになりました。
新しい検索オプションとズーム機能を組み合わせることで、大量のフローの管理が非常に容易になります。
新しい種別のフロー画面項目
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
次の種別の項目をフロー画面に追加できるようになりました。Cloud Flow Designer では、これらのオプションは
画面フロート表示の [項目の追加] タブに表示されます。
•
チェックボックス型入力
•
複数選択型選択
◊ 複数選択チェックボックス
◊ 複数選択リスト
111
Visual Workflow の機能強化
新しい種別のフロー画面項目
チェックボックス入力項目の概要
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
チェックボックス画面項目は、boolean 型です。フローユーザに、はい/いいえの選択肢を提供するには、チェッ
クボックス画面項目を使用します。たとえば、次のような選択肢です。
•
マーケティングキャンペーンを選択するかどうか。
•
購入またはケース解決後のフォローアップコールを受けるかどうか。
•
重要なポリシーを理解しているかどうか。
この場合、ユーザがチェックボックスをオンにしていることを確認してから、次の画面に進むことができま
す。
複数選択項目の概要
複数選択チェックボックス項目および複数選択リスト項目を使用すると、フローユーザは画面項目で複数の選択
肢を選択できます。実行時、各複数選択項目には、その項目値がユーザが選択した選択肢の値をセミコロンで区
切った結合値として保存されます。
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
複数選択項目を使用する場合には、次の点に注意してください。
•
実行時、選択した選択肢の保存値内のセミコロンはすべて、複数選択項目の値に追加されると削除されます。
•
ラジオボタン、ドロップダウンリストなどの単一選択の選択項目と同様に、複数選択項目はフロー固有の選
択肢および動的選択肢のみを設定できます。フローの複数選択リストに、組織の他の場所にある標準または
複数選択リスト項目の選択リスト値を設定することはできません。
•
複数選択項目に含めることができるデフォルト値は 1 つのみです。
•
動的選択肢リソースを設定して、複数選択レコードの項目値をフローの変数に割り当てることができます。
動的選択肢が複数選択項目で使用されている場合、フロー変数は動的に生成された選択肢のセットで最後に
選択されたレコードの項目値のみを保存します。動的選択肢が同じ画面で複数の複数選択項目で使用されて
いる場合、フロー変数の割り当ては画面上の最初に設定された複数選択項目によって決定されます。
•
複数選択項目を参照する決定要素が実行時に正しく動作するようにするには、次のことを順守する必要があ
ります。
◊ 複数選択項目で使用する選択肢ごとに保存値を設定します。
◊ 同一画面上の複数の複数選択項目で同じ選択肢を使用することはできません。
112
Visual Workflow の機能強化
Visualforce コントローラによるサブフロー変数へのアクセス
Visualforce コントローラによるサブフロー変数へのアク
セス
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
以前は、Visualforce コントローラは Visualforce のページに組み込まれたフローでのみ、変数値にアクセスできま
した。フローにサブフロー要素が含まれている場合、参照されるフロー内の変数値を Visualforce コントローラで
取得することはできませんでした。
Flow.Interview クラスの新しい getVariableValue メソッドを使用すると、Visualforce コントローラでフロー
変数の値を取得できます。変数は、Visualforce ページに埋め込まれたフローか、サブフロー要素からコールされ
る別のフローに含まれている場合があります。「新しい getVariableValue メソッド」 (ページ 159) を参照して
ください。
フローの移動オプション
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
実行時には、フローパスに先行する画面または後続の画面があるかどうかに基づいて、各画面に [次へ]、[前へ]、
および [完了] のどのボタンが関連するかがシステムによって自動的に判別されます。画面フロート表示の新しい
[移動オプション] 項目を使用して、画面に [前へ] または [完了] のいずれかのボタンが表示されないように制限で
きます。
次のオプションを選択します。
•
移動制限なし — (デフォルト) システムによって関連するすべての移動ボタンが画面上に表示されます。
•
[前へ] ボタンを表示しない — クレジットカード取引など、前の画面に再アクセスしたときに繰り返してはな
らないアクションがトリガされてしまう場合、このオプションを選択します。
•
[完了] ボタンを表示しない — ユーザが前の画面に戻ってフローを続行または完了する必要がある場合は、こ
のオプションを選択します。
たとえば、フローが既存の取引先責任者を特定するための情報を入力するようにユーザに促すとします。フ
ローは、その後データベース内でユーザが入力した情報を検索します。一致する取引先責任者が見つからな
い場合、フローは、戻って再試行するようにユーザに指示することのみを目的とした画面を表示します。こ
の画面では、ユーザに [完了] ボタンを表示してはなりません。
113
Visual Workflow の機能強化
Cloud Flow Designer の使用を開始するためのリソース
Cloud Flow Designer の使用を開始するためのリソース
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
Cloud Flow Designer でフローを開いたり作成したりするときに、次のような便利なリソースのコレクションが表
示されるため、迷うことなくフローを作成することができます。
•
動画: Visual Workflow の使用を開始する方法についてのデモを見ることができます。
•
フローのサンプルパッケージ: サンプルフローの AppExchange パッケージをインストールできます。Apex プ
ラグインが含まれているものもあります。このパッケージには、フローにプラグインできるサンプルの Apex
クラスも含まれています。
•
チュートリアル: 『Cloud Flow Designer Workbook』の簡単で段階的な指示に従って、サンプルフローを最初から
作成できます。
Cloud Flow Designer で、このリソースコレクションを表示するには、[開始] をクリックします。
Cloud Flow Designer の操作性に関するその他の機能強化
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
•
画面フロート表示から、動的選択肢などの選択肢を編集できるようになりました。以前は、エクスプローラ
から選択肢を編集することしかできませんでした。
画面フロート表示のプレビューペインで選択項目を選択すると、[項目設定] タブによって選択肢ごとに編集
オプション ( ) が提供されます。
•
セクションヘッダーのいずれかの部分をクリックして、[パレット] セクションとドロップダウンメニューセ
クションの展開や折りたたみを実行できるようになりました。以前は、矢印をクリックしてセクションを展
開するか、折りたたむ必要がありました。
•
キーボードを使用して、ドロップダウンメニューを移動できます。
◊ 右矢印と左矢印を使用して、セクションを展開したり、折りたたんだりします。
◊ 上矢印と下矢印を使用して、メニュー内を上下に移動します。
◊ メニュー内で強調表示された項目を選択するには、Return キーを押します。
•
キャンバスで選択された要素には緑色の境界線が付けられ、特別な網かけは設定されなくなりました。以前
は、選択された要素には青色の網かけが設定されていました。
•
選択されたコネクタは緑色になります。以前は、選択されたコネクタには赤色が設定されていました。
114
Visual Workflow の機能強化
ヘルプテキストとユーザ入力規則メッセージの差し込み項目
ヘルプテキストとユーザ入力規則メッセージの差し込み
項目
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition
画面とユーザ入力項目のヘルプテキストに、差し込み項目を使用できるようになりました。Cloud Flow Designer
には、ヘルプテキストエディタに差し込み項目を選択するためのドロップダウンメニューが含まれています。
差し込み項目は、ユーザ入力規則に関するエラーメッセージにおいても正しく機能するようになりました。Summer
'12、API バージョン 25.0 以前のリリースで、ユーザ入力規則に関するエラーメッセージに差し込み項目を追加
していた場合、Winter '13 Cloud Flow Designer でそのフローを開いて保存すると、実行時に差し込み項目が正し
く機能するようになります。
デスクトップ Flow Designer での新規 API バージョンのサ
ポート終了
デスクトップ Flow Designer は、API バージョン 25.0 以前をサポートします。API バージョン 26.0 以降で新規に
導入された項目、メタデータタイプ、および他のコンポーネントや機能にアクセスするには、Cloud Flow Designer
を使用して独自のフローを作成してください。
デスクトップ Flow Designer のリンクとドキュメント
多くのフロー管理者は、その大部分が Cloud Flow Designer を使用していますが、従来のデスクトップ Flow Designer
のリンクやドキュメントが存在するため混乱させられてきました。
このため、従来のすべてのデスクトップ Flow Designer、つまり、デスクトップ Flow Designer に同梱されている
ユーザマニュアル内の特定のコンテンツを統合しました。このコンテンツには、デスクトップ Flow Designer 内
から [ヘルプ] > [ユーザマニュアル] をクリックしてアクセスできます。
また、フローリストページから次のオプションも削除しました。
•
従来のデスクトップ Flow Designer で作成されたフローのアップロード。
•
従来のデスクトップ Flow Designer の最新バージョンのダウンロード。
カスタマーサポートに問い合わせて、これらのオプションを組織で再度有効にすることができます。従来のデス
クトップ Flow Designer で作成されたフローを以前にアップロードしていた場合、[アップロード] ボタンが組織
で既に引き続き表示されている可能性があります。
115
スキーマビルダーの機能強化
スキーマビルダーによるカスタムオブジェクトの削除
スキーマビルダーの機能強化
スキーマビルダーによるカスタムオブジェクトの削除
使用可能なエディション: すべてのエディション
必要なユーザ権限
スキーマビルダーでカスタムオブジェクトを削除する 「アプリケーションのカスタマイズ」
スキーマビルダーを使用してカスタムオブジェクトを削除できるようになりました。
カスタムオブジェクトを削除しようとする場合、スキーマビルダーでは副次的影響のリストが表示されます。最
終的に削除を行う前に、これら副次的影響を受け入れることができることを確認してください。 (Salesforce オン
ラインヘルプ)と (Salesforce オンラインヘルプ)を参照してください。
1. カスタムオブジェクトのアイコンの
をクリックします。
2. [オブジェクトを削除...] を選択します。オブジェクトの削除による副次的影響を説明するダイアログボックス
が表示されます。この情報をよく読んでください。
3. その内容を受け入れる場合は、[カスタムオブジェクトを削除します。] をクリックします。
4. [削除] をクリックします。
スキーマビルダーによるカスタム項目の削除
使用可能なエディション: すべてのエディション
必要なユーザ権限
スキーマビルダーでカスタム項目を削除する
「アプリケーションのカスタマイズ」
スキーマビルダーを使用してカスタム項目を削除できるようになりました。
カスタム項目を削除しようとする場合、スキーマビルダーでは副次的影響のリストが表示されます。最終的に削
除を行う前に、これら副次的影響を受け入れることができることを確認してください。「削除されたカスタム項
目の管理」 (Salesforce オンラインヘルプ) を参照してください。
1. カスタム項目を右クリックします。
116
スキーマビルダーの機能強化
スキーマビルダーのカスタムオブジェクトのプロパティの追加
2. [項目を削除...] を選択します。カスタム項目の削除による副次的影響を説明するダイアログボックスが表示さ
れます。この情報をよく読んでください。
3. その内容を受け入れる場合は、[はい。カスタム項目を削除します。] をクリックします。
4. [削除] をクリックします。
スキーマビルダーのカスタムオブジェクトのプロパティ
の追加
スキーマビルダーで作業するときに、次の 2 つのカスタムオブジェクトのプロパティを選択または選択解除でき
るようになりました。
ディビジョンを有効化
組織でディビジョンが有効になっている場合は、このオプションをオンにして、ディビジョンに対しカス
タムオブジェクトを有効にします。Salesforce のクイック検索結果、リストビュー、レポート、およびその
他の領域でグループのレコードをディビジョンごとに操作できます。Salesforce は、カスタムオブジェクト
に [ディビジョン] 項目を追加します。そのカスタムオブジェクトが主従関係の主側であれば、従側のすべ
てのカスタムオブジェクトもその [ディビジョン] 項目を取得し、マスタレコードからディビジョンを継承
します。
カスタマーポータルで利用可
このオプションにより Salesforce カスタマーポータルでカスタムオブジェクトを利用できるようにします。
セキュリティの機能強化
使用可能なエディション: すべてのエディション
Winter '13 では、セキュリティを強化する新機能がいくつか導入されました。
認証プロバイダの検出と外部ユーザへのリンク
Auth.RegistrationHandler クラスの createUser メソッドで、既存のユーザだけでなく新規ユーザも返
すようになりました。createUser をコールする場合、ユーザの新規作成が必須ではなくなりました。シン
グルサインオンフローではサードパーティ ID と返されたユーザとの間のリンクを作成してから、ユーザを
ログインします。
OAuth 2.0 べアラーアサーション要求の更新
Winter '13 より前では、OAuth べアラーアサーション要求の JWT または SAML を使用して新しいアクセス
トークンを要求した場合、更新トークンを含むすべての以前の承認が検証されていました。一致する承認
が見つかった場合は、一致した最新の承認の範囲を使用して新しいアクセストークンが発行されました。
以前に更新トークンを含む承認がなかった場合は、承認された範囲が使用できず、要求は失敗しました。
117
スキーマビルダーの機能強化
セキュリティの機能強化
Winter '13 以降、最新の承認範囲のみ取得していたのを、一致するすべての承認範囲の値を組み合わせて新
しいアクセストークンを発行するように動作を変更しました。以前に更新トークンを含む承認がない場合
は、依然として、承認された範囲がないことにより要求は失敗します。
OAuth 2.0 JWT べアラートークンフロー
OAuth 2.0 JWT べアラーフロー実装は、HMAC SHA256 アルゴリズムおよび RSA SHA256 アルゴリズムを
サポートするようになりました。HMAC SHA256 はコンシューマの非公開鍵を署名の秘密として使用しま
すが、RSA SHA256 はアップロードされた証明書を使用します。以前は、JWT べアラートークンフローの
実装では、証明書がアップロードされている場合は署名の秘密として証明書を使用し、証明書がアップロー
ドされていない場合は署名の秘密としてコンシューマの非公開鍵を使用していました。
新しい認証プロバイダのパラメータ
認証プロバイダで startURL および scope の 2 つのパラメータを使用できるようになりました。startURL
パラメータは認証後に特定の場所にユーザを転送します。scope パラメータでは追加権限を持つアクセス
トークンを要求します。詳細は、オンラインヘルプの「クライアント設定 URL での要求パラメータの使
用」を参照してください。
[私のドメイン] のログインポリシーの明示的な設定
[私のドメイン] のログインポリシーが暗黙的ではなく明示的に設定されるようになりました。Winter '13 よ
り前は、組織で SAML が有効になっている場合、ユーザ名およびパスワードではなく、SAML を使用して
ログインを自動的に確認していました。現在、SAML が有効になっている場合、SAML ログインが表示さ
れますが、ユーザ名とパスワードを使用するオプションも表示されます。また、サードパーティ認証プロ
バイダが有効である場合は、その選択肢も表示されます。ドメインのリリース後は、[私のドメインの設定]
でログインポリシーを設定してください。
クリックジャック保護を使用可能
設定以外のページおよびカスタム Visualforce ページに、ユーザインターフェース着せ替え攻撃とも呼ばれ
るクリックジャック攻撃に対する保護が追加されました。設定ページにはクリックジャック攻撃に対する
保護がすでに含まれています。あなたの名前 > [設定] > [セキュリティのコントロール] > [セッションの設定]
をクリックして [設定以外の Salesforce ページのクリックジャック保護を有効化] および [設定以外のカスタ
ム Visualforce ページでクリックジャック保護を有効化] を選択します。
これらの設定のいずれかが有効化されており、次のいずれかの状況に該当する場合、ページが空白ページ
として表示されるか、またはフレームのないページとして表示される可能性があります。
•
組織でフレームまたは iframe 内で Salesforce.com ユーザインターフェースページを表示している。
•
フレームまたは iframe 内でカスタム Visualforce ページを使用している。
動作はブラウザとそのバージョンによって異なります。これらのページが組織で継続的に正しく動作する
ことを確認するには、フレームまたは iframe 内でこれらのページを表示しないようにします。
118
開発者コンソールの機能強化
テストツール
サービスプロバイダの起動による要求のバインド
[私のドメイン] を使用している場合は、ID プロバイダが SAML メッセージで要求するバインドメカニズム
を選択できます。使用可能な要求バインドタイプは、HTTP POST および HTTP Redirect です。あなたの名
前 > [設定] > [セキュリティのコントロール] > [シングルサインオン設定] で [シングルサインオン設定] ペー
ジから選択を行い、[SAML を有効化] をオンにした状態で [編集] をクリックします。デフォルトの設定は
HTTP POST です。
新しい getAccessTokenMap メソッド
Auth.AuthToken Apex クラスには、アクセストークン getAccessTokenMap を取得する新しいメソッドが
含まれています。ユーザ ID が複数のサードパーティユーザに対応付けられている場合は、このメソッドを
使用します。getAccessTokenMap では各サードパーティユーザのアクセストークンの対応付けを返しま
す。Apex については、『Force.com Apex コード開発者ガイド』を参照してください。
開発者コンソールの機能強化
テストツール
Winter '13 リリースでは、開発者コンソールにテストツールが追加されています。テストツールを使用すると、
サーバで Apex 単体テストを実行して、コードカバー率を確認できます。開発者コンソールを離れずに、アプリ
ケーションを編集、デバッグ、およびテストできるようになりました。
テスト実行の作成と実行
テスト実行は、テストメソッドが含まれるクラスのコレクションです。テスト実行を実行すると、クラス内のテ
ストメソッドが実行されます。
1. 開発者コンソールで、[Tests (テスト)] タブをクリックします。
2. [New Run (新規実行)] をクリックします。
テストメソッドを含むクラスの一覧が [Select Tests (テストを選択)] ウィンドウに表示されます。
119
開発者コンソールの機能強化
テストツール
3. クラスを絞り込むには、[Filter (条件)] ボックスに条件を入力します。
4. クラスを選択し、
動します。
をクリックしてクラスを [Selected Test Classes (選択されたテストクラス)] ペインに移
隣り合う複数のクラスを選択するには、1 つのクラスを選択し、Shift キーを押しながら選択するクラスをク
リックします。隣り合わないクラスを選択するには、1 つのクラスを選択し、Ctrl キーを押しながら選択する
他のクラスをクリックします。[Select All (すべて選択)] をクリックすることもできます。
5. テスト実行を作成したら、[Run (実行)] をクリックしてクラスをキューに入れて実行します。
メモ: テストメソッドが組織でテストとして定義されている他のメソッドまたはクラスをコールする
場合、それらのメソッドやクラスも実行されます。
6. テストを停止するには、[Abort (中止)] をクリックします。
7. [Tests (テスト)] タブでテスト実行を展開すると、実行内の各クラスで呼び出されたメソッドごとに結果が表
示されます。
8. [Overall Code Coverage (コードカバー率全体)] ペインには、組織の各クラスのコードカバー率が表示されます。
このペインには常に各クラスの現在のカバー率が表示されます。テスト実行を実行した後、ペインには全体
のカバー率 (%) も太字で表示されます。
メモ: テストクラスにはコードカバー率は必要ありません。そのため、テストクラスのカバー率は 0%
と表示され、全体コードカバー率には影響しません。
9. 完了したテスト実行をダブルクリックすると、テストビューで結果が開きます。
テストビューには、テストされたクラス、テストされたメソッド、所要時間、結果 (スキップ、合格、または
失敗)、および必要に応じてエラーメッセージが表示されます。テストが失敗した場合、[Stack Trace (スタッ
ク追跡)] 列にテストが失敗したメソッドと行番号が表示されます。
10. テストビューで [Class (クラス)] を選択すると、[Class Code Coverag (クラスコードカバー率)] ペインにクラス
で呼び出されたメソッドごとのコードカバー率が表示されます。
120
開発者コンソールの機能強化
テストツール
コードカバー率のチェック
Apex コードを本番組織にリリースするには、テストで 75% 以上のコードがカバーされている必要があります。
コードカバー率は、テストでカバーされるコードの割合です。
開発者コンソールは、組織からコードカバー率情報を取得して表示します。コードカバー率の結果は、API また
はユーザインターフェース (開発者コンソール、Force.com IDE、Apex テスト実行ページなど) で実行したテスト
から取得されます。クラスを編集すると、そのクラスのコードカバー率は再度テストを実行するまでクリアされ
た状態になります。
コードカバー率は開発者コンソールの複数の場所に表示されます。
1. [Tests (テスト)] タブをクリックします。[Overall Code Coverage (コードカバー率全体)] パネルには、テスト実
行に含まれている組織の各 Apex クラスのコードカバー率が表示されます。さらに、全体のカバー率も表示さ
れます。
2. 完了したテスト実行をダブルクリックすると、テストビューが開きます。
テストビューには、テストされたクラス、テストされたメソッド、所要時間、結果 (スキップ、合格、または
失敗)、および必要に応じてエラーメッセージが表示されます。テストが失敗した場合、[Stack Trace (スタッ
ク追跡)] 列にテストが失敗したメソッドと行番号が表示されます。
3. テストビューで [Class (クラス)] を選択すると、[Class Code Coverag (クラスコードカバー率)] ペインにクラス
で呼び出されたメソッドごとのコードカバー率が表示されます。
4. Apex クラスのコードカバー率を行ごとに表示するには、テストビューか [Repository (リポジトリ)] タブでクラ
スをダブルクリックします。すると、ソースコードビューに表示されます。
5. [Code Coverage (コードカバー率)] メニューから、次のいずれかを選択します。
121
開発者コンソールの機能強化
テストツール
オプション
説明
選択不可
テストは実行されていません。
すべてのテスト
すべてのテスト実行のコードカバー率。
className.methodName
テスト実行中に実行されたメソッドのコードカバー率。
カバーされるコード行は青で表示されます。カバーされていないコード行は赤で表示されます。カバーが必
要ないコード行 (中括弧、コメント、System.debug コールなど) は白のままです。
6. コードカバー率が表示されたクラスを編集すると、青と赤が淡色表示されてカバー率が無効になったことを
示します。クラスを編集して保存すると、そのクラスのカバー率はクリアされます。[Overall Code Coverage
(コードカバー率全体)] パネルで、クラス名に小さな赤い三角マークが付けられ、テストの実行後にクラスが
編集されたことを示します。そのクラスのカバー率をチェックするには、再度テストを実行します。
122
開発者コンソールの機能強化
クエリエディタ
クエリエディタ
Winter '13 リリースでは、開発者コンソールにクエリエディタツールが追加されています。クエリエディタツー
ルを使用すると、組織からのデータをクエリできます。たとえば、Apex コードを開発するときは、SOQL クエ
リを作成し、結果が期待する内容であるかを確認します。必要なデータが得られるまでクエリを編集して、実行
します。完了したら、コードでクエリを使用します。
SOQL クエリの実行
組織からデータをクエリするには、開発者コンソールのクエリエディタを使用します。
1. 開発者コンソールで、[Query Editor (クエリエディタ)] タブをクリックします。
2. クエリエディタの上部ペインに SOQL クエリを入力します。
3. [Execute (実行)] をクリックします。
クエリでエラーが生成された場合、エラーはクエリエディタの下部ペインに表示されます。
データはクエリ結果ビューに表示されます。
4. クエリを再実行するには、[Refresh Grid (グリッドを更新)] をクリックします。
警告: [Refresh Grid (グリッドを更新)] をクリックすると、クエリ結果ビューで編集して保存していな
いデータは失われます。
123
開発者コンソールの機能強化
クエリエディタ
行の挿入
開発者コンソールのクエリ結果ビューに表示されたオブジェクトのレコードを作成 (行を挿入) できます。
行を挿入して保存するには、クエリ結果にオブジェクトの必須項目がすべて含まれており、その必須項目がシン
プルなテキスト項目または数値項目である必要があります。これらの条件が満たされない場合、空白行が作成さ
れますが、保存できません。この場合、Salesforce に新しいレコードを作成するには、[Create New (新規作成)] を
クリックします。
1. 開発者コンソールで、[Query Editor (クエリエディタ)] タブをクリックします。
2. オブジェクトのすべての必須項目が含まれるクエリを実行します。
3. クエリ結果ビューで、[Insert Row (行を挿入)] をクリックします。
行の編集と保存
開発者コンソールのクエリ結果ビューに表示されたオブジェクトのレコード (行) の編集と保存ができます。
1. クエリ結果ビューで行を編集するには、行の項目をダブルクリックして編集します。
2. 変更した行を Salesforce に保存するには、[Save Rows (行を保存)] をクリックします。
警告: [Refresh Grid (グリッドを更新)] をクリックすると、クエリ結果ビューで編集して保存していな
いデータは失われます。
行の削除
開発者コンソールのクエリ結果ビューに表示されたオブジェクトのレコード (行) を削除できます。
1. 行を削除するには、クエリ結果ビューでその行を選択します。
2. [Delete (削除)] をクリックします。
Salesforce のレコードへの移動
クエリを実行後、Salesforce のレコードに移動できます。
1. クエリ結果ビューで行を選択します。
124
開発者コンソールの機能強化
システムログビューのパースペクティブ
2. [Create New (新規作成)]、[Open Detail Page (詳細ページを開く)]、または [Edit Page (編集ページ)] をクリック
すると、Salesforce のレコードに移動します。
システムログビューのパースペクティブ
開発者コンソールでデバッグログを開く場合は、ログを分析するためのパネルの集合であるシステムログビュー
でデバッグログを開きます。Winter '13 リリースでは、システムログビューでパースペクティブを作成できます。
パースペクティブはパネルのレイアウトです。パースペクティブを作成し、利用方法に合わせて、システムログ
ビューを整理および簡略化します。タスクの変更に応じてパースペクティブを切り替えます。たとえば、1 つの
パースペクティブをパフォーマンス分析に使用し、別のパースペクティブを汎用的なデバッグに使用できます。
システムログビューでのパースペクティブの作成
パースペクティブは、開発者コンソールのシステムログビューでのパネルのレイアウトです。
デフォルトのパースペクティブは、すべてのパネルを表示する「All (すべて)」です。システムログビューでは、
すべてのパネルを使用する必要があるタスクはほとんどありません。システムログビューでタスクを実行すると
きには、タスクをすばやく簡単に完了できるパースペクティブを使用します。開発者にはそれぞれのやり方があ
りますが、一般的なタスクを実行する際のパースペクティブとして次のようなものがあります。
•
•
•
「Log Only (ログのみ)」— [Execution Log (実行ログ)] パネルが含まれます。ログ実行を表示するための汎用
的なパースペクティブです。
「Performance (パフォーマンス)」— [Stack Tree (スタックツリー)] パネルと [Execution Overview (実行概要)] パ
ネルが含まれます。このパースペクティブは、パフォーマンスのテストに使用します。
「Limits (制限)」— [Execution Overview (実行概要)] パネルが含まれます。このパースペクティブは、ガバナ
制限のチェックに使用します。
ヒント: [Execution Log (実行ログ)] が含まれるパースペクティブを作成した場合、必要に応じて [Source
(ソース)] パネルを追加することをお勧めします。[Source (ソース)] パネルは、システムログビューから
ソースコードビューに戻ってコードを編集または表示する場合に使用します。
1. 開発者コンソールで、[Logs (ログ)] タブをクリックし、デバッグログをダブルクリックしてシステムログビュー
内で開きます。
2. [Perspective: Perspective Name (パースペクティブ: パースペクティブ名)] > [View Panels (パネルを表示)] をクリッ
クし、パースペクティブに含めるパネルを選択します。
パースペクティブを変更すると、パースペクティブ名に * が付加されます。パースペクティブを保存すると、
* は削除されます。
3. 新しいパースペクティブを作成するには、[Save Perspective As (パースペクティブを別名で保存)] をクリック
し、パースペクティブの名前を入力します。
125
開発者コンソールの機能強化
システムログビューのパースペクティブ
システムログビューでのパースペクティブの変更
パースペクティブは、開発者コンソールのシステムログビューでのパネルのレイアウトです。デフォルトのレイ
アウトにはすべてのパネルが含まれています。すばやく簡単に作業できるレイアウトを作成するには、必要なパ
ネルのみが含まれるように既存のパースペクティブを変更します。
1. 開発者コンソールで、[Logs (ログ)] タブをクリックし、デバッグログをダブルクリックしてシステムログビュー
内で開きます。
2. [Perspective: Perspective Name (パースペクティブ: パースペクティブ名)] > [View Panels (パネルを表示)] をクリッ
クし、パースペクティブに含めるパネルを選択します。
パースペクティブを変更すると、パースペクティブ名に * が付加されます。パースペクティブを保存すると、
* は削除されます。
3. [Save Perspective (パースペクティブを保存)] をクリックします。システムログビュー内をクリックして、Ctrl+S
(Windows) または Command+S (Mac OS) キーをクリックしても保存できます。
システムログビューでのパースペクティブの切り替え
パースペクティブは、開発者コンソールのシステムログビューでのパネルのレイアウトです。作業中のタスクに
最適なパースペクティブに切り替えることができます。
1. 開発者コンソールで、[Logs (ログ)] タブをクリックし、デバッグログをダブルクリックしてシステムログビュー
内で開きます。
2. [Perspective: Perspective Name (パースペクティブ: パースペクティブ名)] > [Perspective Manager (パースペクティ
ブマネージャ)] をクリックします。
3. パースペクティブ名を選択して [Open (開く)] をクリックするか、パースペクティブをダブルクリックしま
す。
システムログビューでのパースペクティブの削除
パースペクティブは、開発者コンソールのシステムログビューでのパネルのレイアウトです。必要のなくなった
パースペクティブは削除できます。
1. 開発者コンソールで、[Logs (ログ)] タブをクリックし、デバッグログをダブルクリックしてシステムログビュー
内で開きます。
2. [Perspective: Perspective Name (パースペクティブ: パースペクティブ名)] > [Perspective Manager (パースペクティ
ブマネージャ)] をクリックします。
3. 削除するパースペクティブを選択し、[Delete (削除)] をクリックします。
126
開発者コンソールの機能強化
開発者コンソールのその他の機能強化
システムログビューでのデフォルトパースペクティブの設定
パースペクティブは、開発者コンソールのシステムログビューでのパネルのレイアウトです。ログを開くと、デ
フォルトのパースペクティブで表示されます。最もよく使用するパースペクティブをデフォルトに設定します。
1. 開発者コンソールで、[Logs (ログ)] タブをクリックし、デバッグログをダブルクリックしてシステムログビュー
内で開きます。
2. [Perspective: Perspective Name (パースペクティブ: パースペクティブ名)] > [Perspective Manager (パースペクティ
ブマネージャ)] をクリックします。
3. パースペクティブ名を選択して、[Set Default (デフォルトを設定)] をクリックします。
開発者コンソールのその他の機能強化
主な機能のほかに、Winter '13 リリースでは開発者コンソールに次の小規模な機能強化が行われています。
コマンドラインウィンドウ
Winter '13 では、開発者コンソールにコマンドラインウィンドウが追加されました。コマンドラインウィンドウ
を使用すると、匿名の Apex コードを実行し、結果のデバッグログを検索できます。通常、デバッグログを使用
するのはシステムログビューです。ただし、開発中のいくつかの時点で、ログで特定の語句を検索する必要が生
じる場合があります。この場合は、コマンドラインウィンドウを使用します。
開発者コンソールコマンドラインリファレンス
開発者コンソールのコマンドラインウィンドウを開くには、あなたの名前 > [開発者コンソール] を選択し、Ctrl+L
キーを押します。
開発者コンソールのコマンドラインウィンドウを閉じるには、Ctrl+L キーを押します。
コマンド
パラメータ
説明
commands
なし。
すべてのコマンドのリストが表示さ
れます。
exec <Apex statements>
<Apex statements> — 1 つ以上の <Apex statements> を実行してロ
Apex ステートメント。
exec [-o | -r]
グを生成します。
-o: [Execute Anonymous (匿名実行)]
ウィンドウを開きます。
-r: [Execute Anonymous (匿名実行)]
ウィンドウでコードを実行し、ログ
を生成します。
127
開発者コンソールの機能強化
開発者コンソールのその他の機能強化
find <string>
<string> — 文字列。
引数の文字列でログを検索します。
help
なし。
コマンドに関する情報の取得方法を
表示します。
man <command>
<command> — コマンドラインウィ
コマンドの説明を表示します。
ンドウコマンド。
デバッグログの検索
デバッグログ内のテキストを検索するには、開発者コンソールのコマンドラインウィンドウを使用します。
ログを検索する前に、Apex ステートメントを実行してログを生成する必要があります。
1. 開発者コンソールのコマンドラインウィンドウを開くには、あなたの名前 > [開発者コンソール] を選択し、
Ctrl+L キーを押します。
2. Apex コードを実行し、ログを生成するには、次のいずれかを実行します。
•
コマンドラインに Apex ステートメントを入力する場合、exec <Apex ステートメント> と入力します。
たとえば、次のように入力します。
exec List<Account> accts = new List<Account>();
for (Integer i=0; i<20; i++){
Account a = new Account(name='Account Name ' + i);
accts.add(a);
}
•
[Execute Apex Code (Apex コードを実行)] ウィンドウにすでに存在するコードを実行する場合、exec -r と入
力します。
3. デバッグログのテキストを検索するには、find <string> と入力します。
たとえば、find Account Name のように入力します。
コマンドラインウィンドウに検索結果が表示されます。
4. コマンドラインを閉じるには、Ctrl+L キーを押します。
ビュー間の移動
•
ワークスペースのビューの間を左右に移動するには、ビューのタブをクリックするか次のショートカットを
使用します。
◊ 左 — Ctrl + Page Up
◊ 右 — Ctrl + Page Down
128
開発者コンソールの機能強化
接続アプリケーション — パイロット
キーボードショートカットの表示
•
開発者コンソールのキーボードショートカットのリストを表示するには、Ctrl + Shift + ? を押します。
開発者コンソールへの更新の再開
開発者コンソールは、20 分間の無操作の後、新しいログ、テスト実行、およびヒープダンプのポーリングを停止
します。
•
開発者コンソールの更新を再開するには、開発者コンソールのグローバルツールバーの [Resume Updates (更
新を再開)] をクリックします。
接続アプリケーション — パイロット
使用可能なエディション: Developer Edition
この機能は、新しい Development Edition を使用している組織のすべてのユーザに表示されます。既存の
Development Edition 組織またはその他の組織でこの機能を有効にするには、salesforce.com までお問い合わせく
ださい。
メモ: この接続アプリケーション機能は現在、パイロットプログラムで利用可能です。組織の接続アプリ
ケーション機能の有効化については、Salesforce にお問い合わせください。プレスリリースや公式声明で
参照されている未リリースのサービスまたは機能は、現在利用できず、提供が遅れたり中止されたりす
る可能性があります。サービスの購入をご検討中のお客様は、現在利用可能な機能に基づいてご購入の
判断をお願いします。
接続アプリケーション (接続アプリ) は、ID およびデータ API を介して salesforce.com に接続できるアプリケー
ションです。接続アプリケーションでは、標準の OAuth 2.0 プロトコルを使用して認証して、シングルサインオ
ンを提供し、Salesforce API を使用してアクセストークンを取得します。標準の OAuth 機能の他、接続アプリケー
ションでは、さらなるレベルの制御が追加され、システム管理者はアプリケーションを使用できるユーザおよび
適用する必要のあるさまざまなセキュリティポリシーを明示的に制御することができます。
接続アプリケーションでは、開発者は最初に、次を含む、アプリケーションに関する OAuth メタデータを定義
します。
•
接続アプリケーションの基本的な説明情報および連絡先情報
•
接続アプリケーションの OAuth の範囲およびコールバック URL
•
接続アプリケーションが実行されている可能性のある省略可能な IP 範囲
•
接続アプリケーションが適用できるモバイルポリシーに関する省略可能な情報
129
開発者コンソールの機能強化
API の機能強化
それらの定義と引き換えに、開発者には OAuth クライアント ID およびクライアントの秘密のほか、接続アプリ
ケーションのインストール URL が提供されます。そのため、開発者は、Salesforce システム管理者にこの URL
を提供できます。
システム管理者は組織に接続アプリケーションをインストールして、ユーザプロファイル、権限セット、および
IP 範囲制限を使用してアプリケーションにアクセスできるユーザを制御することができます。管理は接続アプリ
ケーションの詳細ページから行います。また、システム管理者は接続アプリケーションをアンインストールし
て、新しいバージョンをインストールすることもできます。アプリケーションが更新されると、開発者はアプリ
ケーションの利用可能な新しいバージョンがあることをシステム管理者に通知できます。システム管理者の既存
のインストール URL で新しいバージョンをインストールできます。
詳細は、『Connected Application Tip Sheet』を参照してください。
API の機能強化
使用可能なエディション: Enterprise Edition、Unlimited Edition、Developer Edition、および Database.com Edition
Winter '13 (API バージョン 26.0) での改善点は、次のとおりです。
API レイヤに次の変更が行われました。
•
新しいオブジェクトと変更されたオブジェクト
◊ Chatter API オブジェクト
•
SOQL の機能強化
•
SOSL の機能強化
各 API に次の変更が行われました。
•
SOAP API の機能強化
•
メタデータ API の機能強化
新しいオブジェクトと変更されたオブジェクト
新規および変更された Chatter オブジェクトについての詳細は、「Chatter API オブジェクト」を参照してくださ
い。
新しいオブジェクト
API バージョン 26.0 の新しいオブジェクトは、次のとおりです。
•
ChatterAnswersReputationLevel オブジェクトは Chatter アンサーコミュニティ内の評価レベルを表しま
す。
•
Domain オブジェクトは組織のサイトに割り当てられたカスタム Web アドレスを表します。
•
DomainSite オブジェクトは、Domain オブジェクトと Site オブジェクト間の連結オブジェクトです。
130
開発者コンソールの機能強化
•
API の機能強化
EventAttendee オブジェクトに代わり、EventRelation オブジェクトが使用されます。「Event オブジェク
トおよび EventAttendee オブジェクトの変更」を参照してください。
◊ これには、Shared Activities 用の項目である IsParent、IsWhat、IsInvitee、および AccountId が
含まれています。
◊ RelationId 項目には、イベントに招待された人またはリソースの ID が含まれています。
•
IdeaTheme オブジェクトは、コミュニティメンバーに、特定のトピックに焦点を当てたアイデアを送信
するように促す招待を表します。
•
次のオブジェクトは、Salesforce コミュニティパイロットプログラムの一部です。
◊ Network オブジェクトはコミュニティを表します。
◊ NetworkMember オブジェクトはコミュニティのメンバーを表します。
◊ NetworkProfile オブジェクトはコミュニティ内のプロファイルを表します。
•
次のオブジェクトは、コラボレーション売上予測 (Winter '12 でリリースされた売上予測) を使用する組
織で使用できる新規のオブジェクトです。
◊ ForecastingAdjustment: このオブジェクトは、ForecastingItem を介した下位のユーザの売上予測に対す
る個々のユーザの調整を表します。API バージョン 26.0 以降で利用できます。
◊ ForecastingFact: これは、同じ所有者や売上予測分類を共有する商談や、終了日が売上予測データの期
間内の商談などに ForecastingItem をリンクする参照のみのオブジェクトです。API バージョン 26.0
以降で利用できます。
◊ ForecastingItem: これは、個々の売上予測金額に使用される参照のみのオブジェクトです。ユーザに
は、パースペクティブと売上予測ロールに基づいて金額が表示されます。ユーザには、
AmountWithoutAdjustments、AmountWithoutManagerAdjustment、ForecastAmount、
OwnerOnlyAmount のいずれかの金額が表示されます。
変更されたオブジェクト
次のオブジェクトは、API バージョン 26.0 で変更されました。
•
SiteDomain オブジェクトは廃止されました。代わりに、Domain オブジェクトと DomainSite オブジェク
トを使用してください。
•
Event オブジェクトには、WhatCount 項目と WhoCount 項目が追加されました。さらに、子イベントの
IsReminderSet 項目と ReminderDateTime 項目のみを更新できます。「Event オブジェクトおよび
EventAttendee オブジェクトの変更」を参照してください。
•
ForecastingQuota オブジェクトでは、StartDate 項目に nillable が追加されました。
•
KnowledgeArticleVersion オブジェクトには、ArticleType 項目が追加されました。
•
OpportunityTeamMember オブジェクトには、CurrencyIsoCode 項目が追加されました。さらに、この
オブジェクトは describeLayout() コールと describeSObjects() コールをサポートするようになり
ました。
•
PermissionSet オブジェクトでは、UserLicenseId 項目が nillable になりました。
•
Idea オブジェクトには、IdeaThemeID 項目が追加されました。
131
開発者コンソールの機能強化
API の機能強化
•
Case オブジェクトには、CreatorFullPhotoUrl、CreatorName、および CreatorSmallPhotoUrl の各
項目が追加されました。
•
CaseComment オブジェクトには、CreatorFullPhotoUrl、CreatorName、および CreatorSmallPhotoUrl
の各項目が追加されました。
•
Question オブジェクトには、CreatorFullPhotoUrl、CreatorName、および CreatorSmallPhotoUrl
の各項目が追加されました。
•
Reply オブジェクトには、CreatorFullPhotoUrl、CreatorName、および CreatorSmallPhotoUrl の
各項目が追加されました。
•
EmailMessage オブジェクトは、次の項目が updateable になりました。
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
Bcc Address
Cc Address
From Address
From Name
Headers
Html Body
Message Date
Subject
TextBody
ToAddress
また、Draft は Status 項目の値として使用できるようになり、ReplyToEmailMessageId 項目が追加
されました。
•
User オブジェクトに、UserPreferencesHideCSNDesktopTask 項目と
UserPreferencesHideCSNGetChatterMobileTask 項目が追加されました。
•
LiveChatUserConfig オブジェクトには、IsAutoAwayOnDecline 項目が追加されました。
•
Salesforce コミュニティパイロットで使用される NetworkId 項目が次のオブジェクトに追加されました。
◊
◊
◊
◊
•
ChatterActivity
CollaborationGroup
EntitySubscription
HashtagDefinition
Salesforce コミュニティパイロットで使用される NetworkScope 項目と Visibility 項目が次のオブジェ
クトに追加されました。
◊
◊
◊
◊
◊
◊
◊
◊
◊
AccountFeed
AssetFeed
CampaignFeed
CaseFeed
CollaborationGroupFeed
ContactFeed
ContentDocumentFeed
ContractFeed
DashboardComponentFeed
132
開発者コンソールの機能強化
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
API の機能強化
DashboardFeed
EntitlementFeed
EventFeed
FeedItem
LeadFeed
NewsFeed
OpportunityFeed
Product2Feed
ReportFeed
ServiceContractFeed
SolutionFeed
TaskFeed
UserFeed
UserProfileFeed
•
ContentDocumentLink オブジェクトに、Salesforce コミュニティパイロットプログラムで使用される
Visibility 項目が追加されました。
•
User オブジェクトには次の新規項目があります。
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
UserPreferencesShowCityToExternalUsers
UserPreferencesShowCountryToExternalUsers
UserPreferencesShowEmailToExternalUsers
UserPreferencesShowFaxToExternalUsers
UserPreferencesShowManagerToExternalUsers
UserPreferencesShowMobilePhoneToExternalUsers
UserPreferencesShowPostalCodeToExternalUsers
UserPreferencesShowStateToExternalUsers
UserPreferencesShowStreetAddressToExternalUsers
UserPreferencesShowTitleToExternalUsers
UserPreferencesShowWorkPhoneToExternalUsers
Chatter API オブジェクト
新しいオブジェクト
API バージョン 26.0 の新しいオブジェクトは、次のとおりです。
•
HashtagDefinition オブジェクトは、Chatter 投稿およびコメント内のハッシュタグ (#) を表します。
変更されたオブジェクト
次のオブジェクトは、API バージョン 26.0 で変更されました。
133
開発者コンソールの機能強化
API の機能強化
•
ChatterActivity オブジェクト内に、ParentId の Chatter 影響度ランクを示す InfluenceRawRank 項目が追
加されました。この数値は、ParentId の ChatterActivity 統計に基づいて、組織の他のユーザと相対的に
計算されます。
•
フィード項目の Type 項目に、フィードに投稿されたアンケートを指定する PollPost が含まれるよう
になりました。PollPost 型は、AccountFeed、AssetFeed、CampaignFeed、CaseFeed、
CollaborationGroupFeed、ContactFeed、ContractFeed、DashboardFeed、EntitlementFeed、EventFeed、
FeedItem、LeadFeed、NewsFeed、OpportunityFeed、Product2Feed、ReportFeed、ServiceContractFeed、
SolutionFeed、TaskFeed、UserFeed、および UserProfileFeed の各オブジェクトに使用できます。
SOQL の機能強化
Salesforce Object Query Language (SOQL) を使用すると、Salesforce API で使用されるクエリ文字列を作成できま
す。SOQL クエリの構文の詳細は、『Force.com SOQL and SOSL Reference』を参照してください。
SOQL 多態性 — 開発者プレビュー
SOQL 多態性を使用すると、多態的関係項目のオブジェクト種別に応じて、SOQL クエリでさまざまな項目の
セットを選択できます。たとえば、Event レコードの What 項目は、Account、Opportunity、または Campaign を
参照する可能性があります。現在は、TYPEOF 句を使用して参照対象のオブジェクト種別に基づき、さまざまな
項目を指定して選択できるようになりました。次のサンプルでは、考えられるオブジェクト種別ごとに異なる項
目が指定されています。
SELECT
TYPEOF What
WHEN Account THEN Phone, NumberOfEmployees
WHEN Opportunity THEN Amount, CloseDate
WHEN Campaign THEN ExpectedRevenue, StartDate
ELSE Name
END
FROM Event
Event.What で参照されるオブジェクト種別が Account の場合、クエリは参照された Account の Phone および
NumberOfEmployees 項目を返します。オブジェクト種別が Opportunity の場合、クエリは参照された Opportunity
の Amount および CloseDate 項目を返します。オブジェクト種別が Campaign の場合、クエリは参照された
Campaign の ExpectedRevenue および StartDate 項目を返します。最後に、オブジェクト種別が別の種別であ
る場合、Name 項目が返されます。
SOQL 多態性を使用する場合、いくつかの考慮事項に留意してください。詳細は、『Force.com SOQL and SOSL
Reference』の「TYPEOF」セクションと「多態的なキーとリレーションについて」セクションを参照してくださ
い。
SOSL の機能強化
Salesforce Object Search Language (SOSL) は、Salesforce API を使用してテキスト検索を実行するために使用しま
す。
134
開発者コンソールの機能強化
API の機能強化
SOSL クエリの制限
SOSL ステートメントの文字数制限が組織で定義されている SOQL ステートメントの文字数の制限に関連付けら
れるようになりました。デフォルトでは、SOQL クエリおよび SOSL クエリは 10,000 文字を超えることはでき
ません。ただし、組織が最大 20,000 文字の SOQL クエリ長を超えることができるパイロットプログラムに参加
している場合は、引き上げられた SOQL の制限が SOSL クエリにも適用されます。SOSL クエリの構文の詳細
は、『Force.com SOQL and SOSL Reference』を参照してください。
SOAP API の機能強化
新しいコール
API バージョン 26.0 の新しいコールは、次のとおりです。
•
describeSearchScopeOrder(): このコールは、ログインユーザのグローバル検索範囲内のオブジェク
トの順序付きリストを取得するために使用します。返されたリストは、ユーザのデフォルト検索範囲内
のオブジェクトの順序を反映しており、また、ユーザの検索結果ページの固定オブジェクトは考慮され
ません。このコールは、最適なグローバル検索範囲を使用してカスタム検索結果ページを実装する場合
に便利です。グローバル検索を有効化するには、Chatter を有効化する必要があります。
•
sendEmailMessage(): このコールを使用して、最大 10 個のドラフトメールメッセージを即時に送信し
ます。指定された ID() は、Status が Draft である EmailMessage オブジェクトを対象として指定する
必要があります。
多態的関係項目の変更 — 開発者プレビュー
組織で SOQL 多態性機能が有効になっている場合、以前は Name として定義されていた多態的関係項目が Enterprise
WSDL の sObjects として定義されるようになりました。たとえば、次の Java スニペットに示されているように、
SObject として直接 Merchandise__c カスタムオブジェクトの Owner 項目にアクセスできるようになりました。
...
Merchandise__c myMerch = (Merchandise__c)queryRecord;
SObject merchOwner = myMerch.getOwner();
// Cast and access merchOwner as a User or Group depending on owner type
...
SOQL 多態性機能がない場合、Owner 項目には Name としてアクセスする必要があります。
...
Merchandise__c myMerch = (Merchandise__c)queryRecord;
Name merchOwner = myMerch.getOwner();
// Use Name information in merchOwner to determine owner type and Id
...
SOQL 多態性についての詳細は、「SOQL 多態性 — 開発者プレビュー」を参照してください。
135
開発者コンソールの機能強化
API の機能強化
Chatter API オブジェクト
新しいオブジェクト
API バージョン 26.0 の新しいオブジェクトは、次のとおりです。
•
HashtagDefinition オブジェクトは、Chatter 投稿およびコメント内のハッシュタグ (#) を表します。
変更されたオブジェクト
次のオブジェクトは、API バージョン 26.0 で変更されました。
•
ChatterActivity オブジェクト内に、ParentId の Chatter 影響度ランクを示す InfluenceRawRank 項目が追
加されました。この数値は、ParentId の ChatterActivity 統計に基づいて、組織の他のユーザと相対的に
計算されます。
•
フィード項目の Type 項目に、フィードに投稿されたアンケートを指定する PollPost が含まれるよう
になりました。PollPost 型は、AccountFeed、AssetFeed、CampaignFeed、CaseFeed、
CollaborationGroupFeed、ContactFeed、ContractFeed、DashboardFeed、EntitlementFeed、EventFeed、
FeedItem、LeadFeed、NewsFeed、OpportunityFeed、Product2Feed、ReportFeed、ServiceContractFeed、
SolutionFeed、TaskFeed、UserFeed、および UserProfileFeed の各オブジェクトに使用できます。
メタデータ API の機能強化
メタデータの更新
メタデータ API バージョン 26.0 では、次のメタデータ項目が追加または変更されています。
メタデータの種別また 項目
は関連オブジェクト
変更
説明
DashboardComponent compontentType
(ダッシュボードの既存
の項目)
変更
次の新しい有効値が追加されました。
• Scatter
• ScatterGrouped
これらの値は、ダッシュボードコンポー
ネントのグラフの種類での散布図の指定
と、散布図でのデータの再グループ化に
使用します。groupingColumn を使用し
てデータをグループ化する基準となる項
目を指定します。たとえば、
<groupingColumn>FieldName</groupingColumn>
のように指定します。
Flow (FlowScreen の新 allowBack
規項目)
新規
実行時に [前へ] ボタンを画面に表示する
か (true)、非表示にするか (false) を示
します。true の場合、[前へ] ボタンは、
136
開発者コンソールの機能強化
API の機能強化
メタデータの種別また 項目
は関連オブジェクト
変更
説明
ユーザがフローパスで次の画面にアクセ
スした場合にのみ表示されます。クレ
ジットカードトランザクションなど、前
の画面に再アクセスした場合に繰り返し
てはならないアクションが起動されてし
まう場合は、false に設定します。
デフォルト: true
allowBack と allowFinish のいずれか
を false に設定でき、両方を false に設定
することはできません。
Flow (FlowScreen の新 allowFinish
規項目)
新規
実行時に [完了] ボタンを画面に表示する
か (true)、非表示にするか (false) を示
します。true の場合、[完了] ボタンは、
画面要素がフローパスの最後である場合
にのみ表示されます。ユーザが前の画面
に戻ってフローを続行または完了させる
必要がある場合は、これを false に設定し
ます。たとえば、ユーザに前の画面に
戻って修正するように指示する画面に
[完了] ボタンは表示しません。
デフォルト: true
allowBack と allowFinish のいずれか
を false に設定でき、両方を false に設定
することはできません。
Flow (FlowScreen およ helpText
び FlowScreenField の既
存の項目)
変更
差し込み項目がサポートされるようにな
りました。
Flow (FlowScreenField
の既存の項目)
choiceReferences
変更
新しい複数選択チェックボックスと複数
選択リスト画面項目をサポートします。
Flow (FlowScreenField
の既存の項目)
dataType
変更
新しい複数選択チェックボックスと複数
選択リスト画面項目をサポートするため
には String に設定する必要がありま
す。
また、次の設定を組み合わせで指定され
る新しいチェックボックス入力画面項目
もサポートします。
137
開発者コンソールの機能強化
API の機能強化
メタデータの種別また 項目
は関連オブジェクト
変更
説明
•
•
Flow (FlowScreenField
の既存の項目)
defaultSelectedChoiceReference 変更
Flow (FlowScreenField
の既存の項目)
fieldType
変更
dataType—Boolean
fieldType—InputField
複数選択チェックボックス項目または複
数選択リスト項目で 1 つの FlowChoice
要素の選択をデフォルト値として使用す
ることをサポートします。
次の新しい有効値が追加されました。
• MultiSelectCheckboxes
• MultiSelectPicklist
実行時、各複数選択項目には、その項目
値がユーザが選択した選択肢の値をセミ
コロンで区切った結合値として保存され
ます。選択した選択肢の値内のセミコロ
ンは、複数選択項目値に追加されるとき
に削除されます。
また、次の設定を組み合わせで指定され
る新しいチェックボックス入力画面項目
もサポートします。
•
•
dataType—Boolean
fieldType—InputField
MobileSettings
すべて
新規
対応するパッケージディレクトリの
orgSettings ディレクトリにある新しい
設定ファイル。組織のモバイル設定 (モ
バイル Chatter 設定など)、組織に対して
Mobile Lite が有効であるかどうかなどが
示されます。
SecuritySettings
すべて
変更
組織のセキュリティ設定を表します。セ
キュリティ設定は、ネットワークアクセ
ス用の信頼できる IP 範囲、パスワード
とログインの要件、およびセッション終
了とセキュリティ設定を定義します。
バージョン 26.0 では、バージョン 25.0
で使用可能な取得機能に加えて、このタ
イプは deploy() コールおよび update()
コールによってサポートされています。
138
開発者コンソールの機能強化
Apex コードの機能強化
メタデータの種別また 項目
は関連オブジェクト
変更
説明
IP 範囲を追加するには、既存のすべての
IP 範囲と、自分が追加する範囲をリリー
スする必要があります。これを行わなけ
れば、既存の IP 範囲はリリースした IP
範囲に置き換えられます。組織内のすべ
ての IP 範囲を削除するには、
networkAccess 項目をブランクのままにし
ておきます
(<networkAccess></networkAccess>)。
PermissionSet
tabSettings
新規
権限セットのタブ表示設定を示します。
次の項目があります。
• tab — タブ名
•
visibility — タブの表示設定
◊ Available — タブは [すべてのタ
ブ] ページで使用できます。各ユー
ザは、どのアプリケーションでも
タブが表示されるように表示をカ
スタマイズできます。
◊ None — タブは [すべてのタブ]
ページでは使用できず、どのアプ
リケーションにも表示されませ
ん。
◊ Visible — タブは [すべてのタブ]
ページで使用でき、関連付けられ
ているアプリケーションの表示タ
ブに表示されます。各ユーザは、
表示をカスタマイズしてタブを非
表示にしたり、その他のアプリ
ケーションで表示したりできま
す。
Apex コードの機能強化
Winter '13 では、Apex の次の機能が強化されています。これらの機能強化についての詳細は、『Force.com Apex
コード開発者ガイド』を参照してください。
139
開発者コンソールの機能強化
Apex コードの機能強化
対応付けキーとセットの非プリミティブ型
非プリミティブデータ型の対応付けキーを追加できるようになりました。対応付けキーは、sObjects、コレクショ
ン、ユーザ定義型、および組み込み Apex 型にすることができます。以前は、対応付けキーはプリミティブ型に
しかできませんでした。同様に、セットに任意のデータ型の要素を入れることができるようになりました。これ
により、コレクションに保存できるデータの種類についての選択肢が増えます。
対応付けキーおよびセットの非プリミティブ型に関して、ユーザ定義の型を除き、Apex は 2 つの対応付けキー
またはセット要素の一意性を項目値に基づいて判別します。ユーザ定義型については、equals メソッドと
hashCode メソッドを実装する必要があります。Apex はこれらのメソッドを使用して、クラス内のインスタンス
を比較します。
対応付けキーとセットでのカスタムタイプの使用
対応付けキーまたはセット要素にカスタムタイプ (Apex クラス) を使用する場合は、クラスに equals メソッド
と hashCode メソッドを指定します。Apex はこれらの 2 つのメソッドを使用して、オブジェクトのキーの等価
性と一意性を判別します。
クラスへの equals メソッドと hashCode メソッドの追加
カスタムタイプの対応付けキーが正しく比較され、それらの一意性を一貫して判別できるようにするために、次
の 2 つのメソッドをクラスに実装します。
•
equals メソッドは、次の署名を使用します。
public Boolean equals(Object obj) {
// Your implementation
}
equals メソッドを実装するときには、次の点に留意してください。x、y、および z はクラス内で Null 以外の
インスタンスであるとする場合、equals メソッドは以下のようになります。
◊ 再帰的: x.equals(x)
◊ 対称的: y.equals(x) が true を返す場合、かつその場合に限り、x.equals(y) は true を返します。
◊ 推移的: x.equals(y) が true を返して、y.equals(z) が true を返す場合は、x.equals(z) が true を
返します。
◊ 整合的: x.equals(y) を何度呼び出しても true が一貫して返されるか、false が一貫して返されます。
◊ すべての Null 以外の参照値 x について、x.equals(null) は false を返します。
Apex の equals メソッドは、Java の equals メソッドに基づいています。
•
hashCode メソッドは、次の署名を使用します。
public Integer hashCode() {
// Your implementation
}
hashCode メソッドを実装するときには、次の点に留意してください。
140
開発者コンソールの機能強化
Apex コードの機能強化
◊ hashCode メソッドが Apex 要求の実行中に同じオブジェクトで複数回呼び出される場合、同じ値を返しま
す。
◊ equals メソッドに基づいて 2 つのオブジェクトが同じである場合、hashCode は同じ値を返します。
◊ equals メソッドの結果に基づいて 2 つのオブジェクトが同じではない場合、hashCode によって異なる値
が返されるとは限りません。
Apex の hashCode メソッドは、Java の hashCode メソッドに基づいています。
クラスに equals メソッドを実装するもう 1 つの利点は、オブジェクトの比較が簡略化されるということです。
オブジェクトを比較する際は、== 演算子または equals メソッドを使用できます。たとえば、次のように記述し
たとします。
// obj1 and obj2 are instances of MyClass
if (obj1 == obj2) {
// Do something
}
if (obj1.equals(obj2)) {
// Do something
}
サンプル
このサンプルでは、equals メソッドと hashCode メソッドの実装方法を示します。最初に挙げているのは、こ
れらのメソッドを提供するクラスです。このクラスには、2 つの整数を取るコンストラクタも含まれます。2 番
目のサンプルはクラスの 3 つのオブジェクトを作成するコードスニペットであり、それらの 2 つは同じ値を持ち
ます。次に、キーとしてペアオブジェクトを使用して、対応付けエントリが追加されます。最後に追加されたエ
ントリは最初のエントリと同じキーを持つため、それが上書きされることから、サンプルでは対応付けが 2 つの
エントリしか持たないことが確認されます。次にサンプルは == 演算子を使用します。クラスで equals が実装
されるため、これは期待どおりに機能します。また、対応付けに特定のキーが含まれているかどうかを確認した
り、すべてのキーと値をデバッグログに書き込んだり、対応付けに関する操作も実行されます。最後に、サンプ
ルではセットが作成され、それに同じオブジェクトが追加されます。3 つの中の 2 つのオブジェクトしか一意で
はないため、セットのサイズが 2 であることが確認されます。
public class PairNumbers {
Integer x,y;
public PairNumbers(Integer a, Integer b) {
x=a;
y=b;
}
public Boolean equals(Object obj) {
if (obj instanceof PairNumbers) {
PairNumbers p = (PairNumbers)obj;
return ((x==p.x) && (y==p.y));
}
return false;
}
public Integer hashCode() {
return (31 * x) ^ y;
}
}
141
開発者コンソールの機能強化
Apex コードの機能強化
このコードスニペットは PairNumbers クラスを活用します。
Map<PairNumbers, String> m = new Map<PairNumbers, String>();
PairNumbers p1 = new PairNumbers(1,2);
PairNumbers p2 = new PairNumbers(3,4);
// Duplicate key
PairNumbers p3 = new PairNumbers(1,2);
m.put(p1, 'first');
m.put(p2, 'second');
m.put(p3, 'third');
// Map size is 2 because the entry with
// the duplicate key overwrote the first entry.
System.assertEquals(2, m.size());
// Use the == operator
if (p1 == p3) {
System.debug('p1 and p3 are equal.');
}
// Perform some other operations
System.assertEquals(true, m.containsKey(p1));
System.assertEquals(true, m.containsKey(p2));
System.assertEquals(false, m.containsKey(new PairNumbers(5,6)));
for(PairNumbers pn : m.keySet()) {
System.debug('Key: ' + pn);
}
List<String> mValues = m.values();
System.debug('m.values: ' + mValues);
// Create a set
Set<PairNumbers> s1 = new Set<PairNumbers>();
s1.add(p1);
s1.add(p2);
s1.add(p3);
// Verify that we have only two elements
// since the p3 is equal to p1.
System.assertEquals(2, s1.size());
コールアウトのテストのサポート
Apex でコールアウトをテストできるようになりました。テストコンテキストで行われるコールアウトの処理を
ネイティブでサポートし、人工的な応答を生成することによって、テストによるコードカバー率が増加し、テス
トプロセスが簡略化されます。外部 SOAP Web サービスの自動生成コードを変更したり、HTTP クラスを使用
して作成されたコールアウトのロジックをさらに追加したりする必要はなくなりました。
新しい Test.setMock メソッドは、Apex ランタイムにテストメソッドでコールアウトを処理し、ユーザが指定
した模擬応答を生成するように指示します。
142
開発者コンソールの機能強化
Apex コードの機能強化
HTTP コールアウトのテスト
Apex をリリースまたはパッケージ化するには、コードのテストカバー率が 75% に達している必要があります。
デフォルトでは、テストメソッドは HTTP コールアウトをサポートせず、コールアウトを実行するテストはス
キップされます。ただし、HTTP コールアウトのテストを有効化できます。そのためには、Test.setMock を
コールし、次のいずれかの方法で疑似応答を指定して、テストで疑似応答を生成するように Apex に指示します。
•
HttpCalloutMock インターフェースを実装する
•
StaticResourceCalloutMock または MultiStaticResourceCalloutMock で静的リソースを使用する
HttpCalloutMock インターフェースの実装による HTTP コールアウトのテスト
HttpCalloutMock インターフェースを実装して respond メソッドで送信される応答を指定できるようにしま
す。このメソッドを Apex ランタイムがコールしてコールアウトへの応答を送信します。
global class YourHttpCalloutMockImpl implements HttpCalloutMock {
global HTTPResponse respond(HTTPRequest req) {
// Create a fake response.
// Set response values, and
// return response.
}
}
メモ:
•
HttpCalloutMock インターフェースを実装するクラスは、global または public にできます。
•
このクラスはテストコンテキストでのみ使用されるため、@isTest のアノテーションを付加できま
す。この方法で、3 MB の組織のコードサイズ制限からクラスを除外できます。
疑似応答の値を指定したら、テストメソッドで Test.setMock をコールし、この疑似応答を送信するように Apex
ランタイムに指示できます。次のように、第 1 引数では HttpCalloutMock.class を渡し、第 2 引数では
HttpCalloutMock のインターフェース実装の新しいインスタンスを渡します。
Test.setMock(HttpCalloutMock.class, new YourHttpCalloutMockImpl());
これ以降、HTTP コールアウトをテストコンテキストで呼び出すと、コールアウトは行われず、respond メソッ
ド実装に指定した疑似応答を受け取ります。
メモ: コールアウトを実行するコードが管理パッケージに含まれる場合、同じパッケージ内のテストメ
ソッドから同じ名前空間を使用して Test.setMock をコールし、疑似コールアウトを行う必要がありま
す。
次の詳細な例では、HTTP コールアウトのテスト方法を示します。最初に挙げているのが、インターフェース実
装 (MockHttpResponseGenerator) です。次が、テストメソッドを含むクラスと、テストがコールするメソッド
を含む別のクラスです。testCallout テストメソッドは、Test.setMock をコールして疑似コールアウトモード
を設定してから、getInfoFromExternalService をコールします。次に、返された応答が、実装した respond
143
開発者コンソールの機能強化
Apex コードの機能強化
メソッドから送信されたものであることを確認します。各クラスを別個に保存し、CalloutClassTest でテスト
を実行します。
@isTest
global class MockHttpResponseGenerator implements HttpCalloutMock {
// Implement this interface method
global HTTPResponse respond(HTTPRequest req) {
// Optionally, only send a mock response for a specific endpoint
// and method.
System.assertEquals('http://api.salesforce.com/foo/bar', req.getEndpoint());
System.assertEquals('GET', req.getMethod());
// Create a fake response
HttpResponse res = new HttpResponse();
res.setHeader('Content-Type', 'application/json');
res.setBody('{"foo":"bar"}');
res.setStatusCode(200);
return res;
}
}
public class CalloutClass {
public static HttpResponse getInfoFromExternalService() {
HttpRequest req = new HttpRequest();
req.setEndpoint('http://api.salesforce.com/foo/bar');
req.setMethod('GET');
Http h = new Http();
HttpResponse res = h.send(req);
return res;
}
}
@isTest
private class CalloutClassTest {
@isTest static void testCallout() {
// Set mock callout class
Test.setMock(HttpCalloutMock.class, new MockHttpResponseGenerator());
// Call method to test.
// This causes a fake response to be sent
// from the class that implements HttpCalloutMock.
HttpResponse res = CalloutClass.getInfoFromExternalService();
// Verify response received contains fake values
String contentType = res.getHeader('Content-Type');
System.assert(contentType == 'application/json');
String actualValue = res.getBody();
String expectedValue = '{"foo":"bar"}';
System.assertEquals(actualValue, expectedValue);
System.assertEquals(200, res.getStatusCode());
}
}
静的リソースを使用した HTTP コールアウトのテスト
HTTP コールアウトをテストするには、静的リソースで受信するレスポンスボディを指定し、
StaticResourceCalloutMock または MultiStaticResourceCalloutMock のいずれかの組み込みクラスを使用
します。
144
開発者コンソールの機能強化
Apex コードの機能強化
StaticResourceCalloutMock を使用した HTTP コールアウトのテスト
Apex では、組み込みの StaticResourceCalloutMock クラスを使用して、静的リソース内にレスポンスボディ
を指定し、コールアウトをテストできます。このクラスを使用する場合、独自の HttpCalloutMock インター
フェースの実装を指定する必要はありません。代わりに、StaticResourceCalloutMock のインスタンスを作成
し、静的リソースをレスポンスボディに使用するように設定します。同時に状況コードやコンテンツタイプなど
の他のレスポンスプロパティも設定します。
最初に、レスポンスボディが含まれる静的リソースをテキストファイルから作成する必要があります。
1. 返すレスポンスボディが含まれるテキストファイルを作成します。レスポンスボディは任意の文字列にでき
ますが、コンテンツタイプを指定した場合はコンテンツタイプと一致する必要があります。たとえば、レス
ポンスにコンテンツタイプが指定されていない場合、ファイルには任意の文字列 abc を含めることができま
す。レスポンスにアプリケーション/JSON のコンテンツタイプを指定した場合、ファイルコンテンツは JSON
文字列 ({"hah":"fooled you"} など) にする必要があります。
2. テキストファイルの静的リソースを次の手順で作成します。
a.
b.
c.
d.
あなたの名前 > [設定] > [開発] > [静的リソース] をクリックして、[新規静的リソース] をクリックします。
静的リソースの名前を指定します。
アップロードするファイルを選択します。
[保存] をクリックします。
静的リソースについての詳細は、Salesforce オンラインヘルプの「静的リソースの定義」を参照してください。
次に、StaticResourceCalloutMock のインスタンスを作成し、静的リソースとその他のプロパティを設定しま
す。
StaticResourceCalloutMock mock = new StaticResourceCalloutMock();
mock.setStaticResource('myStaticResourceName');
mock.setStatusCode(200);
mock.setHeader('Content-Type', 'application/json');
テストメソッドで、Test.setMock をコールして疑似コールアウトモードを設定し、第 1 引数として
HttpCalloutMock.class、第 2 引数として StaticResourceCalloutMock 用に作成した変数名を渡します。
Test.setMock(HttpCalloutMock.class, mock);
これ以降、テストメソッドがコールアウトを実行すると、コールアウトは行われず、Apex ランタイムが
StaticResourceCalloutMock のインスタンスに指定した疑似応答を送信します。
メモ: コールアウトを実行するコードが管理パッケージに含まれる場合、同じパッケージ内のテストメ
ソッドから同じ名前空間を使用して Test.setMock をコールし、疑似コールアウトを行う必要がありま
す。
次の詳細な例には、テストメソッド (testCalloutWithStaticResources) と、テストメソッドでテストされ、
コールアウトを実行するメソッド (getInfoFromExternalService) が含まれます。この例を実行する前に、コ
ンテンツ {"hah":"fooled you"} を含むテキストファイルに基づいて mockResponse という名前の静的リソー
スを作成します。各クラスを別個に保存し、CalloutStaticClassTest でテストを実行します。
public class CalloutStaticClass {
public static HttpResponse getInfoFromExternalService(String endpoint) {
HttpRequest req = new HttpRequest();
145
開発者コンソールの機能強化
Apex コードの機能強化
req.setEndpoint(endpoint);
req.setMethod('GET');
Http h = new Http();
HttpResponse res = h.send(req);
return res;
}
}
@isTest
private class CalloutStaticClassTest {
@isTest static void testCalloutWithStaticResources() {
// Use StaticResourceCalloutMock built-in class to
// specify fake response and include response body
// in a static resource.
StaticResourceCalloutMock mock = new StaticResourceCalloutMock();
mock.setStaticResource('mockResponse');
mock.setStatusCode(200);
mock.setHeader('Content-Type', 'application/json');
// Set the mock callout mode
Test.setMock(HttpCalloutMock.class, mock);
// Call the method that performs the callout
HTTPResponse res = CalloutStaticClass.getInfoFromExternalService(
'http://api.salesforce.com/foo/bar');
// Verify response received contains values returned by
// the mock response.
// This is the content of the static resource.
System.assertEquals('{"hah":"fooled you"}', res.getBody());
System.assertEquals(200,res.getStatusCode());
System.assertEquals('application/json', res.getHeader('Content-Type'));
}
}
MultiStaticResourceCalloutMock を使用した HTTP コールアウトのテスト
Apex では、組み込みの MultiStaticResourceCalloutMock クラスを使用して、エンドポイントごとに静的リ
ソース内にレスポンスボディを指定し、コールアウトをテストできます。このクラスは、複数のレスポンスボ
ディを指定できる点を除き、StaticResourceCalloutMock に似ています。このクラスを使用する場合、独自の
HttpCalloutMock インターフェースの実装を指定する必要はありません。代わりに、
MultiStaticResourceCalloutMock のインスタンスを作成し、エンドポイントごとに使用する静的リソースを
設定します。状況コードやコンテンツタイプなど、他のレスポンスプロパティも設定できます。
最初に、レスポンスボディが含まれる静的リソースをテキストファイルから作成する必要があります。
「StaticResourceCalloutMock を使用した HTTP コールアウトのテスト」に概説されている手順を参照して
ください。
次に、MultiStaticResourceCalloutMock のインスタンスを作成し、静的リソースとその他のプロパティを設
定します。
MultiStaticResourceCalloutMock multimock = new MultiStaticResourceCalloutMock();
multimock.setStaticResource('http://api.salesforce.com/foo/bar', 'mockResponse');
multimock.setStaticResource('http://api.salesforce.com/foo/sfdc', 'mockResponse2');
multimock.setStatusCode(200);
multimock.setHeader('Content-Type', 'application/json');
146
開発者コンソールの機能強化
Apex コードの機能強化
テストメソッドで、Test.setMock をコールして疑似コールアウトモードを設定し、第 1 引数として
HttpCalloutMock.class、第 2 引数として MultiStaticResourceCalloutMock 用に作成した変数名を渡しま
す。
Test.setMock(HttpCalloutMock.class, multimock);
これ以降、テストメソッドがエンドポイント http://api.salesforce.com/foo/bar または
http://api.salesforce.com/foo/sfdc のいずれかへの HTTP コールアウトを実行すると、コールアウトは
行われず、Apex ランタイムが MultiStaticResourceCalloutMock のインスタンスに指定した対応する疑似応
答を送信します。
次の詳細な例には、テストメソッド (testCalloutWithMultipleStaticResources) と、テストメソッドでテス
トされ、コールアウトを実行するメソッド (getInfoFromExternalService) が含まれます。この例を実行する
前に、コンテンツ {"hah":"fooled you"} を含むテキストファイルに基づいた mockResponse という名前の
静的リソースと、コンテンツ {"hah":"fooled you twice"} を含むテキストファイルに基づいた
mockResponse2 という名前の静的リソースを作成します。各クラスを別個に保存し、
CalloutMultiStaticClassTest でテストを実行します。
public class CalloutMultiStaticClass {
public static HttpResponse getInfoFromExternalService(String endpoint) {
HttpRequest req = new HttpRequest();
req.setEndpoint(endpoint);
req.setMethod('GET');
Http h = new Http();
HttpResponse res = h.send(req);
return res;
}
}
@isTest
private class CalloutMultiStaticClassTest {
@isTest static void testCalloutWithMultipleStaticResources() {
// Use MultiStaticResourceCalloutMock to
// specify fake response for a certain endpoint and
// include response body in a static resource.
MultiStaticResourceCalloutMock multimock = new MultiStaticResourceCalloutMock();
multimock.setStaticResource(
'http://api.salesforce.com/foo/bar', 'mockResponse');
multimock.setStaticResource(
'http://api.salesforce.com/foo/sfdc', 'mockResponse2');
multimock.setStatusCode(200);
multimock.setHeader('Content-Type', 'application/json');
// Set the mock callout mode
Test.setMock(HttpCalloutMock.class, multimock);
// Call the method for the first endpoint
HTTPResponse res = CalloutMultiStaticClass.getInfoFromExternalService(
'http://api.salesforce.com/foo/bar');
// Verify response received
System.assertEquals('{"hah":"fooled you"}', res.getBody());
// Call the method for the second endpoint
HTTPResponse res2 = CalloutMultiStaticClass.getInfoFromExternalService(
'http://api.salesforce.com/foo/sfdc');
// Verify response received
System.assertEquals('{"hah":"fooled you twice"}', res2.getBody());
}
}
147
開発者コンソールの機能強化
Apex コードの機能強化
Web サービスコールアウトのテスト
生成されたコードは、Web サービスをコールするために呼び出せるメソッドが含まれる Apex クラスとして保存
されます。この Apex クラスと付随するその他のコードをリリースまたはパッケージ化するには、生成されたク
ラス内のメソッドを含め、コードのテストカバー率が 75% に達している必要があります。デフォルトでは、テス
トメソッドは Web サービスコールアウトをサポートせず、Web サービスコールアウトを実行するテストはスキッ
プされます。テストのスキップを回避し、コードカバー率を高めるために、Apex では組み込みの WebServiceMock
インターフェースと Test.setMock メソッドを使用してテストメソッドで疑似応答を受信できます。
Web サービスコールアウトをテストするための疑似応答の指定
WSDL から Apex クラスを作成した場合、自動生成されたクラスのメソッドが WebServiceCallout.invoke を
コールし、そこから外部サービスへのコールアウトが実行されます。これらのメソッドをテストする場合、
WebServiceCallout.invoke がコールされたときには常に疑似応答を生成するように Apex ランタイムに指示で
きます。そのためには、WebServiceMock インターフェースを実装し、Apex ランタイムが送信する疑似応答を
指定します。手順の詳細は次のとおりです。
最初に、WebServiceMock インターフェースを実装し、doInvoke メソッドに疑似応答を指定します。
global class YourWebServiceMockImpl implements WebServiceMock {
global void doInvoke(
Object stub,
Object request,
Map<String, Object> response,
String endpoint,
String soapAction,
String requestName,
String responseNS,
String responseName,
String responseType) {
// Create response element from the autogenerated class.
// Populate response element.
// Add response element to the response parameter, as follows:
response.put('response_x', responseElement);
}
}
メモ:
•
WebServiceMock インターフェースを実装するクラスは、global または public にできます。
•
このクラスはテストコンテキストでのみ使用されるため、@isTest のアノテーションを付加できま
す。この方法で、3 MB の組織のコードサイズ制限からクラスを除外できます。
疑似応答の値を指定したら、テストメソッドで Test.setMock をコールし、この疑似応答を送信するように Apex
ランタイムに指示できます。次のように、第 1 引数では WebServiceMock.class を渡し、第 2 引数では
WebServiceMock のインターフェース実装の新しいインスタンスを渡します。
Test.setMock(WebServiceMock.class, new YourWebServiceMockImpl());
これ以降、Web サービスコールアウトをテストコンテキストで呼び出すと、コールアウトは行われず、doInvoke
メソッド実装に指定した疑似応答を受信します。
148
開発者コンソールの機能強化
Apex コードの機能強化
メモ: コールアウトを実行するコードが管理パッケージに含まれる場合、同じパッケージ内のテストメ
ソッドから同じ名前空間を使用して Test.setMock をコールし、疑似コールアウトを行う必要がありま
す。
次の詳細な例では、Web サービスコールアウトのテスト方法を示します。最初に挙げているのが、WebServiceMock
インターフェースの実装です。この例では doInvoke メソッドを実装し、そのメソッドから指定した応答が返さ
れます。この場合、自動生成されたクラスのレスポンス要素が作成されて値が割り当てられます。次に、応答の
Map パラメータにこの疑似応答が入力されます。この例は、「生成されるコードについて」に記されている
WSDL に基づいています。このクラスを保存する前に、この WSDL をインポートし、 docSample というクラ
スを生成しておきます。
@isTest
global class WebServiceMockImpl implements WebServiceMock {
global void doInvoke(
Object stub,
Object request,
Map<String, Object> response,
String endpoint,
String soapAction,
String requestName,
String responseNS,
String responseName,
String responseType) {
docSample.EchoStringResponse_element respElement =
new docSample.EchoStringResponse_element();
respElement.EchoStringResult = 'Mock response';
response.put('response_x', respElement);
}
}
次のメソッドでは、Web サービスコールアウトを行います。
public class WebSvcCallout {
public static String callEchoString(String input) {
docSample.DocSamplePort sample = new docSample.DocSamplePort();
sample.endpoint_x = 'http://api.salesforce.com/foo/bar';
// This invokes the EchoString method in the generated class
String echo = sample.EchoString(input);
return echo;
}
}
次のテストクラスには、疑似コールアウトモードを設定するテストメソッドが含まれます。これは前述のクラス
に含まれる callEchoString メソッドをコールし、疑似応答が受信されたことを確認します。
@isTest
private class WebSvcCalloutTest {
@isTest static void testEchoString() {
// This causes a fake response to be generated
Test.setMock(WebServiceMock.class, new WebServiceMockImpl());
// Call the method that invokes a callout
String output = WebSvcCallout.callEchoString('Hello World!');
// Verify that a fake result is returned
System.assertEquals('Mock response', output);
149
開発者コンソールの機能強化
Apex コードの機能強化
}
}
新しい ID.getSObjectType メソッド
ID 種別の新しい getSObjectType メソッドを使用して、ID の sObject に対応する sObject トークンを取得でき
ます。これは特に sObject 自体へのアクセス権を持たない場合に便利です。たとえば、future メソッドではパラ
メータとして sObject 型を受け取らないため、sObject で getSObjectType を呼び出せない場合などです。また、
この新しいメソッドを使用すると、グローバル記述用の API コール (grobal describe) を行って、特定の sObject 名
の sObject トークンを取得する必要はなくなります。ID に対して getSObjectType を呼び出すだけで済みます。
この方法で、記述用のガバナ制限に到達することも回避されます。
このサンプルには、getSObjectType メソッドを使用して ID から sObject トークンを取得する方法が示されて
います。サンプルの updateOwner メソッドは sObjects の ID リストを受け取り、ownerID 項目を更新します。こ
のリストには、同じ型の sObjects の ID が含まれています。2 番目のパラメータは新しい所有者 ID です。これは
future メソッドであるため、sObject 型をパラメータとして受け取らないことに注意してください。sObjects の ID
を受け取るのはこのためです。このメソッドは、sObject トークンをリスト内の最初の ID から取得し、describe
を実行してオブジェクト名を得た後、クエリを動的に作成します。次に、すべての sObjects に対してクエリを実
行し、所有者 ID 項目を新しい所有者 ID に更新します。
public class MyDynamicSolution {
@future
public static void updateOwner(List<ID> objIds, ID newOwnerId) {
// Validate input
System.assert(objIds != null);
System.assert(objIds.size() > 0);
System.assert(newOwnerId != null);
// Get the sObject token from the first ID
// (the List contains IDs of sObjects of the same type).
Schema.SObjectType token = objIds[0].getSObjectType();
// Using the token, do a describe
// and construct a query dynamically.
Schema.DescribeSObjectResult dr = token.getDescribe();
String queryString = 'SELECT ownerId FROM ' + dr.getName() +
' WHERE ';
for(ID objId : objIds) {
queryString += 'Id=\'' + objId + '\' OR ';
}
// Remove the last ' OR'
queryString = queryString.subString(0, queryString.length() - 4);
sObject[] objDBList = Database.query(queryString);
System.assert(objDBList.size() > 0);
// Update the owner ID on the sObjects
for(Integer i=0;i<objDBList.size();i++) {
objDBList[i].put('ownerId', newOwnerId);
}
Database.SaveResult[] srList = Database.update(objDBList, false);
for(Database.SaveResult sr : srList) {
if (sr.isSuccess()) {
System.debug('Updated owner ID successfully for ' +
dr.getName() + ' ID ' + sr.getId());
150
開発者コンソールの機能強化
Apex コードの機能強化
}
else {
System.debug('Updating ' + dr.getName() + ' returned the following errors.');
for(Database.Error e : sr.getErrors()) {
System.debug(e.getMessage());
}
}
}
}
}
新しい String メソッド
Apex で、String メソッドの、より豊富なライブラリを使用できるようになりました。文字列操作とユーティリ
ティ操作のためのメソッドがさらに追加されました。使用可能な新しいメソッドは、次のとおりです。
•
文字列を操作して、長くしたり、短くしたりするメソッド
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
•
center
join
leftPad
remove
removeEnd
removeEndIgnoreCase
removeStart
removeStartIgnoreCase
repeat
rightPad
splitByCharacterType
splitByCharacterTypeCamelCase
文字列の大文字/小文字を変更および確認するメソッド
◊
◊
◊
◊
◊
•
abbreviate
capitalize
isAllLowerCase
isAllUpperCase
swapCase
uncapitalize
サブ文字列を検索および抽出するメソッド
◊
◊
◊
◊
◊
containsAny
containsIgnoreCase
containsNone
containsOnly
containsWhitespace
151
開発者コンソールの機能強化
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
•
deleteWhitespace
difference
endsWithIgnoreCase
getCommonPrefix
indexOfAny
indexOfAnyBut
indexOfDifference
indexOfIgnoreCase
lastIndexOf
lastIndexOfIgnoreCase
left
mid
right
startsWithIgnoreCase
substringAfter
substringAfterLast
substringBefore
substringBeforeLast
substringBetween
escapeCsv
escapeEcmaScript
escapeHtml3
escapeHtml4
escapeXml
unescapeCsv
unescapeEcmaScript
unescapeHtml3
unescapeHtml4
unescapeXml
文字列内の文字の型を判定するメソッド
◊
◊
◊
◊
◊
◊
◊
◊
•
countMatches
文字列をエスケープおよびエスケープ解除するメソッド
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
•
Apex コードの機能強化
isAlpha
isAlphanumeric
isAlphanumericSpace
isAlphaSpace
isAsciiPrintable
isNumeric
isNumericSpace
isWhitespace
その他のユーティリティメソッド
152
開発者コンソールの機能強化
◊
◊
◊
◊
◊
◊
◊
Apex コードの機能強化
getLevenshteinDistance
isBlank
isEmpty
isNotBlank
isNotEmpty
normalizeSpace
reverse
これらのメソッドについての詳細は、『Force.com Apex コード開発者ガイド』を参照してください。
静的リソースからのテストデータの読み込み
新しい Test.loadData メソッドを使用すると、多くのコード行を記述しなくてもテストメソッドにデータを投
入できます。データを .csv ファイルに追加し、このファイルの静的リソースを作成してから、テストメソッド内
で sObject 型トークンと静的リソース名を渡して Test.loadData をコールするだけです。たとえば、Account レ
コードと静的リソース名 myResource の場合、次のようにコールします。
List<sObject> ls = Test.loadData(Account.sObjectType, 'myResource');
Test.loadData メソッドは、挿入された各レコードに対応する sObject のリストを返します。
このメソッドをコールする前に、静的リソースを作成する必要があります。静的リソースは、拡張子 .csv を持つ
カンマ区切りファイルです。ファイルには、テストレコードの項目名と値が含まれます。ファイルの第 1 行には
項目名、2 行目以降には項目値が含まれている必要があります。静的リソースについての詳細は、Salesforce オン
ラインヘルプの「静的リソースの定義」を参照してください。
.csv ファイルの静的リソースを作成すると、静的リソースに MIME タイプが割り当てられます。次の MIME タ
イプがサポートされます。
•
•
•
•
text/csv
application/vnd.ms-excel
application/octet-stream
text/plain
Test.loadData の例
次の手順では、サンプル .csv ファイルと静的リソースを作成し、Test.loadData をコールしてテストレコード
を挿入します。
1. テストレコードのデータが含まれる .csv ファイルを作成します。このサンプル .csv ファイルには 3 つの取引
先レコードが含まれます。この内容を使用して .csv ファイルを作成できます。
Name,Website,Phone,BillingStreet,BillingCity,BillingState,BillingPostalCode,BillingCountry
sForceTest1,http://www.sforcetest1.com,(415) 901-7000,The Landmark @ One Market,San
Francisco,CA,94105,US
sForceTest2,http://www.sforcetest2.com,(415) 901-7000,The Landmark @ One Market Suite
300,San Francisco,CA,94105,US
sForceTest3,http://www.sforcetest3.com,(415) 901-7000,1 Market St,San Francisco,CA,94105,US
153
開発者コンソールの機能強化
Apex コードの機能強化
2. .csv ファイルの静的リソースを次の手順で作成します。
a. あなたの名前 > [設定] > [開発] > [静的リソース] をクリックして、[新規静的リソース] をクリックします。
b. testAccounts という名前にします。
c. 先ほど作成した.csv ファイルを選択します。
d. [保存] をクリックします。
3. テストメソッドで Test.loadData をコールしてテスト取引先にデータをセットします。
@isTest
private class DataUtil {
static testmethod void testLoadData() {
// Load the test accounts from the static resource
List<sObject> ls = Test.loadData(Account.sObjectType, 'testAccounts');
// Verify that all 3 test accounts were created
System.assert(ls.size() == 3);
// Get first test account
Account a1 = (Account)ls[0];
String acctName = a1.Name;
System.debug(acctName);
// Perform some testing using the test records
}
}
Golbal である必要がなくなった Global Interface メソッドの実装
global interface のメソッドを実装するときは、それらのメソッドをクラスで public または global として宣言できま
す。それらを global として宣言する必要はなくなりました。これにより、メソッドの実装でどの程度の可視性を
実現するのかを選択できるようになります。パッケージ開発者は、パッケージにインターフェースを実装し、ク
ラスとメソッドを public として宣言して登録者の組織からアクセスできないようにすることができます。たとえ
ば、登録者に表示されない、public メソッドを使用する public のバッチ実装クラスをパッケージに含めることが
できます。
これは、global class メソッドの上書きにも適用されます。global メソッドを上書きするメソッドを public または
global として宣言できます。
次のサンプルは、global interface メソッドを public メソッドとして実装できることを示しています。上に記され
ているのがインターフェースで、下がそれを実装するクラスです。
global interface Vehicle {
Long getMaxSpeed();
String getType();
}
public class Car implements Vehicle {
// Implement global interface methods in public
//
methods.
public Long getMaxSpeed() { return 100; }
public String getType() { return 'Sedan'; }
}
154
開発者コンソールの機能強化
Apex コードの機能強化
次のサンプルは、global メソッドをクラス拡張で public メソッドとして上書きできることを示しています。上に
記されているのが基本クラスで、下がそれを拡張するクラスです。
global virtual class MyBaseClass {
global virtual String getMessage() {
return 'Hello from MyClass!';
}
}
public class MyExtension extends MyBaseClass {
// Override the getMessage() method from MyBaseClass
public override String getMessage() {
return 'Overriding the returned message.';
}
}
新しい Type.toString メソッド
toString メソッドが Type クラスに追加されました。このメソッドでは、型の名前が String として返されます。
他の Apex メソッド (String.valueOf や System.debug など) は、このメソッドをコールしてそれらの Type 引
数を String に変換します。
次のサンプルでは、Integer のリストに対応する Type に対して toString がコールされています。
Type t = List<Integer>.class;
String s = t.toString();
System.assertEquals('LIST<Integer>', s);
引数の文字列変換を行うために toString を使用する String.valueOf
および System.debug
String.valueOf は、引数で toString メソッドを使用してそのオブジェクト引数に文字列変換を実行するよう
になりました (可能な場合)。また、System.debug の場合も String.valueOf をコールしてオブジェクト引数の
文字列変換が同様に実行されます。変換する引数が toString メソッドを使用する組み込み型であるか、上書き
された toString メソッドを使用するユーザ定義型である場合、toString メソッドがコールされます。それ以
外の場合は、System.debug と String.valueOf によって引数の文字列表現が算出されます。以前は、
System.debug と String.valueOf は常に引数の文字列表現を書き込むか、その表現を返し、引数オブジェクト
に対して使用できる場合でも toString をコールしませんでした。
次のサンプルは、System.debug の新しい動作を示します。Type に対して String.valueOf と System.debug
をコールし、それによって Type toString メソッドが呼び出されます。
Type t = List<Integer>.class;
// Converts to String using the Type.toString method
String s = String.valueOf(t);
155
開発者コンソールの機能強化
Apex コードの機能強化
// Returns: LIST<Integer>
// It used to return: Type:[aot=LIST<Integer>]
System.assertEquals('LIST<Integer>', s);
// System.debug use the Type.toString method
// to convert the type to a string.
// Writes LIST<Integer> to the debug output
System.debug(t);
次のサンプルは、ユーザ定義クラスの上書きされた toString メソッドがどのようにして String.valueOf と
System.debug によって呼び出されるかを示しています。上に記されているのは、上書きされた toString メ
ソッドを持つクラスで、下が String.valueOf と System.debug をコールするコードスニペットです。
public class PairNumbers {
Integer x,y;
public PairNumbers(Integer a, Integer b) {
x=a;
y=b;
}
public override String toString() {
return '(' + x + ',' + y + ')';
}
}
PairNumbers p = new PairNumbers(1,2);
// Converts to String using the Type.toString method
String s = String.valueOf(p);
// Returns: (1,2)
// It used to return: PairNumbers:[x=1, y=2]
System.assertEquals('(1,2)', s);
// System.debug use the Type.toString method
// to convert the type to a string.
// Writes (1,2) to the debug output
System.debug(p);
Apex で使用可能な SOQL 多態性 — 開発者プレビュー
Apex の SOQL クエリで SOQL 多態性を使用できます。通常、これは新しい TYPEOF 句を使用して実行されま
す。SOQL 多態性についての詳細は、「SOQL 多態性 — 開発者プレビュー」 (ページ 134)を参照してください。
追加の組み込みデータ型への JSON サポート
JSON 逐次化および並列化サポートが追加の組み込み Apex 型にも追加されました。これらの型は Database メソッ
ドの戻り値のデータ型です。以下に例を示します。
•
•
DeleteResult
EmptyRecycleBinResult
156
開発者コンソールの機能強化
•
•
•
•
Apex コードの機能強化
LeadConvertResult
SaveResult
UndeleteResult
UpsertResult
サポートされるこれらの型のほかに、JSON は以前のように sObjects (標準オブジェクトとカスタムオブジェク
ト)、Apex プリミティブ型とコレクション型、および Apex クラスのインスタンスに関して継続的にサポートさ
れています。
コードカバー率のパーセント値の詳細
[Apex クラス] ページまたは [Apex トリガ] ページに表示されるクラスまたはトリガのコードカバー率のパーセン
テージ値には、このパーセンテージ値の算出に使用された数字がカッコ内に比率として表示されます (例えば、
[90% (72/80)])。コードカバー率のパーセンテージ値は、テストでカバーされている行数を、カバー率の計算に含
まれる行の合計数で除算して計算されます。一部のコード行はコードカバー率の計算から除外されます。以下に
例を示します。
•
コメント
•
System.debug ステートメント
•
Test メソッド
•
複数の行に分割されたコードステートメント。最初の行のみがカウントされます。
コードカバー率の結果を生成するには、最初に Apex テストを実行する必要があります。テストが実行されなけ
れば、コードカバー率のデータは存在せず、[0% (カバー率データなし)] が [Apex クラス] ページと [Apex トリガ]
ページのクラス (test クラスを除く) とトリガに表示されます。
newSObject メソッドを使用したデフォルト値を持つ sObjects の作成
sObject トークン (Schema.sObjectType 型) に対して newSObject メソッドを使用することで、組織で事前定義
されたデフォルト値を使用して事前にデータが設定されたカスタム項目を持つ、新しい sObjects を作成できるよ
うになりました。また、作成する sObject のレコードタイプも指定できます。これは、選択リストや複数選択リ
ストを持つカスタム項目などのように、さまざまなレコードタイプに応じてデフォルト値が変わる場合に便利で
す。デフォルトの項目値についての詳細は、Salesforce オンラインヘルプの「デフォルト項目値について」を参照
してください。
名前
引数
newSObject
ID recordTypeId sObject
Boolean
loadDefaults
戻り値
説明
該当する型の新しい sObject を作成します。またオプ
ションで、デフォルトのカスタム項目値を持つ、指定
したレコードタイプ ID の sObject を作成します。
recordTypeId 引数によって、作成する sObject のレ
コードタイプ ID が指定されます。該当する sObject に
157
開発者コンソールの機能強化
名前
引数
Apex コードの機能強化
戻り値
説明
レコードタイプがない場合は、null を使用します。
sObject にレコードタイプがある場合に null を指定す
ると、デフォルトのレコードタイプが使用されます。
loadDefaults 引数によって、事前定義されたデフォ
ルト値を使用してカスタム項目にデータを設定するか
(true)、しないか (false) が指定されます。
注意:
•
デフォルト値が設定されていない必須項目には、新
しい sObject を挿入する前に値を指定してください。
指定せずに挿入すると、エラーが発生します。たと
えば、取引先の Name 項目や、主従関係項目などで
す。
•
選択リストと複数選択リストにはレコードタイプご
とに特定のデフォルト値を指定できるため、このメ
ソッドによって、指定したレコードタイプに対応す
るデフォルト値が設定されます。
•
項目に事前定義されたデフォルト値がなく、
loadDefaults 引数が true である場合、このメソッ
ドによって、項目値が null の sObject が作成され
ます。
•
loadDefaults 引数が false である場合、このメ
ソッドによって、項目値が null の sObject が作成
されます。
•
このメソッドによって、デフォルト値を持つ、新し
い sObject の読み取り専用カスタム項目にデータが
設定されます。その後、読み取り専用項目を持つ新
しい sObject を挿入できます。挿入後もこれらの項
目を編集することはできません。
•
カスタム項目に一意のマークが付けられており、デ
フォルト値も提供されている場合に、複数の新しい
sObject を挿入すると、項目値が重複するため実行
時例外が発生します。
デフォルトの項目値についての詳細は、Salesforce オン
ラインヘルプの「デフォルト項目値について」を参照
してください。
例として、「サンプル: デフォルト値を持つ新しい
sObject の作成」を参照してください。
158
開発者コンソールの機能強化
Apex コードの機能強化
サンプル: デフォルト値を持つ新しい sObject の作成
このサンプルでは、newSObject メソッドを使用して、カスタム項目にデフォルト値が設定された取引先を作成
します。また、2 つ目の取引先を特定のレコードタイプで作成します。このサンプルでは、両方の取引先にデフォ
ルト値のない必須項目である Name 項目を設定してから、新しい取引先を挿入します。
// Create an account with predefined default values
Account acct = (Account)Account.sObjectType.newSObject(null, true);
// Provide a value for Name
acct.Name = 'Acme';
// Insert new account
insert acct;
// This is for record type RT1 of Account
ID rtId = [SELECT Id FROM RecordType WHERE sObjectType='Account' AND Name='RT1'].Id;
Account acct2 = (Account)Account.sObjectType.newSObject(rtId, true);
// Provide a value for Name
acct2.Name = 'Acme2';
// Insert new account
insert acct2;
他の一括処理ジョブからの一括処理ジョブの開始
他の一括処理ジョブの一括処理ジョブを、その一括処理クラスの finish メソッドから Database.executeBatch
をコールすることにより開始できるようになりました。これにより、一括処理ジョブをリンクさせて、一連の
ジョブを作成することができます。この場合も一括処理ジョブのガバナ制限は適用されます。この変更は、
Salesforce.com API バージョン 26.0 以降を使用して保存された Apex の一括処理に適用されます。以前は、
Salesforce.com API バージョン 25.0 以前を使用して保存された Apex では、Apex 一括処理メソッド内から
Database.executeBatch をコールすることはできませんでした。使用バージョンは他の一括処理ジョブを開始
するバッチを実行しているクラスのバージョンです。バッチを実行しているクラスの finish メソッドで一括処
理ジョブを開始するヘルパークラスのメソッドをコールする場合、ヘルパークラスの Salesforce.com API バージョ
ンは関係ありません。
新しい getVariableValue メソッド
Flow.Interview クラスの新しい getVariableValue メソッドを使用すると、Visualforce コントローラでフロー
変数の値を取得できます。変数は、Visualforce ページに埋め込まれたフローか、サブフロー要素からコールされ
る別のフローに含まれている場合があります。このメソッドは、Visual Workflow で使用されます。
メソッド
引数
getVariableValue String
variableName
戻り値
説明
Object
指定されたフロー変数の値を返します。フロー変数は、
Visualforce ページに埋め込まれたフローか、サブフロー要
素からコールされる別のフローに含まれている場合があり
ます。
159
開発者コンソールの機能強化
メソッド
引数
Apex コードの機能強化
戻り値
説明
変数値は、インタビューが現在実行されているどのフロー
からも返されます。指定された変数がそのフローに見つか
らない場合、メソッドは null を返します。
variableName 引数は、フロー変数の一意の名前を指定し
ます。
このメソッドは、実行時にのみ変数が存在するかどうか
チェックし、コンパイル時にはチェックしません。
サンプル
次のサンプルでは、getVariableValue メソッドを使用して、Visualforce ページに埋め込まれたフローからブ
レッドクラム (移動) 情報を取得します。そのフローにサブフロー要素が含まれ、参照される各フローにも
vaBreadCrumb 変数が含まれる場合、Visualforce ページは、どのフローでインタビューが実行されていても、ユー
ザにブレッドクラムを表示できます。
public class SampleContoller {
//Instance of the flow
public Flow.Interview.Flow_Template_Gallery myFlow {get; set;}
public String getBreadCrumb() {
String aBreadCrumb;
if (myFlow==null) { return 'Home';}
else aBreadCrumb = (String) myFlow.getVariableValue('vaBreadCrumb');
return(aBreadCrumb==null ? 'Home': aBreadCrumb);
}
}
新規ネットワーククラスとメソッド
コミュニティパイロットに使用される Network クラスはコミュニティを表します。
メモ: Salesforce コミュニティは、パイロットプログラムで利用可能です。組織がコミュニティパイロッ
トを利用する条件を満たしているかどうかは、Salesforce.com の担当者にお問い合わせください。
このクラスには、getNetworkId メソッドが含まれます。getNetworkId メソッドはユーザの現在のコミュニ
ティを返します。コミュニティがユーザの組織で有効になっていないか、ユーザが現在内部組織に含まれる場
合、このメソッドは null を返します。
160
開発者コンソールの機能強化
Apex コードの機能強化
新しいメッセージメソッド
Messaging クラスの新しい sendEmailMessage メソッドでは、最大 10 件のドラフトメールメッセージを送信で
きます。このメソッドは、ケースフィードで使用されます。
名前
引数
戻り値
説明
sendEmailMessage List <ID>
Messaging.SendEmailResult[] 指定したメールメッセージ ID で定義されているド
emailMessageIds
ラフトメールメッセージを最大 10 件送信し、
Boolean
SendEmailResult オブジェクトのリストを返します。
allOrNothing
sendEmailMessage メソッドは、opt_allOrNone
パラメータ (省略可能) は常に false であるとみな
し、設定した値を無視します。この省略可能なパラ
メータでは、任意のメッセージがエラーで失敗した
場合、sendEmailMessage でその他すべてのメッ
セージの配信を行わない (true) か、エラーのない
メッセージの配信を行う (false) かを指定します。
例:
この例では、ドラフトメールメッセージを送信する
方法を示します。ケースとそのケースに関連付けら
れた新しいメールメッセージを作成します。次に、
ドラフトメールメッセージを送信し、結果を確認し
ます。この例を実行する前に、メールアドレスを有
効なアドレスに置き換えていることを確認してくだ
さい。
Case c = new Case();
insert c;
EmailMessage e = new EmailMessage();
e.parentid = c.id;
// Set to draft status.
// This status is required
// for sendEmailMessage().
e.Status = '5';
e.TextBody =
'Sample email message.';
e.Subject = 'Apex sample';
e.ToAddress = '[email protected]';
insert e;
List<Messaging.SendEmailResult>
results =
Messaging.sendEmailMessage(new ID[]
{ e.id });
System.assertEquals(1, results.size());
System.assertEquals(true,
results[0].success);
161
開発者コンソールの機能強化
Apex コードの機能強化
新しいアクセストークンメソッド
Auth.AuthToken Apex クラスには、アクセストークン getAccessTokenMap を取得する新しいメソッドが含ま
れています。ユーザ ID が複数のサードパーティユーザに対応付けられている場合は、このメソッドを使用しま
す。getAccessTokenMap では各サードパーティユーザのアクセストークンの対応付けを返します。詳細は、
Salesforce オンラインヘルプの「外部認証プロバイダについて」を参照してください。
名前
引数
戻り値
説明
getAccessTokenMap String
Map<String, String>
authProviderId
String
providerName
現在ログインしている Salesforce ユーザサードパー
ティ識別子からアクセストークンへの対応付けを返
します。識別子の値はサードパーティにより異なり
ます。たとえば、Salesforce ではユーザ ID ですが、
Facebook ではユーザ番号です。
Support.EmailTemplateSelector インターフェース
Support.EmailTemplateSelector インターフェースでは、ケースフィードのデフォルトのメールテンプレー
トを指定できます。デフォルトのメールテンプレートを使用すると、ケース発生源や件名などの条件に基づい
て、指定したメールテンプレートがケースに事前に読み込まれます。
デフォルトのテンプレートを指定するには、Support.EmailTemplateSelector を実装するクラスを作成する
必要があります。Support.EmailTemplateSelector インターフェースには次のメソッドが含まれます。
名前
引数
getDefaultTemplateId ID caseId
戻り値
説明
ID
指定したケース ID を使用して、ケースフィー
ドで現在表示されているケースに事前に読み込
まれるメールテンプレートの ID を返します。
実装例
これは、Support.EmailTemplateSelector インターフェースの実装例です。getDefaultEmailTemplateId
メソッドの実装で、指定したケース ID に対応するケースの件名と説明を取得します。次に、ケースの件名に基
づいてメールテンプレートを選択し、メールテンプレート ID を返します。
global class MyCaseTemplateChooser implements Support.EmailTemplateSelector {
// Empty constructor
global MyCaseTemplateChooser() {
}
// The main interface method
global ID getDefaultEmailTemplateId(ID caseId) {
// Select the case we're interested in, choosing any fields that are relevant to
our decision
Case c = [SELECT Subject, Description FROM Case WHERE Id=:caseId];
162
開発者コンソールの機能強化
Apex コードの機能強化
EmailTemplate et;
if (c.subject.contains('LX-1150')) {
et = [SELECT id FROM EmailTemplate WHERE DeveloperName = 'LX1150_template'];
} else if(c.subject.contains('LX-1220')) {
et = [SELECT id FROM EmailTemplate WHERE DeveloperName = 'LX1220_template'];
}
// Return the ID of the template selected
return et.id;
}
}
次の例では、上記のコードをテストします。
@isTest
private class MyCaseTemplateChooserTest {
static testMethod void testChooseTemplate() {
MyCaseTemplateChooser chooser = new MyCaseTemplateChooser();
// Create a simulated case to test with
Case c = new Case();
c.Subject = 'I\'m having trouble with my LX-1150';
Database.insert(c);
// Make sure the proper template is chosen for this subject
Id actualTemplateId = chooser.getDefaultEmailTemplateId(c.Id);
EmailTemplate expectedTemplate =
[SELECT id FROM EmailTemplate WHERE DeveloperName = 'LX1150_template'];
Id expectedTemplateId = expectedTemplate.Id;
System.assertEquals(actualTemplateId, expectedTemplateId);
// Change the case properties to match a different template
c.Subject = 'My LX1220 is overheating';
Database.update(c);
// Make sure the correct template is chosen in this case
actualTemplateId = chooser.getDefaultEmailTemplateId(c.Id);
expectedTemplate =
[SELECT id FROM EmailTemplate WHERE DeveloperName = 'LX1220_template'];
expectedTemplateId = expectedTemplate.Id;
System.assertEquals(actualTemplateId, expectedTemplateId);
}
}
パラメータ化されたインターフェースがサポートされなくなった
Salesforce.com API バージョン 26.0 以降を使用して保存された Apex では、パラメータ化されたインターフェース
はサポートされていません。
163
開発者コンソールの機能強化
Visualforce Charting — 正式リリース
Visualforce Charting — 正式リリース
使用可能なエディション: Group Edition、Professional Edition、Enterprise Edition、Unlimited Edition、および
Developer Edition
Group Edition または Professional Edition では、カスタムコントローラと標準コントローラの拡張はサポートさ
れていません。
必要なユーザ権限
Visualforce ページを作成、編集、および設定する
「アプリケーションのカスタマイズ」
カスタム Visualforce コントローラまたは Apex を編集す 「Apex 開発」
る
Visualforce Charting が正式リリースされました。すべての Visualforce ユーザが利用できるようになり、グラフ作
成のいくつかの機能が強化されました。
新しいグラフの種類
既存の Visualforce グラフの種類 (棒グラフ、折れ線グラフ、円グラフ) に、エリアグラフ、ゲージグラフ、レー
ダーグラフ、散布図という 4 つの新しいグラフの種類が追加されました。
<apex:areaSeries> を使用したエリアグラフ
エリアグラフは縦棒グラフの代わりに使用できます。
164
開発者コンソールの機能強化
Visualforce Charting — 正式リリース
散布図は、他の線形のデータ系列グラフと同じ長方形のグリッド上に描画されます。同じグラフ内で複数のエリ
アグラフ (<apex:areaSeries>)、棒グラフ (<apex:barSeries>)、折れ線グラフ (<apex:lineSeries>)、散布
図 (<apex:scatterSeries>) を組み合わせることができます。
エリアグラフタイプの詳細については、『Visualforce 開発者ガイド』を参照してください。
<apex:gaugeSeries> を使用したゲージグラフ
特定の指標に沿って進捗状況を表示するには、ゲージグラフを使用します。ゲージグラフには使用可能な値の全
範囲が示され、データ系列の 1 つの値がゲージ軸に沿って配置されます。
円グラフ (<apex:pieSeries>) と同様に、ゲージグラフは 1 つのデータ系列を使用します。円グラフ
(<apex:pieSeries>) とは異なり、ゲージグラフは最初のデータ値のみを使用します。<apex:gaugeSeries> を
使用してゲージグラフを作成するには、ダイヤルゲージの開始値と終了値を設定する <apex:axis type="Gauge">
コンポーネントを追加します。簡単な例を次に示します。
<apex:chart height="250" width="450" animate="true" legend="true" data="{!data}">
<apex:axis type="Gauge" position="gauge" minimum="0" maximum="100" steps="10"/>
<apex:gaugeSeries dataField="data1" highlight="true" tips="true" donut="50">
<apex:chartLabel display="over"/>
</apex:gaugeSeries>
</apex:chart>
ゲージグラフの詳細については、『Visualforce 開発者ガイド』を参照してください。
<apex:radarSeries> を使用したレーダーグラフ
放射軸に沿って複数の点を線で結んで表示するには、レーダーグラフを使用します。レーダーグラフは、「クモ
の巣」グラフと呼ばれる場合があります。
165
開発者コンソールの機能強化
Visualforce Charting — 正式リリース
1 つのグラフに複数の <apex:radarSeries> コンポーネントを追加できます。<apex:radarSeries> を使用し
てレーダーグラフを作成するには、<apex:axis type="Radial"> コンポーネントを追加します。簡単な例を次
に示します。
<apex:chart height="530" width="700" legend="true" data="{!data}">
<apex:legend position="left"/>
<apex:axis type="Radial" position="radial">
<apex:chartLabel/>
</apex:axis>
<apex:radarSeries xField="name" yField="data1" tips="true" opacity="0.4"/>
<apex:radarSeries xField="name" yField="data2" tips="true" opacity="0.4"/>
<apex:radarSeries xField="name" yField="data3" tips="true"
markerType="cross" strokeWidth="2" strokeColor="#f33" opacity="0.4"/>
</apex:chart>
レーダーグラフ (<apex:radarSeries>) の詳細は、『Visualforce 開発者ガイド』を参照してください。
<apex:scatterSeries> を使用した散布図
線形のグリッド上に個々の測定値 (線で結ばれていない) を表示するには、散布図を使用します。
166
開発者コンソールの機能強化
Visualforce Charting — 正式リリース
散布図は、他の線形のデータ系列グラフと同じ長方形のグリッド上に描画されます。同じグラフ内で複数のエリ
アグラフ (<apex:areaSeries>)、棒グラフ (<apex:barSeries>)、折れ線グラフ (<apex:lineSeries>)、散布
図 (<apex:scatterSeries>) を組み合わせることができます。
散布図の詳細は、『Visualforce 開発者ガイド』を参照してください。
Charting のその他の改善
Visualforce グラフのデフォルトの配色が、Salesforce レポートのグラフおよび分析グラフの色により調和するよう
に変更されました。新しい配色を使用して、視覚的に一貫性のあるダッシュボードを簡単に作成できるようにな
りました。
新しいデフォルトの配色のほか、ほとんどのグラフコンポーネントで colorSet 属性がサポートされています。
この属性を使用して、グラフおよびデータ系列の色を制御できます。この属性に HTML スタイル (16 進数) で色
を設定すると、そのコンポーネントでは各要素でそれらの色を順に使用します。たとえば、次のように記述した
とします。
<apex:barSeries orientation="vertical" axis="left" xField="name" yField="data1"
colorSet="#000000,#FF0000,#00FF00,#0000FF,#FFFF00,#00FFFF,#FF00FF"
colorsProgressWithinSeries="true"/>
ほとんどの種類のグラフには、データ系列コンポーネントで使用できる追加のスタイルカスタマイズオプション
があります。各グラフのオプションの詳細については、『Visualforce 開発者ガイド』を参照してください。
Visualforce Charting では、デデータの遅延読み込み、データの再読み込み、グラフの表示/非表示、およびページ
の部分更新によるグラフの再表示のサポートなど強化された表示コントロールが提供されます。表示コントロー
ルは、通常、JavaScript Remoting と併用されます。
167
開発者コンソールの機能強化
Visualforce のその他の機能強化
<apex:chart> コンポーネントで、height 属性および width 属性をピクセルだけでなくパーセントを指定して
設定できるようになりました。ブラウザサイズおよび画面サイズ全体で、一貫性したサイズ設定および動作を実
現するにはピクセルを使用します。グラフのサイズが画面サイズに応じて異なる場合、またはデータセットが極
めて大きいまたは小さいグラフを生成する可能性がある場合は、パーセントを使用します。
Charting パイロットとの互換性
Visualforce Charting のパイロット版を使用して作成したグラフは、Charting の正式リリース版と互換性がありま
す。ただし、次の例外があります。
•
<apex:chart> コンポーネントで border 属性は使用できなくなりました。border 属性を使用しているすべ
てのグラフからこの属性を削除する必要があります。
•
デフォルトの配色が変更されたため、既存のグラフの外観も変わります。
Visualforce のその他の機能強化
使用可能なエディション: Group Edition、Professional Edition、Enterprise Edition、Unlimited Edition、および
Developer Edition
Group Edition または Professional Edition では、カスタムコントローラと標準コントローラの拡張はサポートさ
れていません。
必要なユーザ権限
Visualforce ページを作成、編集、および設定する
「アプリケーションのカスタマイズ」
カスタム Visualforce コントローラまたは Apex を編集す 「Apex 開発」
る
Winter '13 では、Visualforce の次の機能が強化されています。これらの機能強化についての詳細は、『Visualforce
開発者ガイド』を参照してください。
support:caseFeed コンポーネント
新しい support:caseFeed コンポーネントには、メール、ポータル、活動の記録、「ケースメモを記入」パブ
リッシャー、ケース活動フィード、フィード条件、強調表示パネルといったすべての標準のケースフィードペー
ジ要素が含まれます。組織が Visualforce を使用してその他のユーザ向けのカスタマイズされたケースフィード
ページも作成する場合、このコンポーネントを使用して、特定のユーザ向けの標準のケースフィードページを作
成できます。
168
開発者コンソールの機能強化
Visualforce のその他の機能強化
たとえば、企業がモバイルデバイスを使用するフィールドサポートエージェント向けに高度にカスタマイズされ
たケースフィードページと、コンタクトセンターのサポートエージェントが標準のケースフィードページを使用
できるページを作成するとします。 この企業では 2 つの Visualforce ページを作成します。1 つは、コンタクトセ
ンターでデスクトップコンピュータを操作するエージェントに割り当てられる、support:caseFeed を使用する
ページで、もう 1 つは、フィールドエージェントに割り当てられる、その他のケースフィードコンポーネントの
カスタマイズされた組み合わせを使用するページを作成します。
support:caseFeed は、ケースでケースフィード、Chatter、およびフィード追跡を有効にしている組織でのみ使
用できます。
support:caseFeed およびその他のケースフィードコンポーネントの詳細は、「Visualforce でのケースフィード
のカスタマイズ」を参照してください。
Chatter アンサーコミュニティの NoSignIn オプション
Winter '13 では、<chatteranswers:allfeeds> コンポーネントの NoSignIn 属性 (boolean) を使用して、コミュ
ニティからサインインリンクを削除できます。外部サインインパスを使用しており、ユーザが標準の Chatter ア
ンサーのサインインではなく、外部サインインパスを使用するようにする必要がある場合は、このオプションを
使用します。NoSignIn が true である場合も、引き続きコミュニティのアクセス可能なコンテンツを検索して、
公開表示できます。ユーザがすでに有効なセッションを確立している場合、引き続き質問の投稿、返信、投票、
コンテンツへのフラグ付けができます。
JavaScript Remoting の機能強化
プログラミングエラーまたはその他の失敗により @RemoteAction メソッドで例外が発生すると、Apex スタック
追跡がブラウザに返されます。JavaScript デバッガコンソールでスタック追跡を検査するか、応答コールバック関
数のエラー処理でスタック追跡を使用します。次のコールバック関数には、例外がある場合に返されるスタック
追跡が示されています。
<script type="text/javascript">
function getRemoteAccount() {
var accountName = document.getElementById('acctSearch').value;
Visualforce.remoting.Manager.invokeAction(
'{!$RemoteAction.MyController.getAccount}',
accountName,
function(result, event){
if (event.status) {
document.getElementById('acctId').innerHTML = result.Id
document.getElementById('acctName').innerHTML = result.Name;
} else if (event.type === 'exception') {
document.getElementById("responseErrors").innerHTML =
event.message + "<br/>\n<pre>" + event.where + "</pre>";
} else {
document.getElementById("responseErrors").innerHTML = event.message;
}
},
{escape: true}
);
169
開発者コンソールの機能強化
Visualforce のその他の機能強化
}
</script>
Winter '13 では、リモート要求設定配列にオプションを追加して、要求の自動バッファリングを回避できます。
JavaScript Remoting では、相互に近い時間に実行される複数の要求を最適化し、これらのを 1 つの要求にグルー
プ化します。このバッファリングにより、要求および応答のサイクルの全体的な効率性が改善されますが、場合
によってはすべての要求が個別に実行されるようにする方が便利なこともあります。
前の例でバッファリングを無効化するには、設定ブロックに buffer: false を追加します。
{escape: true, buffer: false}
@RemoteAction メソッドが検索またはコールされる場合、Visualforce ではページコントローラの継承階層を調
べ、コントローラの上位階層のクラス内で @RemoteAction メソッドを検索します。
この機能を示す例を次に示します。次の Apex クラスでは 3 階層の継承階層を形成します。
global with sharing class ChildRemoteController
extends ParentRemoteController { }
global virtual with sharing class ParentRemoteController
extends GrandparentRemoteController { }
global virtual with sharing class GrandparentRemoteController {
@RemoteAction
global static String sayHello(String helloTo) {
return 'Hello ' + helloTo + ' from the Grandparent.';
}
}
この Visualforce ページでは簡単な sayHello リモートアクションをコールします。
<apex:page controller="ChildRemoteController" >
<script type="text/javascript">
function sayHello(helloTo) {
ChildRemoteController.sayHello(helloTo, function(result, event){
if(event.status) {
document.getElementById("result").innerHTML = result;
}
});
}
</script>
<button onclick="sayHello('Jude');">Say Hello</button><br/>
<div id="result">[Results]</div>
</apex:page>
リモートメソッドは ChildRemoteController クラス内には存在しません。代わりに、
GrandparentRemoteController から継承されます。
170
開発者コンソールの機能強化
Visualforce のその他の機能強化
パススルー HTML 属性
表示される HTML に「パススルー」される属性を <apex:outputPanel> コンポーネントに追加できます。これ
は、data-* 属性をフレームワーク関数を有効化するフックとして使用する jQuery Mobile、Knockout.js などの
JavaScript フレームワークと Visualforce を併用する場合などに役立ちます。
<apex:outputPanel> にパススルー属性を追加するには、その属性に「html-」をプレフィックスとして指定し、
通常どおり属性値を設定します。
<apex:page showHeader="false" standardStylesheets="false" doctype="html-5.0">
<apex:outputPanel layout="block" html-data-role="panel" html-data-id="menu">
<apex:insert name="menu"/>
</apex:outputPanel>
<apex:outputPanel layout="block" html-data-role="panel" html-data-id="main">
<apex:insert name="main"/>
</apex:outputPanel>
</apex:page>
これにより、次のような HTML 出力が作成されます。
<!DOCTYPE HTML>
<html>
<head> ... </head>
<div id="..." data-id="menu" data-role="panel">
<!-- contents of menu -->
</div>
<div id="..." data-id="main" data-role="panel">
<!-- contents of main -->
</div>
</html>
先頭が「html-」であるすべての属性は、結果の HTML には「html-」が削除されて渡されます。
メモ: <apex:outputPanel> の組み込み属性と競合するパススルー属性では、コンパイルエラーが生成
されます。
HTML 属性を使用する際のその他の考慮事項および例については、『Visualforce 開発者ガイド』の「Visualforce
コンポーネントに対するカスタム HTML 属性の設定」 (Salesforce オンラインヘルプ)を参照してください。
Internet Explorer の条件付きコメントのサポート
Winter '13 より前では、Visualforce ページで HTML コメントおよび XML コメントを使用できましたが、ページ
の表示時に自動的に削除されていました。これには、ブラウザの互換性の問題に対応するためによく使用する
Internet Explorer 固有の「条件付きコメント」が含まれていました。Winter '14 では、Internet Explorer の条件付き
コメントは Visualforce で認識され、ブラウザに渡されます。
171
開発者コンソールの機能強化
Visualforce のその他の機能強化
この変更はバージョン管理されているため、この機能を有効化するには、Visualforce ページを API バージョン
26.0 に更新する必要があります。
HTML コメントと IE の条件付きコメント
Visualforce ページでは HTML および XML コメントを使用できますが、これらのコメントはページの表示時に
Visualforce によって HTML から削除されます。唯一の例外は、Internet Explorer 固有の条件付きコメントです。
このコメントを使用すると、CSS スタイルシート、JavaScript ファイル、またはその他の IE 固有のメタタグやリ
ソースを追加できます。
Internet Explorer の条件付きコメントは、一般に古いバージョンの IE との間で発生するブラウザの互換性問題に
対処する場合に最もよく使用されます。条件付きコメントはページ上のどこで使用されても機能しますが、多く
はページの <head> タグ内に配置され、バージョン固有のスタイルシートや JavaScript の互換性の調整用コード
(shim) を組み込むために使用できます。
条件付きコメントをページの <head> タグ内に配置するには、標準の Salesforce ヘッダー、サイドバー、および
スタイルシートを無効化し、独自の <head> および <body> タグを追加します。
<apex:page docType="html-5.0" showHeader="false" standardStylesheets="false">
<head>
<!-- Base styles -->
<apex:stylesheet value="{!URLFOR($Resource.BrowserCompatibility, 'css/style.css')}"/>
<!--[if lt IE 7]>
<apex:includeScript
value="{!URLFOR($Resource.BrowserCompatibility, 'js/obsolete-ie-shim.js')}/>
<apex:stylesheet
value="{!URLFOR($Resource.BrowserCompatibility, 'css/ie-old-styles.css')}"/>
<![endif]-->
<!--[if IE 7]>
<apex:stylesheet
value="{!URLFOR($Resource.BrowserCompatibility, 'css/ie7-styles.css')}"/>
<![endif]-->
</head>
<body>
<h1>Browser Compatibility</h1>
<p>It's not just a job. It's an adventure.</p>
</body>
</apex:page>
メモ: 条件付きコメントは、ブラウザによって処理され、Visualforce のページ処理には影響を与えませ
ん。上記の例では、4 つの Visualforce タグはすべて、ページが表示されるブラウザに関係なく、評価およ
び処理されます。
条件付きコメントの使用方法についての詳細は、Internet Explorer の条件付きコメントに関する Microsoft のドキュ
メントを参照してください。
エスケープされたコメントからの移行
Winter '13 より前の Visualforce のバージョンでは、特定のコンテキストで、コメントがエスケープされた「<」お
よび「>」をコメント区切り文字として使用してエンコードされている場合、条件付きコメントをブラウザに渡
すことができました。これは意図した動作ではないため、修正されました。
172
開発者コンソールの機能強化
Visualforce のその他の機能強化
API バージョン 26.0 以降を使用するページでは、エスケープされたコメントはページに文字として表示されま
す。解決策は、構文的に正しい IE の条件付きコメントを使用するようにこれらのページを変更することです。
ページが API バージョン 25.0 以下に設定されている限り、この意図しない機能を使用する既存のページは、多
くの場合、Winter '13 でも引き続き動作します。この手法を使用しているお客様は、サポートされるようになっ
た IE の正しい条件付きコメントを使用するようにページを変更することをお勧めします。
連動選択リストのインライン編集
連動選択リストで、インライン編集がサポートされます。制御項目または連動項目の <apex:outputField> で
インライン編集を有効化するには、その項目に <apex:inlineEditSupport> 子コンポーネントを追加します。
<apex:form>
<apex:outputField value="{!Location.country}">
<apex:inlineEditSupport event="ondblClick" />
</apex:outputField>
<apex:outputField value="{!Location.state}">
<apex:inlineEditSupport event="ondblClick" />
</apex:outputField>
<apex:outputField value="{!Location.city}">
<apex:inlineEditSupport event="ondblClick" />
</apex:outputField>
</apex:form>
インライン編集が有効化されている連動選択リストをページで使用するには、制御項目を含める必要がありま
す。ページに制御項目が含まれていない場合、ページを表示するときにランタイムエラーが発生します。
インライン編集が有効化されている連動選択リストを Ajax スタイルのページの部分更新と組み合わせている場
合は、1 つのグループとして相互に連動関係または制御関係を持つすべての項目を更新します。元に戻す/やり直
し動作が不統一になる可能性があるため、項目を個別に更新することはお勧めしません。次の例は、インライン
編集が有効化された連動選択リストを含むフォームを部分更新する場合に推奨される方法を示しています。
<apex:form>
<!-- other form elements ... -->
<apex:outputPanel id="locationPicker">
<apex:outputField value="{!Location.country}">
<apex:inlineEditSupport event="ondblClick" />
</apex:outputField>
<apex:outputField value="{!Location.state}">
<apex:inlineEditSupport event="ondblClick" />
</apex:outputField>
<apex:outputField value="{!Location.city}">
<apex:inlineEditSupport event="ondblClick" />
</apex:outputField>
</apex:outputPanel>
<!-- ... -->
<apex:commandButton value="Refresh Picklists" reRender="locationPicker" />
</apex:form>
インライン編集が有効化された選択リストのすべてが <apex:outputPanel> コンポーネントで囲まれています。
<apex:commandButton> アクションメソッドが実行されるときに <apex:outputPanel> が表示されます。
173
開発者コンソールの機能強化
Visualforce のその他の機能強化
カスタムコンポーネントの対応付け属性
カスタムコンポーネントの属性に対応付けを割り当てることができるようになりました。対応付け属性は次のよ
うな形で宣言します。
<apex:component>
<!-- Attribute definitions -->
<apex:attribute name="items" description="A map of items to be listed."
type="map" required="true"/>
<!-- Component implementation -->
<ul>
<apex:repeat value="{!items}" var="itemKey">
<li><strong>{!itemKey}</strong> {!items[itemKey]}</li>
</apex:repeat>
</ul>
</apex:component>
対応付けコレクションコンテンツの特定のデータ型を宣言する必要はありません。データ型は実行時に決定され
ます。
<apex:inputText> を使用したリストおよび対応付けへの動的参照
組織のカスタムオブジェクト以外のデータを使用するフォームを作成するには、<apex:inputText> タグ内でリ
ストおよび対応付けへの動的参照を使用します。1 つの対応付けを使用する方が、Apex コントローラの一連のイ
ンスタンス変数を作成したり、フォームデータのみのためのカスタムオブジェクトを作成したりするよりはるか
に簡単である場合があります。
次の例は、カスタムコントローラで処理するフォームデータを保持するために対応付けを使用する Visualforce
ページです。
<apex:page controller="ListsMapsController">
<apex:outputPanel id="box" layout="block">
<apex:pageMessages/>
<apex:form >
<apex:repeat value="{!inputFields}" var="fieldKey">
<apex:outputText value="{!fieldKey}"/>:
<apex:inputText value="{!inputFields[fieldKey]}"/><br/>
</apex:repeat>
<apex:commandButton action="{!submitFieldData}"
value="Submit" id="button" rerender="box"/>
</apex:form>
</apex:outputPanel>
</apex:page>
フォームと連携する単純なコントローラを次に示します。
public class ListsMapsController {
public Map<String, String> inputFields { get; set; }
174
開発者コンソールの機能強化
Visualforce のその他の機能強化
public ListsMapsController() {
inputFields = new Map<String, String> {
'firstName' => 'Jonny', 'lastName' => 'Appleseed', 'age' => '42' };
}
public PageReference submitFieldData() {
doSomethingInterestingWithInput();
return null;
}
public void doSomethingInterestingWithInput() {
inputFields.put('age', (Integer.valueOf(inputFields.get('age')) + 10).format());
}
}
<apex:outputField> の数式項目の処理の改善
<apex:outputField> コンポーネントでは sObject 項目の参照のみの表示を提供します。このコンポーネントは
表示される項目の型に一致するよう出力を調整します。また、この動作は標準の Salesforce インターフェースに
出力を対応させることを目的としています。Winter '13 より前では、これが機能しない場合があり、HYPERLINK()
関数を使用してカスタム URL を作成する数式項目は <apex:outputField> によって正しく処理されませんでし
た。項目値はエスケープされてはならない場合にエスケープされ、また、有効なリンクを表示するのではなく、
ハイパーリンクの HTML を表示していました。Winter '13 ではこの問題が修正されました。
この変更はバージョン管理されているため、新しい動作を有効化するには、VisualforceページをAPIバージョン
26.0 に更新する必要があります。
以前は、この問題の最も一般的な回避策は escape 属性を false に設定した <apex:outputText> を使用するこ
とでした。
<apex:outputText value="{!someSObject.customURL}" escape="false"/>
これを次のように書き換えて、より一般的な <apex:outputField> を使用できるようになりました。
<apex:outputField value="{!someSObject.customURL}"/>
警告: どちらの手法でも悪質な方法で使用されるおそれのある JavaScript などの任意のコンテンツが許可
されるため、セキュリティのリスクとなる可能性があります。これは、Visualforce に表示されるか、標準
の Salesforce インターフェースに表示されるかに関わらず、HYPERLINK() を使用するすべての数式項目に
該当します。
上の 2 つの方法で記述された場合のみ、数式項目のエスケープが回避されます。式を使用して表示される数式項
目は引き続きエスケープされます。たとえば、次のように記述したとします。
Here is the URL: {!someSObject.customURL}
この方法を使用すると、URL 項目はエスケープされ、ユーザのブラウザで有効なリンクではなく HTML として
表示されます。
175
開発者コンソールの機能強化
Visualforce のその他の機能強化
エスケープ動作への変更
Winter '13 リリースより前は、一部の Visualforce ページおよびコンポーネントのテキストが誤って生成されるこ
とがありました。エスケープすべきフラグメントがエスケープされず (「&lt;」として生成される「<」文字な
ど)、ブラウザでページのテキストとしてではなくマークアップとして解釈される場合がありました。この問題
は API バージョン 26.0 以降のすべてのページで修正されました。
お客様の組織で、この誤ったエスケープ処理に対応するよう作成されたページまたはコンポーネントがある場
合、これらのページは修正する必要があります。修正するには、<apex:outputText> と escape="false" 属性
を併用して、エスケープされないテキストを生成します。
既存の組織では、[重要な更新] ページに待機中の変更が表示されます。誤った動作によりページまたはコンポー
ネントを修正した場合は、[重要な更新] ページで変更を有効化してください。 [重要な更新] ページに示されてい
る日付までにこの変更を行う必要があります。重要な更新の管理についての詳細は、オンラインヘルプの「重要
な更新の概要」を参照してください。
組織に管理パッケージからインストールされた問題のあるページまたはコンポーネントがある場合、パッケージ
の納入業者に連絡を取り、修正された新しいバージョンを取得する必要がある場合があります。
Null 値を使用する式の評価への変更
相対比較のいずれかの辺の値が null である場合、数式評価が特定の例外を発生させるように変更されました。
たとえば、この式では currentReservations または maxReservations が null である場合にランタイムエラー
が発生します。
{! currentReservations < maxReservations}
影響を受ける比較演算子は次のとおりです。
•
< (未満)
•
<= (以下)
•
> (より大きい)
•
>= (以上)
以前は、このプログラミングエラーにより、boolean の true または false ではなく、null 値が生成されてまし
た。これにより、影響されるページの動作の誤りの診断が困難でした。
また、null 値を含む等価比較の結果で、常に、boolean の true または false を返すように変更されました。影
響を受ける等価比較演算子は次のとおりです。
•
== (一致する)
•
!= (一致しない)
以前は、いずれかの辺に null を含む等価比較の結果は、boolean 値ではなく null でした。
176
開発者コンソールの機能強化
メジャーアップグレードの転送
この変更はバージョン管理されています。新しい動作を有効化するには、Visualforce ページを API バージョン
26.0 に更新する必要があります。
変数を使用する前に、変数が null ではないことを確認することをお勧めします。たとえば、上で示した式は次
のように変更します。
{! (currentReservations != null) && (maxReservations != null) &&
(currentReservations < maxReservations)}
または、変数、プロパティ、および属性で null が使用できないように設定します。たとえば、メンバー変数を
初期化し、<apex:attribute> などで default 属性を設定します。
メモ: この変更は Visualforce の数式評価のみに影響します。カスタム項目の数式評価に変更はありませ
ん。
<apex:sectionHeader> のヘルプ URL への制限事項と入力規則
<apex:sectionHeader> の help 属性に、このコンポーネントのセキュリティ脆弱性に対応する新しい制限事項
と入力規則が追加されました。help URL は、完全修飾、絶対、または相対 URL である必要があり、JavaScript
URL は使用できなくなりました。
この変更はバージョン管理されていません。すべての Visualforce ページに影響します。無効なヘルプ URL を含
む既存のページでは、通常の「このページのヘルプ」リンクではなく、警告アイコン ( ) が表示されるようにな
りました。
メジャーアップグレードの転送
使用可能なエディション: Developer Edition
必要なユーザ権限
アップグレードを転送する
「AppExchange パッケージのアップロード」
Winter '13 から、ISV はパッケージの新規メジャーバージョンを別の登録者に直接転送できるようになりました。
以前は、転送アップグレードはパッチ、つまり新規コンポーネントが追加されないアップグレードに関してのみ
サポートされていました。Winter '13 ではこの制限が削除され、重要な新機能を含むメジャーアップグレードも
転送できます。
警告:
アップグレードを転送するときは、登録者の組織から明示的な同意を得ずに登録者の組織に変更を行う
ことになります。このため、事前に計画し、注意して実行することが重要です。
177
開発者コンソールの機能強化
メジャーアップグレードの転送
転送アップグレードのベストプラクティス
パッチまたはメジャーアップグレードのいずれかを転送できます。パッチには、バグ修正と小規模な機能強化の
みが含まれています。これとは対照的に、メジャーアップグレードには、新規コンポーネントが追加されたり、
既存のコンポーネントが削除されたりする大規模な機能拡張と新機能が含まれる場合があります。
メジャーアップグレードを転送すると、登録者の組織の既存の機能が使えなくなる可能性があるため、リスクは
より高くなります。これは、アップグレードされたパッケージ内の新規コンポーネントをパッケージの既存の
ユーザが使用できない可能性や、ユーザのカスタマイズが上書きされる可能性があるために生じます。アップグ
レードによってユーザに悪影響が及ばないようにするのは、アプリケーション開発者の責務です。アップグレー
ドによって生じる可能性のあるすべての結果を考慮し、問題を回避するための適切な対策を講じることを強くお
勧めします。
転送アップグレードを計画するときに留意すべき重要なガイドラインを次に示します。
•
•
•
•
•
•
入力規則、数式項目、および Apex トリガから発生するエラーを変更すると、登録者の統合に悪影響が及ぶ可
能性があるため、変更しないでください。
パッチでは、ユーザに影響が及ぶようなパッケージへの変更は行わないでください。これは、転送アップグ
レードで登録者に通知されるのは、パッケージバージョン番号の変更のみであるためです。
転送アップグレードの途中で更新された Visualforce ページでは、ページまたはコントローラが変更されると
ビューステートが失われる可能性があります。
エディション、カスタマイズ、他のインストール済みパッケージ、および権限セットなど、顧客の組織内の
関連するすべての機能を複製し、アップグレードしたパッケージを複数の環境でテストします。
登録者に与える影響を最小限に抑えるため、転送アップグレードはsalesforce.com のメジャーリリースの期間
外かつ顧客のオフピーク時にスケジュール設定します。
事前に、登録者にアップグレードの時期、アップグレードによって生じる可能性のある結果、および実行す
る必要のある手順を通知します。
メジャーアップグレードを転送するときは、次のようにパッケージ内の変更を 2 つのカテゴリに分割することも
お勧めします。
1. ユーザに既にアクセス権がある既存の機能への機能強化の場合、インストール後 Apex スクリプトを使用し
て、関連するコンポーネントを既存のユーザに自動的に割り当てます。これにより、パッケージのすべての
現在のユーザは、システム管理者による明示的なアクションがなくても、その機能をそのまま使用し続ける
ことができます。
2. 初めて導入する新機能の場合、インストール後 Apex スクリプトを使用してコンポーネントの自動割り当ては
行わないでください。このようにすることで、登録者は新機能を使用するかどうかということと、使用する
時期を決定することができます。
新規コンポーネントと新規項目へのアクセス権の割り当て
パッケージの新規バージョンに新規コンポーネントか、既存のコンポーネントの新規項目が含まれている場合、
アップグレード後に、パッケージの既存のユーザに新規コンポーネントおよび新規項目へのアクセス権は自動的
には付与されません。これにより、追加した新機能のユーザによる使用が制限されたり、古い機能が適切に機能
しなくなったりする場合があります。デフォルトで、パッケージ内のすべての新規コンポーネントはシステム管
理者にのみ割り当てられます。次の 2 種類の方法で、パッケージのすべてのユーザに新規コンポーネントと新規
項目へのアクセス権が付与されるようにすることができます。
178
開発者コンソールの機能強化
メジャーアップグレードの転送
パッケージのすべてのユーザに適切な権限を割り当てるようにシステム管理者に通知する
導入するすべての新機能について、この方法をお勧めします。このようにすることで、システム管理者は
新機能を使用可能にするかどうかということと、使用可能にする時期を決定することができます。
インストール後 Apex スクリプトを使用して、新規コンポーネントを既存のユーザに自動的に割り当てる
既存の機能への機能強化の場合は、この方法をお勧めします。これにより、パッケージのすべての現在の
ユーザは、システム管理者による明示的なアクションがなくても、その機能をそのまま使用し続けること
ができます。
新規コンポーネントへのアクセス権を自動的に割り当てるには、次の方法を使用します。
1. すべての新規コンポーネントと新規項目にデフォルトのアクセス設定を定義する新規権限セットを作成する。
2. 新規権限セットを新規パッケージバージョンに含める。
3. パッケージがアップグレードされた後に登録者の組織で自動的に実行されるインストール後 Apex スクリプト
を作成する。スクリプトによって次のタスクを実行する必要があります。
a. 新規権限セットごとに、ユーザ割り当てをコピーする必要のある既存のコンポーネントを選択する。
b. そのコンポーネントにアクセスできるすべてのプロファイルを検出する。
c. それらのプロファイルを持つすべてのユーザに新規権限セットを割り当てる。
メモ: 標準プロファイルのデフォルト権限セットは編集できません。このため、インストール後スクリプ
トでこれらの権限セットのいずれかを更新しようとすると、例外がトリガされます。新規権限セットを
作成して、パッケージ内の新規コンポートへのアクセス権を割り当てることが重要です。
転送アップグレード用のインストール後スクリプトのサンプル
このセクションでは、パッケージ内の既存のユーザへの新規コンポーネントの割り当てを自動化するインストー
ル後スクリプトのサンプルを紹介します。インストール後 Apex スクリプトの作成についての詳細は、『ISVforce
Guide』の「パッケージのインストール/アップグレード時の Apex の実行」を参照してください。
このサンプルスクリプトには、新しい Visualforce ページと、これらのページへのアクセス権を付与する新規権限
セットが含まれている新規パッケージバージョンに ISV が登録者をアップグレードするシナリオが含まれていま
す。デフォルトでは、アップグレード後に、パッケージ内の既存のユーザには新規ページへのアクセス権があり
ません。インストール後スクリプトは、パッケージの古いバージョンで Visualforce ページへのアクセス権を持つ
ユーザを特定し、それらのユーザに新規ページへのアクセス権を付与することで、この問題を解決します。スク
リプトは、次のアクションを実行します。
•
•
•
•
•
パッケージの古いバージョンの Visualforce ページの ID を取得する
それらのページへのアクセス権を持つ権限セットを取得する
それらの権限セットに関連付けられたプロファイルのリストを取得する
それらのプロファイルに割り当てられたユーザのリストを取得する
新規パッケージ内の権限セットをそれらのユーザに割り当てる
global class PostInstallClass implements InstallHandler
global void onInstall(InstallContext context) {
{
//Get the Id of the Visualforce pages
List<ApexPage> pagesList =[SELECT Id FROM ApexPage WHERE NamespacePrefix =
'TestPackage' AND Name = 'vfpage1'];
//Get the permission sets that have access to those pages
179
開発者コンソールの機能強化
メジャーアップグレードの転送
List<SetupEntityAccess> setupEntityAccessList = [SELECT Id,
ParentId, SetupEntityId, SetupEntityType FROM SetupEntityAccess
where SetupEntityId IN:pagesList];
Set<ID > PermissionSetList = new Set<ID> ();
for(SetupEntityAccess sea : setupEntityAccessList){
PermissionSetList.add(sea.ParentId)};
List<PermissionSet> PermissionSetWithProfileIdList =
[SELECT id,Name,IsOwnedByProfile,Profile.Name,
ProfileId FROM PermissionSet where IsOwnedByProfile = true
AND Id IN :PermissionSetList ];
//Get the list of profiles associated with those permission sets
Set<ID> ProfileList = new
Set<ID> ();
for(PermissionSet per : PermissionSetWithProfileIdList){
ProfileList.add(per.ProfileId);
}
//Get the list of users who have those profiles assigned
List<User> UserList =[SELECT id FROM User where ProfileId IN :ProfileList ];
//Assign the permission set in the new package to those users
List<PermissionSet> PermissionSetToAssignList = [SELECT id,Name
FROM PermissionSet where Name='TestPermSet' AND
NamespacePrefix = 'TestPackage'];
PermissionSet PermissionSetToAssign = PermissionSetToAssignList[0];
Set<ID> UsersSet = new Set<ID> ();
for(User us : UserList){
PermissionSetAssignment psa= new PermissionSetAssignment();
psa.PermissionSetId = PermissionSetToAssign.id;
psa.AssigneeId = us.id;
UsersSet.add(us.id);
}
}
@isTest
public static void test() {
PostInstallClass myClass = new PostInstallClass();
Test.testInstall(myClass, null);
}
}
転送アップグレードの既知の制限
更新を転送するときには、次の既知の制限があります。
•
•
権限セットによって、タブの表示設定は引き継がれません。このため、アップグレードでタグ設定を変更す
る必要がある場合、インストール後スクリプトを使用して自動的にそれらの変更を実装することはできませ
ん。代わりに、システム管理者に手動で変更するように通知する必要があります。
OpenActivity エンティティへのアクセスを試みる Visualforce マークアップがパッケージに含まれている場
合、転送アップグレードは失敗します。たとえば、パッケージ内に次のコードがあると転送アップグレード
は失敗します。
<apex:outputLabel for="taskDate"
value="{!$ObjectType.OpenActivity.fields.ActivityDate.label}" />
回避策として、ラベルを次のように指定して、OpenActivity.ActivityDate のラベルを取得する際に、グ
ローバル ObjectType 参照を使用しないようにします。
<apex:outputLabel for="taskDate" value="Date" />
180
開発者コンソールの機能強化
メジャーアップグレードの転送
転送アップグレードのスケジューリング
パッケージのパッチバージョンを作成したら、転送アップグレードを使用してそのパッケージを顧客に自動的に
リリースできます。
ヒント: Salesforce.com は、次の手順に従ってパッケージのアップグレードを転送することを強くお勧めし
ます。
1. 登録者をアップグレードする前にバグをテストして修正できるように、自分の組織にアップグレード
を転送します。
2. 準備が整い、変更管理プロセスについて顧客と既に調整ができている場合、少数の顧客組織に転送し
ます。可能な場合は、まず Sandbox 組織に試してください。
3. 初期の結果に問題がなければ、各顧客との契約に基づいて、より広範囲にわたる顧客ベースに転送し
ます。
4. メインの開発組織で、パッケージの以前のバージョンを廃止します。必要に応じて、AppExchange の
バージョンを置換し、Trialforce の設定を更新します。
5. アップグレードがパッチであった場合、アップグレードを登録者の組織に正常に配布した後、それら
の変更をメインの開発組織に再統合します。メインの開発組織へのパッチの統合の詳細については、
『ISVforce Guide』の「Working with Patch Versions」を参照してください。
詳細は、「転送アップグレードおよびパッチバージョンのベストプラクティス」 (Salesforce オンラインヘ
ルプ)を参照してください。
転送アップグレードをスケジュールする手順は、次のとおりです。
1. メインの開発組織にログインします。
2. あなたの名前 > [設定] > [作成] > [パッケージ] の下で、アップグレードを転送する管理パッケージの名前をク
リックします。パッケージの詳細ページで、[バージョン] タブをクリックし、[転送アップグレード] をクリッ
クします。
3. [転送アップグレードのスケジュール] をクリックします。
4. [パッチバージョン] ドロップダウンリストから、転送するパッケージバージョンを選択します。
メモ: ベータバージョンは転送できません。
5. 転送アップグレードの開始日を示す [スケジュール済み開始日] を入力します。
6. [対象組織の選択] セクションで、転送アップグレードを受信する組織を選択します。組織が、選択したパッ
ケージバージョンの転送アップグレードをすでに受信している場合、このリストに表示されません。次の方
法で組織を選択することができます。
•
•
組織の名前または ID に基づいて絞り込む語を入力します。名前は部分文字列で一致できますが、ID は完
全一致です。
[組織] ドロップダウンリストから、本番組織と Sandbox 組織のいずれかを選択します。
特定のバージョンをインストール済みである組織を選択します。
•
組織を個別にクリックするか、[すべて選択] および [すべて選択解除] チェックボックスをオンにします。
•
ここでは、組織に関する次の情報を示します。
181
開発者コンソールの機能強化
メジャーアップグレードの転送
項目
説明
現在のバージョン
組織がインストールした現在のパッケージのバージョ
ン。
組織 ID
salesforce.com でその組織を一意に識別する ID。
組織名
組織の名前。名前をクリックすると、組織のアップグ
レード履歴が表示されます。
主取引先責任者
パッケージをインストールした取引先責任者の名前。
7. [スケジュール] をクリックします。
転送アップグレードの実行中、[中止] をクリックすると処理を停止できます。
転送アップグレードの詳細の表示
組織が送信した特定の転送アップグレードの詳細を表示するには、あなたの名前 > [設定] > [作成] > [パッケージ]
をクリックし、表示するパッケージの名前をクリックしてから、[転送アップグレード] をクリックします。[対
象] の名前をクリックすると、[転送アップグレードの詳細] ページに、転送ジョブと転送先となった各組織の両
方に関する情報が表示されます。
[ジョブの詳細] ページには、転送アップグレードに関する次の情報が表示されます。
項目
説明
終了日
転送アップグレードが終了した日時。
Apex テスト失敗を無視
エラーがあった場合、インストールしたアプリケーショ
ンが正しく機能しない原因となった可能性がある Apex
テストのエラーを無視したかどうかを示します。
実行者
転送アップグレードを開始したユーザの名前。
開始日
転送アップグレードのスケジュール済み開始日時。
状況
転送アップグレードの状況 (スケジュール済み、進行
中、完了、中断、エラーにより終了)。
バージョン
転送したパッケージのバージョン番号。
[組織] セクションで、転送アップグレードを受信したすべての組織のリストを取得できます。検索ボックスを
使って、組織の名前または ID に基づいて絞り込む語を入力し、組織を絞り込むことができます。名前は部分文
字列で一致できますが、ID は完全一致です。ドロップダウンリストから、転送アップグレードの状況に基づい
て絞り込み検索することもできます。
表には、組織に関する次の情報が表示されます。
項目
説明
所要時間
転送アップグレードにかかった時間。
182
開発者コンソールの機能強化
メジャーアップグレードの転送
項目
説明
失敗種別
発生した障害の種類が表示されます。転送アップグレー
ドが失敗した場合、折りたたみ可能なセクションに説
明が表示されます。転送アップグレードに失敗した場
合、[再試行] をクリックしてもう一度実行してくださ
い。
組織 ID
salesforce.com でその組織を一意に識別する ID。
組織名
組織の名前。名前をクリックすると、組織のアップグ
レード履歴が表示されます。
開始
転送アップグレードのスケジュール済み開始日時。
状況
転送アップグレードの状況 (スケジュール済み、進行
中、完了、中断、エラーにより終了)。
転送アップグレード履歴の表示
組織が送信した転送アップグレードの詳細を表示するには、あなたの名前 > [設定] > [作成] > [パッケージ] をクリッ
クし、表示するパッケージ名を選択して [転送アップグレード] をクリックします。
[転送アップグレード履歴] ページには、待機中およびこれまでの転送アップグレードすべての状況がリストされ
ます。転送アップグレード履歴を条件検索する手順は、次のとおりです。
1. ドロップダウンリストからバージョン番号を選択します。バージョンを選択しなければ、すべてを選択する
のと同じになります。
2. [状況] リストから 1 つ以上の状況を選択します。状況を選択しなければ、すべてを選択するのと同じになり
ます。
3. リストを絞り込むには、[適用] をクリックします。すべての条件を削除するには、[クリア] をクリックしま
す。
履歴には、次の情報が表示されます。
列
説明
アクション
転送アップグレードの実行中、[中止] をクリックする
と処理を停止できます。
開始日
転送アップグレードのスケジュール済み開始日時。
状況
転送アップグレードの状況 (スケジュール済み、進行
中、完了、中断、エラーにより終了)。
機能
転送アップグレードの送信先組織名。複数の組織があ
る場合は、この項目にはキューに入っている最初の組
織名と、選択されている組織の総数が示されます。こ
のリンクをクリックすると、対象の転送アップグレー
ドおよび各組織に関する詳細が表示されます。
バージョン
転送したパッケージのバージョン番号。
183
開発者コンソールの機能強化
環境ハブ (パイロット)
環境ハブ (パイロット)
使用可能なエディション: Professional Edition、Enterprise Edition、Unlimited Edition、および Developer Edition
メモ: この機能は、現在パイロットプログラムで使用可能です。組織でのこの機能の有効化については、
salesforce.com にお問い合わせください。
Winter '13 から、環境ハブを使用して、すべての Salesforce 組織の詳細を 1 つの中心的な場所から表示できます。
開発やテストに多数の組織を使用する企業では特に、これによって管理をより簡単に行えるようになります。
環境ハブから、次の操作を行えます。
•
社内で現在使用されているすべての組織を登録する
•
組織間の関係を自動的に検出する
•
各組織の詳細 (たとえば、開発、パッチ、リリースなど) とタグの詳細を表示する
•
1 つ以上のタグを組織に割り当てる
•
タグで組織を絞り込む
環境ハブの設定
環境ハブは、一度設定すると、その後は常に使用できるようになります。
1. [名前] > [設定] > [組織プロファイル] > [環境ハブ] をクリックします。
2. [ハブを作成] をクリックします。
これで、現在の組織が環境ハブに設定されます。ハブから、次の操作を行えます。
•
•
•
•
•
•
[組織を追加] をクリックして、別の組織を追加する
組織の名前をクリックして、組織に属する子組織など、組織に関する詳細を表示する
組織の横にある [編集] をクリックして、その詳細を更新する
組織の横にある [削除] をクリックして、組織をハブから削除する
[条件] をクリックしてからタグ名をクリックし、そのタグを持つすべての組織のリストを表示する
[ハブを削除] をクリックして、ハブを削除する
環境ハブへの組織の追加
組織を追加する手順は、次のとおりです。
1.
2.
3.
4.
5.
6.
[名前] > [設定] > [組織プロファイル] > [環境ハブ] をクリックします。
[組織を追加] をクリックします。
組織用のユーザ名とパスワードを入力します。
必要に応じて、[関連組織を自動検出] を選択して、関連する組織をハブに追加します。
[保存 & 次へ] をクリックします。
必要に応じて、次のページで以下を操作を行います。
•
組織の名前を編集する
184
Force.com のその他の機能強化
•
•
ワークフローの評価条件の操作性の機能強化
組織に関する説明を書き込む
1 つ以上のタグを、カンマで区切って指定する
7. [保存] をクリックします。
Force.com のその他の機能強化
ワークフローの評価条件の操作性の機能強化
使用可能なエディション: Enterprise Edition、Unlimited Edition、Developer Edition、および Database.com Edition
ToDo、サイト、およびメールアラートは、Database.com では利用できません。
ワークフロールールの設定のプロセスでは、評価条件を指定する必要があります。多くのユーザがユーザイン
ターフェースのこの領域で混乱するため、項目の表示ラベルとオプションのテキストをわかりやすくしました。
また、最も単純なオプションを最初に表示し、最も複雑なオプションを最後に表示するようにオプションの順序
を変更しました。
メモ: デフォルト設定が変更され、リストの最新のオプションがデフォルト設定になりました。
評価条件項目は、次のように表示されるようになりました。
レコードが次の場合にルールを評価
説明
作成済み
レコードが作成されるごとにルール条件を評価します。ルール条件に一致
すると、ルールを実行します。既存のレコードへの更新はすべて無視され
ます。
このオプションを使用すると、ルールは 1 レコードに対して複数回実行さ
れることはありません。
作成されたか編集されたとき
レコードが作成または更新されるたびにルール条件を評価します。ルール
条件に一致すると、ルールを実行します。
このオプションを使用すると、レコードがルール条件に一致している限り、
レコードが編集されるたびに繰り返しルールが実行されます。
メモ: このオプションを選択すると、そのルールには時間ベースの
アクションを追加できません。
185
Force.com のその他の機能強化
レコードが次の場合にルールを評価
カスタムオブジェクトの切り捨て
説明
作成済み、または基準を満たすように (デフォルト) レコードが作成または更新されるごとにルール条件を評価し
編集済み
ます。
• 新規レコードでは、ルール条件に一致するとルールを実行します。
•
更新されたレコードでは、レコードがルール条件に一致しないレコード
から、ルール条件に一致するレコードに変更さた場合に限りルールが実
行されます。
このオプションを使用すると、ルールを 1 レコードに対して複数回実行で
きますが、レコードがルール条件に関連がない場合は実行されません。
たとえば、商談の確度が 50% を超えている商談がルール条件を満たしてい
る商談レコードであるとします。確度 75% の商談を作成すると、ワークフ
ロールールが実行されます。商談を編集して確度 25% に変更すると、ルー
ルは実行されなくなります。その後、商談を編集して、確度 25% から 75%
に変更すると、ルールが実行されるようになります。この最後の編集では、
レコードがルール条件に一致しないレコードから、ルール条件に一致する
レコードに変更されたため、ルールが実行されます。
カスタムオブジェクトの切り捨て
使用可能なエディション: Contact Manager Edition、Group Edition、Professional Edition、Enterprise Edition、
Unlimited Edition、Developer Edition、および Database.com Edition
必要なユーザ権限
カスタムオブジェクトを切り捨てる
「アプリケーションのカスタマイズ」
カスタムオブジェクトの切り捨ては、カスタムオブジェクトからすべてのレコードを完全に削除すると同時に、
その後使用するためにオブジェクトとそのメタデータをそのまま保持できる迅速な方法です。切り捨ては、カス
タムオブジェクトを作成してテストレコードを入力した場合などに役立ちます。テストデータでの作業が完了し
たら、オブジェクトを切り捨てることにより、テストレコードを消去する一方で、オブジェクトを維持して本番
環境で使用することができます。この方法の方が、レコードを一括削除して、必要に応じて、オブジェクトを再
作成するよりはるかに迅速です。
カスタムオブジェクトの切り捨てを利用するには、組織権限を有効化する必要があります。
メモ: パイロットリリースで切り捨てを利用できた場合でも、切り捨ての組織権限を有効化する必要があ
ります。
1. あなたの名前 > [設定] > [カスタマイズ] > [ユーザインターフェース] をクリックします。
2. [カスタムオブジェクトの切り捨てを有効化] を選択します。
186
Force.com のその他の機能強化
使用されていない Sandbox の保存ポリシー
カスタムオブジェクトの切り捨てでは、切り捨てられたオブジェクトおよびそのレコードに回復不可能な変更が
いくつか行われます。切り捨て権限を有効化した場合は、切り捨ての影響を十分理解した上で、この機能を使用
してください。詳細は、「カスタムオブジェクトの切り捨ての概要」 (Salesforce オンラインヘルプ) を参照して
ください。
使用されていない Sandbox の保存ポリシー
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Database.com Edition
Winter '13 では、180 日間ユーザがログインしなかった Sandbox は削除されるようになりました。組織で Sandbox
を作成したか最近更新したことのあるユーザには、Sandbox の削除をスケジュールする前に通知されます。対象
ユーザには 30 日間で少なくとも 3 通のメール通知が送信されます。Sandbox を有効に保ち、メール通知を回避す
るには、定期的にログインしてください。
フル Sandbox の設定
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Database.com Edition
Winter '13 では、新しい設定により、フル Sandbox を作成または更新する際にコピーするデータ量がさらに削減
されます。選択を最小限に抑えることで、Sandbox コピーの時間を短縮できます。
•
[商談履歴] オプションでは、Sandbox にコピーする本番組織の商談履歴の日数を選択できます。0 ~ 180 日分
のコピーが可能で、30 日単位で増加できます。デフォルト値は 0 日です。
•
[オブジェクト履歴] および [ケース履歴] オプションのデフォルト値は、30 日から 0 日に変更されます。
Platform ポータルユーザライセンスの更新
Platform ポータルユーザライセンステーブルが、Platform ポータルユーザに付与できる現在の権限が反映される
ように更新されました。
このライセンスを持つユーザは、アイデア、質問と回答への参照および作成アクセス権があり、ドキュメント、
ナレッジ、価格表、商品への参照のみアクセス権があります。
この表では、Platform ポータルユーザに付与できる権限を示します。
作成
参照
更新
削除
ドキュメント
アイデア
ナレッジ
187
Force.com のその他の機能強化
開発者 Sandbox および設定 Sandbox 以外のポータルユーザ
作成
参照
更新
削除
価格表
商品
質問と回答
開発者 Sandbox および設定 Sandbox 以外のポータルユー
ザ
使用可能なエディション: Enterprise Edition、Unlimited Edition、および Database.com Edition
Sandbox コピーのパフォーマンスを向上するため、開発者 Sandbox および設定 Sandbox にポータルユーザがコピー
されなくなりました。従来、ポータルユーザが必要とする取引先責任者はこれらの種類の Sandbox にはコピーさ
れませんでした。 そのため、ポータルユーザが含まれないことを除くと Sandbox の機能に変わりはありません。
すべてのポータルライセンスはこれまでどおりコピーされるため、必要に応じて、Sandbox でポータルユーザを
作成できます。
ベトナム語ロケールの東洋の氏名の表示順序
使用可能なエディション: Group Edition、Professional Edition、Enterprise Edition、Unlimited Edition、Developer
Edition、および Database.com Edition
必要なユーザ権限
組織情報を表示する
「設定・定義を参照する」
組織情報を変更する
「アプリケーションのカスタマイズ」
使用可能な個人設定のオプションは、使用している Salesforce のエディションによって異なります。
サポートされているロケールのベトナム語 (vi) とベトナム語 (Vietnam) (vi_VN) が、Salesforce 全体で東洋の氏名
の表示順序 (最初に姓が表示される) で表示されるようになりました。
ロケールとしてベトナム語 (vi) またはベトナム語 (Vietnam) が指定されて、組織内で実行されている既存のレポー
トに、人の名前 (取引先責任者名など) が使用されている場合、そのレポートを更新して、新しい氏名の表示順序
で表示されるようにする必要があります。
188
Force.com のその他の機能強化
ユーザインターフェース要素のブランド設定のマイナー変更
ユーザインターフェース要素のブランド設定のマイナー
変更
Winter '13 では、Aloha スキンにマイナー変更を行いました。リスト表示と関連するリストヘッダーに、より中
間的な色が使用されるようになりました。Visualforce ページに CSS を追加してリスト表示または関連するリスト
ヘッダーのスタイルを上書きした場合、そのページは影響を受けません。
189
Fly UP