tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:『Winter'15新機能』Publisher.js APIの新しい機能

『Force.com開発』カテゴリの新機能です。publisher.js API の 3 つのイベントで投稿およびソーシャル投稿アクションがサポートされるようになり、これらのアクションとやりとりするカスタムコンソールコンポーネントを作成できるようになりました。


追加されたのは以下の3つです。

publisher.selectAction

サポートされる値に、FeedItem.TextPost、標準 Chatter 投稿アクション、およびSocialPostAPIName.SocialPost、ソーシャル投稿アクションが追加されました。

publisher.setActionInputValues

targetFields が、FeedItem.TextPost および SocialPostAPIName.SocialPost で使用可能になりました。

invokeAction

サポートされる値に、FeedItem.TextPost、標準 Chatter 投稿アクション、およびSocialPostAPIName.SocialPost、ソーシャル投稿アクションが追加されました。


こんな感じの新機能が追加されたみたいです。


...さてこのPublisher.js APIですが、つかったことがありませんでした。リリースノートに「Publisher.js APIについてのドキュメントはこちら」とリンクが貼ってあったので新機能ではありませんが、ちょっと確認してみました。

Customizing Case Feed with Code

Publisher.js APIの使い方

はじめにサンプルコードについてです。ドキュメント内に記載されていたものをつかって実際に動作確認したコードをGistにアップしました。エラーが解決できなかった『support:portalPublisher』タグの処理をコメントアウトしてしまいましたが、それ以外は問題なく動作します。

Publisher.js APIのサンプルコード


この処理を試してみた時に『無効なコンポーネント:apex:emailPublisher』というようなエラーが発生しました。検索してもあまり情報がみつからなかったのですが、試してみた感じだと必要な設定で有効化されていないものがあるとエラーになると思われます。


おそらく以下の機能を有効化する必要があると思います。

  • サポート設定のケースフィードアクションおよびフィード項目を有効化
  • メール to ケース

f:id:tyoshikawa1106:20141117021216p:plain


試行錯誤しながらだったので確証はありませんが、エラーが発生した場合はこの辺の有効化を試してみると解決すると思います。


ひとまずこれでVisualforceページの準備ができました。standardControllerを利用するのでURLパラメータでケースIDを渡して表示してみると次のエラーメッセージが表示されました。

f:id:tyoshikawa1106:20141117021851p:plain


『ケースフィードページレイアウトでのみ使用できる』とのことです。


この『ケースフィードページレイアウト』ですが、ケースオブジェクトにはページレイアウト作成時に専用の設定があります。『フィードベースのレイアウト』にチェックをつけることで『ケースフィードページレイアウト』を用意することができます。

f:id:tyoshikawa1106:20141117022020p:plain


作成したレイアウトをページレイアウトの割り当て設定で対象レイアウトとして割り当てます。これで先程エラーになったVisualforceページが正常に表示されるようになります。

f:id:tyoshikawa1106:20141117022425p:plain


LogCallなど他のリンクを選択すると対象コンポーネントが表示されます。

f:id:tyoshikawa1106:20141117022557p:plain


コメントアウトした機能やその他動かない箇所がありますが、まずはこんな感じです。


このサンプルの機能はおそらく本来はパブリッシャーアクション内で使用するための機能だと思います。というわけでVFではなく詳細ページで確認してみます。ページレイアウトの割り当てはしてあるので編集ページを開くだけで大丈夫です。

f:id:tyoshikawa1106:20141117022942p:plain


これがフィードベースのレイアウトです。通常のレイアウトとはかなり雰囲気が異なります。フィードタブを選択するとChatterフィードが表示されます。ここからパブリッシャーアクションが実行できます。

f:id:tyoshikawa1106:20141117023405p:plain


先ほどのVisualforceページで表示された機能がパブリッシャーアクション内でも同じように使用できます。サンプルなので完璧なデザインというわけではありませんが、Publisher.js APIでどんなことができるか確認できると思います。

f:id:tyoshikawa1106:20141117023606p:plain


今回確認できたのはこんな感じです。