本稿は Office 365 Advend Calendar 2013 に参加しています。
クラウドビジネスアプリ(=LightSwitch ベースの SharePoint 用アプリ)開発のメリット を紹介しましたが、その中に
SharePoint のニュースフィードに自動投稿する
機能があります。
Office 365 / SharePoint 好きな方には気になる機能らしく、なかなか食いつきのよい部分です。そこでニュースフィード投稿機能にポイントを絞って改めて説明します。
クラウドビジネスアプリとは何か、また具体的な開発の手順などから始めたい方は こちらの記事 をご覧ください。
まずはシンプルなアプリケーションを作ってみます。問い合わせ管理を簡略にしたアプリです。最近よく使っている題材ですが今回もお付き合いください。
最初は、本稿のテーマであるニュースフィード投稿の機能を持たないバージョンを画面キャプチャを使って紹介します。
直感的に理解しやすいように、テーブル名、フィールド名、画面名などを日本語にしてみます。
(Visual Studio 2013 Update なしの状態では、オブジェクトに日本語名を使うのはやめたほうがいいようです。不具合があります。開発の手順は以下の通りですが、英語名で開発を進めてください)
テーブルはこんな感じ。
※PhoneNumber 型のバリデーションルールは以下のように変更すると日本国内用にできます。
ホーム画面は問い合わせ一覧です。
ホーム画面のツールバーボタンから新規問い合わせを入力します。
最後に、問い合わせの詳細表示画面です。
以上でクラウドビジネスアプリ(の基本形)は完成です。
ただし、ここまででは本稿のテーマであるニュースフィードへの投稿機能はありません。
ニュースフィードへの投稿機能を追加するのは簡単です。テーブルのプロパティウィンドウで [作成時にポストする] および [更新時にポストする] を必要に応じてチェックします。これだけです。
実際に動かしてみると・・・
投稿されていますが、ちょっと残念な結果ですね。
投稿されるメッセージを変更するにはサーバーサイドの概要プロパティを変更します。クライアント側にも概要プロパティがありますが、そちらはニュースフィードとは関係ありません。
テーブルの任意の列を投稿すればよい場合は概要プロパティにその列を指定します。
複数の列を組み合わせて投稿用のメッセージを生成したい場合には、テーブルに “計算されたプロパティ” を追加します。<プロパティ名>_Compute メソッドのスケルトンが生成されますので、例えば以下のように編集します。
読みやすいように改行していますがコードは 1行だけ、今日の投稿で唯一のコードです。
なお、ニュースフィードの投稿は最大文字列長 512 文字という制限があります。実運用の開発の場合はそこも注意してください。(http://technet.microsoft.com/ja-jp/library/jj219700.aspx)
あとはプロパティウィンドウで概要プロパティとしてこの計算されたプロパティ列を指定するだけです。
オマケですが、概要プロパティにどの列を指定するかによらず、投稿されたフィード本文は該当するアイテムの詳細画面へのリンクになっています。これも特別のコーディングは不要です。
クラウドビジネスアプリは業務に特化したアプリケーションでありながら、SharePoint Online をハブとして社員や他の業務アプリを有機的に繋げることもできます。Office 365 の価値も高めてくれそうです。
「クラウドビジネスアプリから SharePoint Online にニュースフィード投稿」への1件のフィードバック