カスタムアクションの作成
ケースフィードでカスタムアクションとして使用する Visualforce ページを作成できます。たとえば、対応付けおよびローカル検索アクションを作成することで、エージェントは顧客の場所を検索して、最寄りのサービスセンターを見つけることができるようになります。
標準ケースコントローラを使用する Visualforce ページをカスタムアクションとして使用できます。
使用事例
Viaggio Italiano は、イタリアへのツアーを専門に取り扱う特化型の旅行代理店です。この会社は、飛行機の便、陸上交通機関、食事に関する希望、旅程など、顧客ごとに複数の詳細を追跡します。Viaggio Italiano のエージェントには、長いケースコメントを作成する機能が必要ですが、標準ケースメモは 1000 文字に制限されています。したがって、この制限をスキップする方法を希望しています。
Viaggio Italiano では、Visualforce を使用して、4000 文字までのケースコメントを投稿できる機能を含むページを作成しました。さらに、ケースフィードページレイアウトを編集して、ページをカスタムアクションとして追加しました。

コードサンプル
次のコードサンプルは、パブリッシャーでアクションが有効化されていない組織、またはパブリッシャーでアクションが有効化されていてもページレイアウトエディタではなくケースフィードの設定ページを使用してケースフィードパブリッシャーでアクションを設定する組織の [ケースコメントを投稿] カスタムアクションを示します。
1<apex:page standardcontroller="Case"
2 extensions="CaseCommentExtension" showHeader="false">
3 <apex:includeScript value="/support/api/26.0/interaction.js"/>
4 <div>
5 <apex:form >
6 <!-- Creates a case comment and on complete notifies the Case Feed page
7 that a elated list and the feed have been updated -->
8 <apex:actionFunction action="{!addComment}" name="addComment" rerender="out"
9 oncomplete="sforce.interaction.entityFeed.refreshObject('{!case.id}',
10 false, true, true);"/>
11 <apex:outputPanel id="out" >
12 <apex:inputField value="{!comment.commentbody}" style="width:98%;
13 height:160px;" />
14 </apex:outputPanel>
15 </apex:form><br />
16 <button type="button" onclick="addComment();" style="position:fixed; bottom:0px;
17 right:2px; padding: 5px 10px; font-size:13px;" id="cpbutton" >Post Case Comment
18 </button>
19 </div>
20</apex:page>次のコードは、組織のパブリッシャーでアクションが有効化され、ページレイアウトエディタを使用してケースフィードパブリッシャーでアクションを選択および設定する場合に、[ケースコメントを投稿] カスタムアクションに使用されます。
1<apex:page standardcontroller="Case"
2 extensions="CaseCommentExtension" showHeader="false">
3 <!-- Uses publisher.js rather than interaction.js -->
4 <apex:includeScript value="/canvas/sdk/js/28.0/publisher.js"/>
5 <div>
6 <apex:form >
7 <!-- Creates a case comment and on complete notifies the Case Feed page
8 that a related list and the feed have been updated -->
9 <apex:actionFunction action="{!addComment}" name="addComment" rerender="out"
10 <!-- Different oncomplete function using publisher.js -->
11 oncomplete="Sfdc.canvas.publisher.publish(
12 {name : 'publisher.refresh', payload :
13 {feed: true, objectRelatedLists: {}}});"/>
14 <apex:outputPanel id="out" >
15 <apex:inputField value="{!comment.commentbody}" style="width:98%;
16 height:160px;" />
17 </apex:outputPanel>
18 </apex:form><br />
19 <button type="button" onclick="addComment();" style="position:fixed; bottom:0px;
20 right:2px; padding: 5px 10px; font-size:13px;" id="cpbutton" >Post Case Comment
21 </button>
22 </div>
23</apex:page>次のサンプルは、上記のいずれかのバージョンの Visualforce ページで使用されるコントローラ拡張を含む Apex クラスを示します。
1public with sharing class CaseCommentExtension {
2 private final Case caseRec;
3 public CaseComment comment {get; set;}
4
5 public CaseCommentExtension(ApexPages.StandardController controller) {
6 caseRec = (Case)controller.getRecord();
7 comment = new CaseComment();
8 comment.parentid = caseRec.id;
9 }
10
11 public PageReference addComment() {
12 insert comment;
13 comment = new CaseComment();
14 comment.parentid = caseRec.id;
15 return null;
16 }
17}追加の手順
Visualforce ページを作成したら、ユーザが使用できるようにします。
- [設定] から、[クイック検索] ボックスに「Visualforce ページ」と入力し、[Visualforce ページ] を選択します。
- 作成したページの名前の横にある [セキュリティ] をクリックします。
- ページにアクセスできるプロファイルを選択します。
- [保存] をクリックします。
- ケースのオブジェクト管理設定から、[ページレイアウト] に移動します。
- [ケースフィードの設定] ページへのアクセス方法は、使用しているページレイアウトの種類に応じて異なります。
- [ケースページレイアウト] セクションのレイアウトの場合、[編集] をクリックし、ページレイアウトエディタで [フィードビュー] をクリックします。
- [ケースフィードユーザのページレイアウト] セクションのレイアウトの場合、
をクリックし、[フィードビューを編集] を選択します。(このセクションは、Spring '14 より前に作成された組織にのみ表示されます)。
- [カスタムアクション] で、[+ Visualforce ページを追加] をクリックします。
- 追加するページを選択します。
- アクションの高さを指定します。最適な外観を得るには、200 ピクセルの高さをお勧めします。
- [アクションを選択] で、カスタムアクションを [選択可能] から [選択済み] に移動します。
- [保存] をクリックします。
- ケースのオブジェクト管理設定から、[ボタン、リンク、およびアクション] に移動します。
- [新規アクション] をクリックします。
- [カスタム Visualforce] を選択します。
- 作成した Visualforce ページを選択してから、アクションウィンドウの高さを指定します。(幅は固定です)。
- アクションの表示ラベルを入力します。これは、パブリッシャーでアクションについてユーザに表示されるテキストです。
- 必要に応じて、アクションの名前を変更します。
- アクションの説明を入力します。説明は、アクションの詳細ページと、[ボタン、リンク、およびアクション] ページのリストに表示されます。説明はユーザに表示されません。
- 必要に応じて、[変更アイコン] をクリックして、アクションに別のアイコンを選択します。このアイコンは、API を介してアクションを使用する場合にのみ表示されます。
- ケースのオブジェクト管理設定から、[ページレイアウト] に移動します。
- ページレイアウトエディタへのアクセス方法は、使用しているページレイアウトの種類に応じて異なります。
- [ケースページレイアウト] セクションのレイアウトの場合、[編集] をクリックし、ページレイアウトエディタで [フィードビュー] をクリックします。
- [ケースフィードユーザのページレイアウト] セクションのレイアウトの場合、
をクリックし、[詳細ビューを編集] を選択します。(このセクションは、Spring '14 より前に作成された組織にのみ表示されます)。
- パレットで [クイックアクション] をクリックします。
- アクションをパレットから [Salesforce Classic パブリッシャーのクイックアクション] セクションにドラッグします。
- [保存] をクリックします。