みなさん、こんにちは。
今日は次期バージョンのアクティビティフィードについて、最新情報をお届けします。 尚、画面ショット等一部英語のままですが、まだ日本語版での情報がないため ご了承ください。
情報元 : Like-Unlike for Activity Feeds
アクティビティ フィードは昨年マーケットプレース上に公開されました。その後多くの フィードバックをいただき、とうとう次期 Update Rollup にて機能追加をすることと なりました。新しい機能には、より柔軟なフィルター機能や、既定のビュー機能、また Like‐Unlike 機能などがありますが、この記事では Like‐Unlike 機能について 紹介します。
多くの SNS のでは、特定の投稿に対する人気の度合いを測る機能を提供しています。 例えば Facebook のいいね!ボタンや、Google+ の +1 です。このシステムがある ことで、より積極的にユーザーが投稿を作成したり、コメントすることとなり、その結果 ユーザがよりコミュニティに参加している意思が高くなります。
Like-Unlike 機能はアクティビティフィードに同様のユーザー体験をもたらすことと なります。現在投稿にはコメントボタンしかありませんが、時期バージョンでは 以下のように Like-Unlike ボタンが表示されます。
Clicking it likes a post and changes the button text to ‘Unlike’. The content below the post text now indicates that you’ve liked this post:
Like がクリックされた投稿を他のユーザーが見ると、以下のように表示されます。
Like の数は Like ボタンをクリックしたユーザーの数と同一です。また表示されている 数字をクリックすることで、誰が Like ボタンをクリックしたかが表示されます。
Windows Phone アプリケーションにもこの機能が提供されます。
左下に見えるスマイルアイコンが Like ボタンです。
Like-Unlike 機能は個人ウォールでもレコードウォールでも同様に機能します。 また読取り最適化フォームでも同じ経験を提供します。またユーザーが作成 した投稿でも、ワークフローや SDK で作成された投稿に対しても Like-Unlike が行えます。
以下に SDK のサンプルを紹介します。特定の投稿に Like を作成することや Like したユーザーの一覧を取得することが可能です。
// Like a post with a particular Id var postLike = new PostLike { PostId = new EntityReference(Post.EntityLogicalName, post.Id) }; Guid likeId = _serviceProxy.Create(postLike); Console.WriteLine("Post with Id :{0} liked.", post.Id);
// Retrieve list of likes for a particular post string retrieveLikesFetchXml = "<fetch version=\"1.0\" output-format=\"xml-platform\" mapping=\"logical\" distinct=\"true\" returntotalrecordcount='true'>" + "<entity name=\"systemuser\">" + "<attribute name=\"fullname\"/>" + "<attribute name=\"systemuserid\"/>" + "<order descending=\"false\" attribute=\"fullname\"/>" + "<link-entity name=\"postlike\" alias=\"aa\" to=\"systemuserid\" from=\"createdby\">" + "<filter type=\"and\">" + "<condition attribute=\"postid\" value=\"{" + post.Id +"}\" operator=\"eq\"/>" + "</filter>" + "</link-entity>" + "</entity>" + "</fetch>"; var fetchExpression = new FetchExpression(retrieveLikesFetchXml); var likes = _serviceProxy.RetrieveMultiple(fetchExpression);
Console.WriteLine("{0} users like this post. They are:", likes.Entities.Count);
foreach (var entity in likes.Entities) { Console.WriteLine(entity.Attributes["fullname"]); }
アクティビティフィードはユーザーのコミュニケーションを推進するために 提供されているため、投稿を dislike することや、ワークフローを利用して Like-Dislike 機能を利用することはできません。
まとめ
いよいよ次期バージョンのアクティビティフィードのリリースが迫ってきました。 Like-Dislike 機能だけでなく、他にも便利な機能の追加や、既存の問題の 修正も含まれる予定です。逐次情報は提供していきますので、お楽しみに!
‐ Dynamics CRM サポート 中村 憲一郎