クラウドビジネスアプリをアプリカタログに発行する手順 (プロバイダーホスト編)

プロバイダーホスト型のクラウドビジネスアプリ (SharePoint 用アプリ) をアプリカタログに発行する手順をステップバイステップで紹介します。(SharePoint 用アプリを企業アプリカタログに発行する手順 はこちら)

Update on Autohosted Apps Preview program” という発表があったので、これからは自動ホストに頼ることはできなくなります。プロバイダーホストの発行手順を見てみます。以下の手順は Azure の Web サイトに発行する手順です。

続きを読む

「初めてでも大丈夫!SharePoint 開発の第一歩」資料を公開しました (2014年5月10日 第8回 Office 365 勉強会)

第8回 Office 365 勉強会/技術ひろば合同開催が5月10日(土) に開催されました。

一コマいただいて「初めてでも大丈夫!SharePoint 開発の第一歩」というタイトルでお話ししました。

当日は開発者が2~3割で、業務に関係ないよという方もいらっしゃったかもしれませんね。
Office 365 / SharePoint をより活用するにはアプリ開発は一つの大事な要素だと思います。アプリを作るにはまずはどうするのか、を概要を理解するお手伝いができたようでしたらうれしいです。

「第一歩」ということで具体的な開発テクニックまで触れることができませんでしたので、ブログでフォローしていきますね。
LightSwitch、クラウドビジネスアプリについては・・・まあいつも通りで(笑)。
“Napa” や ASP.NET の SharePoint 用アプリについてもこれから情報を共有していきます。と言っても、私も勉強中の身です。

SharePoint 2013 になって新しいプログラミングモデルが追加されました。
Web 標準の技術が利用でき、Apps for SharePoint のように利用者がまず使う SharePoint サイトの外で動作するアプリケーションも作れます。従来よりも SharePoint 特有のハードルは低くなってきました。

ぜひ SharePoint 用アプリ開発にチャレンジしてみてください。

 

5月の SharePoint 月間の第2弾、「Office 365 / SharePoint 勉強会~活用・連携編」は5月17日(土) の開催です。
まだ受け付けていますので、Office 365、SharePoint に興味のある方はぜひいらしてください。こちらのページ からお申し込みください。

SharePoint 用アプリを企業アプリカタログサイトに発行する手順

SharePoint 2013 (Office 365) で SharePoint 用アプリを利用するには Office ストアに載せる方法もありますが、企業アプリカタログに載せる方法があります。
※アプリカタログは MS の審査が不要なので特定企業(自社を含む)向けに開発したアプリを載せるのに適しています。

SharePoint Online ではデフォルトではアプリカタログは用意されていないので最初に作成する必要があります。この手順については前の記事を参照してください。

アプリカタログサイトが出来たら、開発した SharePoint 用アプリを発行します。今回はその手順をステップバイステップで紹介します。簡単です。

続きを読む

SharePoint 用アプリの企業アプリカタログサイトを作成する手順

開発した SharePoint 用アプリ(Apps for SharePoint)を利用者の SharePoint で利用するには、

  1. Office ストアに発行する
  2. 企業アプリカタログに発行する

のどちらかの方法で発行しておく必要があります。
ストアで販売する方法もありますが、特定に企業に向けてアプリを開発することも多いと思います。このブログにも “SharePoint 発行” や “SharePoint 配置” などのキーワードで訪問する方も多いです。

ということで、SharePoint 用アプリを企業アプリカタログに発行する手順をステップバイステップで 2回に分けて紹介します。 今回は企業アプリカタログとして利用するサイトコレクションを作成する手順を紹介します。

続きを読む

クラウドビジネスアプリが Office 365 のドキュメントライブラリーに対応

Office Developer Tools for Visual Studio 2013 March 2014 Update で、LightSwitch から Office 365 のドキュメントライブラリーを扱えるようになりました。

Office 365 上にあるドキュメントライブラリーは、クラウドビジネスアプリから見ると “外部データソース” です。”新しいテーブルの作成” ではなく “外部データソースにアタッチ” で始めます。
データソースのアタッチウィザードではドキュメントライブラリーを選択します。
“ユーザー情報リスト” のインポートも必須なので、未選択の状態でも自動的にインポートしてくれます。また今回のアップデートではユーザー情報リストがドキュメントライブラリー/カスタムリストに関連することが分かりやすくなりました。もちろん明示的に選択してもかまいません。

2014-04-13 11-45-09

2014-04-13 11-47-452014-04-13 11-49-002014-04-13 11-51-06

これでドキュメントライブラリーの定義がインポートされます。ただし一点注意が必要です。少し脱線します。
今後のアップデートでは改善されることを期待していますが、オブジェクト名に日本語を使うと全てのアイテムの表示が1件目の内容になってしまいます

2014-04-13 11-55-52
2014-04-09 23-48-02

現状はこの問題を解消するにはオブジェクト名に日本語を使わないことです。

2014-04-13 11-57-32

これで正しく表示できるようになります。

2014-04-13 12-09-12

クリックするとちゃんと Office クライアントで開いてくれます。Office クライアントがインストールされていなければ Office Web App で開いてくれます。

2014-04-13 12-14-152014-04-13 12-15-15

 

順番が逆になってしまいましたが、上記の動作は今回のアップデートで追加された “ドキュメントの概要” コントロールのおかげです。ドキュメントのアイコン、タイトル、クリック時の動作の面倒を見てくれています。

2014-04-13 12-19-54

 

改めて「クラウドビジネスアプリプロジェクトで、テーブル、画面の名前に日本語を使うと、[データの参照画面] で全てのレコードの表示が1件目の内容になってしまう」フィードバックへの Vote にご協力ください!
日本語で Office 365 を使う際にはとても都合の悪い問題です。フィードバックで改善してもらいましょう。

LightSwitch から見た Office Developer Tools March 2014 Update のポイント

3月の始めに Office Developer Tools for Visual Studio 2013 March 2014 Update がリリースされました(もう1ヶ月も前の話です、すみません)。
MVP Community Camp で担当したセッションでは、このアップデートで追加された機能を使ってクラウドビジネスアプリのデモを行いました。今まで以上に素早く業務アプリケーションを作れるようになっています。

March 2014 Update の一番の目玉はクラウドビジネスアプリ関連の機能拡張です。Office Developer Tools のアップデートなのに! これはうれしい。

一番うれしい、「共通の画面セット」作成について見てみます。
業務アプリで多くの場合に必要となる、データの一覧表示画面、詳細画面、新規/更新画面の3種類の画面がまとめて作成できる機能です。
アップデート前も同様の画面を作ることはできましたが、3画面まとめて作れるのがいいですね。

2014-04-05 21-34-10

2014-04-05 21-54-312014-04-05 21-56-302014-04-06 0-41-292014-04-05 21-52-51

 

画面によってちょっとテイストを変えて、表形式にするのもいいです。(表形式は前から出来ましたが)

2014-04-06 0-19-352014-04-05 21-56-52

はじめから検索機能付きの画面になっています。(これももちろん以前から実装可能でした)

2014-04-05 21-57-23

 

共通の画面セットが作れるようになって、プロジェクトの構成は少しだけ変わりました。
画面セットごとにフォルダーが作られて、その中に3画面のファイルが作られるようになっています。

2014-04-05 21-37-54

アップデート前は Screen フォルダー直下に全てのファイルが置かれていました。画面数や扱うテーブル数が増えた時に画面を探しやすくなりますね。
以前はこんな感じでした。

2014-04-05 21-38-55

 

直感的、見た目的にはこういったところが機能拡張されました。LightSwitch とクラウドビジネスアプリがますます楽しくなってきました。

「SharePoint 開発ツールの比較」セッションを担当しました (2014年3月22日 MVP Community Camp) #‎MVPComCamp

3月22日(土) に開催された MVP Community Camp 東京会場のカンファレンス(オフラインイベント)東京会場で 1枠いただき、SharePoint 開発ツールについてお話ししました。

LightSwitch (クラウドビジネスアプリ)、Access、Project Siena で SharePoint / Office 365 用のアプリケーションを開発できます。これらがそれぞれ出来ること/出来ないこと、得意なこと/苦手なことを紹介しました。
SharePoint の Web パーツを作ったり CSOM でクライアントを作ったり、という内容は全く触れていません。(InfoPath にも触れていません)
Officd 365 のおかげで中小企業でも SharePoint を使いやすくなったわけですが、当然 SharePoint のカスタマイズなりアプリ開発なりまでは充分な費用をかけられないこともあると思います。そういうケースで高い生産性で社内システム、業務アプリを開発できるといいよね、LightSwitch や Access を使うとそれを実現できるよ、というメッセージをお伝えしました。

LightSwitch の認知度はまだまだですが、それでも少しずつ知られてきて、興味を持ってもらえるようになってきたかなと思っています。やはり Office 365 対応、特にクラウドビジネスアプリの発表以降は肌で感触を感じられるようになってきました。
簡単に開発ができすぎるがために、かえってビジネスになりづらいという開発ツールですが、活用できるシーンは多いと思います。
今回初めてセッションでお話しした Access も SharePoint / Office 365 開発ツールとして非常に優秀です。Project Siena もそう。
これからも LightSwitch, Access, Project Siena の高い生産性を(勝手に)訴求していきたいと思います。

技術ひろばの勉強会では Ustream 配信はしていないのですが、今回はライブ配信、収録をしていただきました。復習やちょっと興味を持ったから聞いてみようかなという方は、ぜひこちらのページで視聴してみてください。

http://www.ustream.tv/recorded/45145052

「Project Siena で “簡単” SharePoint クライアント開発」資料を公開しました (2014年1月11日 第7回 Office 365 勉強会 LT)

第7回 Office 365 勉強会 に参加しました。(2014年1月11日開催)
主催の目代さん、スピーカーの皆さん、関係者の皆さん、ありがとうございました。
参加者の皆さん、おつかれさまでした。

スピーカーも参加者も Office 365 や SharePoint に詳しい人ばっかりなので、単に SharePoint 好き・Office 365  好きというだけの私にはアウェー感満載(笑)
それでも LT 枠に手を挙げました。

テーマは Project Siena
今いまはベータ版で Office 365 未対応なので、なんで 365 勉強会で喋ってるの?と不思議に思った方もいると思いますが、まあ今後対応されることだし SharePoint だし、ご了承ください。
多分 オフラインでは日本初の Project Siena セッションなので、個人的には大満足。

ということで資料を公開しました。デモ動画は公開済み。

一時はライブで SharePoint クライアントを作ることになるのかと思い(まあ一応準備したけどね /笑)、時間の都合で収録済みのでも動画を見ていただきました。

現状はベータ版で、機能的に正直まだまだの開発ツールですが、面白い可能性を秘めています。この辺は LightSwitch なんかと同じ。どうもこういう匂いのするツールが気になるたちです。
一応 C# な人ということになっているので、もうちょっと言語寄りの情報発信をするべきなのは認識済み。まあ外部連携や機能拡張の観点で C# に絡めていければな、と思っています。

Project Siena で SharePoint クライアントを開発する

Project Siena を使うと SharePoint クライアントが簡単に開発できます。

現在はベータ版ということもあり機能に制限があります。

  • オンプレミスの SharePoint のみ対応、Office 365 は未対応
  • カスタムリストの参照が可能、更新系の処理は未対応

製品版に向けて間違いなく対応される内容でしょうね。

オンプレミスの SharePoint を使って実際の開発手順を動画にしました。

こちらの動画(ブログビューアー)と比較していただければ、データソースの選択以外で操作がまったく同じであることが分かると思います。
SharePoint 固有の API を意識することなくカスタムリストを操作(現在は参照のみですが)できます。

業務アプリを Office 365 と連携しながらクラウド化するには LightSwitch、SharePoint クライアントをストアアプリ化するには Project Siena が使えます。
Project Siena の今後の機能拡張を待つ必要はありますが、Office 365 が活躍する場所がますます増えますね。

枠があれば(あるのか?) 1月11日(土) 開催の 第7回 Office 365 勉強会 のライトニングトークで、この内容を喋ってみようかと思ってます。というか、そのためのネタ作りの一環で上記の動画を作りました。お時間のある方はぜひご参加ください。(主催者でもセッションスピーカーでもないけど宣伝してみた)

クラウドビジネスアプリから SharePoint Online のカスタムリストを操作する

本稿は Office 365 Advend Calendar 2013 に参加しています。

クラウドビジネスアプリとは LightSwitch ベースの SharePoint 用アプリ(Apps for SharePoint)です。

LightSwitch ベースなので開発生産性が非常に高いのが特長です。Office 365 認証を利用できて、SharePoint Online との連携が容易なので、Office 365 を利用する企業が業務アプリをクラウド化する場合に活用できます。

  • 「クラウドビジネスアプリって何?」という方は こちらの記事
  • 「クラウドビジネスアプリから SharePoint Online のニュースフィードへの投稿」が気になる方は こちらの記事

本稿では SharePoint のカスタムリストを操作する方法をステップバイステップで紹介します。


操作対象のカスタムリストはこれにします。
アプリの配置のタイミングでカスタムリストを一緒に配置することもできますが、あらかじめ SharePoint Online 上で作っておきます。今回はリストを操作することに絞りましょう。

2013-12-18 22-48-23

Visual Studio で新しいクラウドビジネスアプリのプロジェクトを作成したらデータソースに接続します。それに続いて [SharePoint] を選択して、開発者サイトのアドレスを入力します。

2013-12-18 22-52-182013-12-18 22-53-18

対象のリストを選択します。[ユーザー情報リスト] も必要なので一緒にインポートします。

2013-12-18 22-57-242013-12-18 22-58-46

これでカスタムリストをアプリ固有のテーブルと同じように扱えるようになりました。SharePoint 開発につきものの Load メソッドや ExecuteQuery メソッドも不要です。

2013-12-18 23-01-42

画面の定義も LightSwitch 開発の流儀のままです。

2013-12-18 23-08-182013-12-18 23-12-33


サインインしているユーザーをカスタムリストの担当者列に、現在日時をカスタムリストの問い合わせ日時列に、それぞれ入れたいと思います。そのためには少しだけコーディングが必要です。LightSwitch では本当に少ないコーディングの機会です。
もちろんデモのレベルを超えるとそれなりにコードは必要ですが、それでも他の開発ツールに比べると少ないはずです。

ユーザー情報リストから特定のユーザー情報を取得するためのクエリを用意しましょう。LINQ で問い合わせてもいいのですが、せっかくの LightSwitch ですのでクエリもデザイナーを使って定義してみます。

2013-12-18 23-20-082013-12-18 23-21-08

カスタムリストの担当者列および問い合わせ日時列は、データストアに保存する直前にエンティティに代入します。 “_Inserting” メソッドを使います。

2013-12-18 23-27-262013-12-18 23-32-18

Application.Current.User が現在サインインしているユーザーです。PersonId がユーザー名(サインイン時のアカウント=メールアドレス)に相当しますので、これを先ほど定義した GetUserInfoByUserName クエリに渡します。これでサインインユーザーのユーザー情報が取得できます。
問い合わせ日時には DateTime.Now を入れておきましょう。


開発は以上です。これだけの手順でカスタムリストを読んだり書いたりが簡単にできます。

2013-12-18 23-39-032013-12-18 23-39-53

当然ですが、SharePoint Online でもちゃんと表示されますし、もちろん SharePoint Online で編集した内容も業務アプリ側でも表示されます。

2013-12-18 23-40-53

カスタムリストを操作するメリットは関係する社員で情報を共有しやすいことと(Office 365 をきちんと運用していれば社員は定期的にアクセスするはず)、ワークフローを組み合わせるなどの運用がしやすいことです。
ただし前の記事のように専用の業務アプリを作るメリットもあるので、上手く組み合わせて使ってみてください。