Archive for February, 2013

SharePointアプリ/Officeアプリ についてマイクロソフトの本社(US)技術者にレビューを受け、素晴らしいアドバイスとアイデアも提供してもらった。

はじめに Office365(SharePoint2013)でApp for SharePointを作成しようと思いサンプルプログラム(見積書、請求書)を作りレビューしていただいた。 その結果、設計方針をより良いものにかえることができた!!!またアプリの作り方と、売り方について素晴らしいアドバイスとアイデアを提供していただいた!! また、アプリの企画はGood!!といわれたので、マイクロソフトのねらいと一致してそうでした。 ほんとうに参加してよかった Microsoftの Officeアプリ(App for Office)、SharePointアプリ(App for SharePoint)開発のセミナーと、 1対1のデザインレビュー大変ためになりました。 驚いたこと フロント周り(ユーザインターフェイス)はHTML5+JavaScript OAuthなどはMSの独自色を消し、Microsoft Office(最強のビジネスツール)/Microsoft SharePoint(最強のグループウェア)/Visual Studio(最強の開発ツール)等のMSの強みは残し、携帯(mobile), タブレット(tablet), パソコン(PC)全てに対応する、マイクロソフトの柔軟性にとても驚いた。 簡単に言うと、端末がAndroid(アンドロイド)、iphone(アイフォン)、ipad(アイパッド)でも標準のブラウザーさえあれば、Officeアプリ(Excel, word等を使ったプログラム)が動くということだ。これは、アプリ使用者・アプリ製作者にとっては夢の環境だ!!! 当初は以下のようにSharePoint中心のSharePointアプリを考えた。 App for SharePoint に Silverlightで作ったアプリケーションで入力して “Excel Web App”で表示するようにした。 重要:Appでは Silverlightはつかわないほうがよいとアドバイスを受けた、HTML+JavaScriptのほうがよい、今後はうまく・・・とかあるかもしれないとのこと。 しかし、いろいろアドバイスを受けたところ、このアプリ(見積/請求)の場合は以下のようにOfficeアプリ中心のアプリの構成にするのがよさそうだ!! App for Officeを中心に以下のようにOfficeアプリ中心で構成 メリット Officeアプリ(App for Office)を中心とすれば、データストアをSharePointに限らず、なんでもOKになるのでユーザが広がる 例) Salesforce APIやその他APIと連携等 Oracle DB連携(Microsoft以外のデータベース) ※シングルサイオンできるようのアプリのインターフェイスを公開するとよい? Office365/SharePointがなくてもOfficeアプリだけで動作できるので、導入が容易 Excel2013(ローカル)でも、Excel Web App(Office Web Appウェブベースのoffice)でも動作できるのでユーザに便利 ローカルExcel2013でも稼働させることができる Office Excel Appが無料で使えるSky Driveでも提供できる???(要確認) Officeストア、アプリカタログ、共有フォルダーにアプリケーション定義(appmanifest.xml)をおけばユーザがアクセスして、初回インストール、バージョンアップがユーザにより可能となる。 補足 OfficeアプリはWebサーバにプログラムにおかれ、Webブラウザー内でHTML+JavaScriptで動作する。 Oficeストアにおかれるのはappmanifest.xmlファイルといわれる。定義ファイル(Webサーバの場所、権限等のセキュリティ等) appmanifest.xmlファイルはどこにおていもよい、Officeストア, SharePoint(on-premise/Office365), ローカルファイルサーバ appmanifest.xmlはOfficeで読み取れるように事前にパスを設定する。 例:ローカルExcelの場合 /ファイル/オプション/アプリ/セキュリティで設定する。 アプリカタログとはSharePointサーバに実装された機能で、Officeストアでも、内部的にはこの仕組みを使っている。

シェアポイントアプリを開発する前にここを読もう!!(App for SharePoint 2013 編 Microsoft dev camp)

現在セミナー受講中で随時書き込み中… はじめに MicrosoftのApp for Office/ App for SharePoint のトレーニングに行ってきました。 こんな解りやすい資料がるなら、最初に読んでおけば良かったです。 これを読めば、かなり理解が早くなるので、開発する人は一読しておいた方がいいです!! App for office 2013/App for SharePoint 勉強資料は以下からダウンロード可能 http://aka.ms/officeapps シェアポイントアプリ開発 (Develop App for SharePoint 2013) 4 – Introduction to SharePoint 2013 App Model\WDTK_Introduction to SharePoint 2013 App Model_v2.pdf Page 2/App Concepts オンプレミス(on-premise)/Office365(SharePoint Online)でも両方で提供できる新しい仕組みJavaScript開発がメインになり、Web開発者でも簡単にアプリ開発ができるようになった。 アプリの追加はサイト管理者の権限が必要 Page 2/Basic App for SharePoint Architecture Office アプリと同じで、Webサイトと定義ファイル(Webサイトの場所等)が書かれている。 Page 3/Benefits JavaScript がメインとなり、SharePoint 技術者じゃなくても開発が容易になった。 Page 3/Choices When Building Apps Hosting SharePoint アプリのホスト方法は3パターンあります。 Entry points/Experience manifestファイル(定義ファイル)の置き場所 Scoping Page 3/Hosting Choice of Three Architecture Approaches クラウドベース Provider-Hosted App(プロバイダーホスト) オフィスと同じでどこでもレンタルサーバでもAzureでもアクセスできればどこでもいい SharePoint Hostweb –> RemoteWeb(サーバサイドで何でもコードが書ける) Autohosted App(自動ホスト) Windows Azure に、自動で Webサイトコンテンツを展開してくれる。 自分のサイトに SharePoint アプリで追加した瞬間に自動で Azure にも展開される。 SharePoint Hostweb –> RemoteWeb(サーバサイドで何でもコードが書ける) ※ただし、Office365 に限る ※こちらはAzureのアカウントとか必要ないし、Azure課金されない。 SharePoint ベース SharePoint-Hosted App(SharePointホスト) SharePointにWebサイトコンテンツを展開する。実際に稼働するのは別ドメイン上でホストされる。 SharePoint Hostweb –> […]

オフィスアプリを開発する前にここを読もう!!(App for Office 2013 編 Microsoft dev camp)

はじめに MicrosoftのApp for Office/ App for SharePoint のトレーニングに行ってきました。 こんな解りやすい資料がるなら、最初に読んでおけば良かったです。 これを読めば、かなり理解が早くなるので、開発する人は一読しておいた方がいいです!! ちなみに英文ですw App for office 2013/App for SharePoint 勉強資料は以下からダウンロードできなくなった。(2013/2/14) ちょっと驚いたこと! App for Office(Office アプリ) App for Office2013(オフィスアプリ)は Webブラウザーで動作するOffice, Offiec Web Apps でもローカルOfficeでもどちらでも動作する。(outlookは制限がありそう。) ここさえわかれば、簡単だ、アプリのインストールとはアプリの場所等やアクセス権限等が保存されているmanifestファイル(xml)をOffice(Excel, Outlook, Word等)に取り込むことだ、アプリ本体(HTML+Javascript)はWEBサーバに置くのだ!! たとえばExcelアプリなんかは、そのmanifestファイルをみてExcel上にアプリを表示させWebサーバからHTML+JavaScriptをダウンロードして、そのExcelアプリとExcelオブジェクトと通信してデータの設定やイベント処理を行う。 ※OutlookはExchangeサーバにManifestファイル(xml)がインストールされる Napa(SharePoint2013 Webベースの開発ツール)でOfficeアプリを作成しデバックまでできる。 オフィスアプリ開発 (Develop App for Office 2013) ダウンロードした資料の以下のPDFを開いてください。 devcampfeb13_forattendee.zip\2 – Developing Apps for Office\WDTK_Developing Apps for Office_v2.pdf Page 1/Waht is the Web Extensibility Framework これはMicrosoft office(Excel, word, outlook) の中に HTML/JavaScript のWeb Clientの枠です。 この中にWebサーバにHTTPリクエストして、HTML等のコンテンツを取得します。 Page 3/Anatomy of an App for Office オフィスアプリのインストール時にはこの HTMLコンテンツはサーバに配置して、 アプリには マニフェスト(Manifest)ファイル(アプリの位置等の情報等,Visual Studioでの名前は”xml”)Excel,word,officeにインストールされます。 なお、IE9以上に搭載されている【ブラウザコントロール】が必要となる。 また Microsoft が用意した javascript を HTML に include することにより Excel のセル等のオブジェクト等にアクセスできます。 Page 8/Using Bindings Excel のセルの値と、アプリとの通信にバインド(Bind)を使うと、データがリンクされる、また、イベントハンドラー(Event Handler)が実装できるので、データが更新されたときにプログラムを動かせる。 Page 8/User Experience Guidelines いくつかアプリを作成するに当たり、推奨するガイドラインがあります。 といっても、そんなに厳しい基準があるわけではない。 「Office 用アプリの UX 設計ガイドライン」 http://msdn.microsoft.com/ja-jp/library/fp161012.aspx […]

超簡単、はじめての Windows Azure with Visual Studio 2012 and SharePoint2013(Office365, on-premise)

はじめに プロバイダー向けホスト型のSharePoint 2013アプリ(App for SharePoint 2013)を作る場合、 SharePoint 2013サーバだけでなく、別途Webサーバが必要なので、試しにWindows Azureにて構築してみることにした。 私は今回始めて Windows Azure(Microsoft クラウドサービス)を使いました、Visual Studioサンプル作成し、配置、テストができるまで、3時間で出来たので、わりと簡単でした、また、Azure管理インターフェイスは良く作られているので、悩むことはなく、クラウドサービスや、Webサーバも簡単に作れる優れものでした。 わかったこと Visual Studioにてプログラムを作成しローカルデバックして、Windows Azure(クラウド)に発行(配置)するのは簡単ですが、Windows Azure上でリモートデバックするのは少し難しい。 参考 Visual Studio で Windows Azure のプロジェクトを Remote Debug する http://blogs.msdn.com/b/tsmatsuz/archive/2013/01/31/windows-azure-remote-debug-using-visual-studio-2012.aspx はじめてみましょう 1. まずは、Windows Azureのアカウント作成します。 以下のサイトから”無料で試す”から新規でも申し込んで、3か月は無料で使えます。 http://www.windowsazure.com 2. 申し込んだ後、以下の管理サイトにログインします。 http://manage.windowsazure.com/ 初期状態はなにもサービスがない状態です。 3. Visual Studio 2012 の設定をします。 Windows Azure SDK をインストールします。 http://www.windowsazure.com/en-us/develop/net/?fb=ja-jp 右のほうに”Install thd SDK” とあるので、クリックします。 インストールをクリックします。 4. Visual Studio 2012 にて Cloud プロジェクトを作成してみます。 Visual Studio 2012/ファイル/新規作成/プロジェクト/Cloud/Windows Azure クラウドサービス をクリックする。 以下のような画面がでてくれるので “ASP.NET Webロール”でサンプルプログラム(sample program)を作成してみる。 自動的に以下のソースが生成されます。いきなりデバック(debug; F5) を開始するとローカルにてWebブラウザーが立ち上がりローカルデバックができます。 5. 今回はWindows Azureと連携したいので、Windows Azureの設定をおこないます。 WindowsAzureプロジェクト(画面上ではWindoesAzure2) を右クリックして”発行”をクリックする。 そうすると以下の画面がでてくるので、”サブスクリプションの選択”のコンボボックスを下矢印を教して管理をクリックする。 新規作成をクリックする 証明書名に適当な名前を(今回は”test”にした)入力して”OK”を押す。 表示を押すと”証明書”ファイルの表示されるので、”証明書のインストール”をクリックする。 “完全なパスのコピー”をクリックしておく 6. 再度Azureの管理サイトにはいる。 http://manage.windowsazure.com/ Windows Azureの設定画面にいき、さきほどローカルPCに作成した証明書を登録します。 Windows Azure管理画面/設定/管理者証明書をアップロードする。 アップロード後”サブスクリプションID” をコピーしておきます。 再度,Visual Studio2012の画面に戻りさきほどの”サブスクリプション ID”を入力後OKを押す うまくいくと”サブスクリプション選択”されているので、”次へ”をクリックします。 以下の画面がでるので、 Windows Azure で作成した、サイト名と場所を入力します。 “発行ボタン”を押します。 以下のメッセージがでたので、Windows Azure の管理画面で確認すると クラウドサービスとストレージサービスというのを自動で”作成中”でした。 作成が完了すると以下のようになります。 ※一番上のWebサイトは関係ありません、IIS Webサーバとして別のテストで使いました。 完成したら、再度発行してみてください。 うまくいくと左下のように”発行は成功しました”と表示されます。 自動で作成されたクラウドサービスのWebサイトURLを確認して、ウェブブラウザで表示してみます。 http://exceedone1.cloudapp.net/ […]

はじめての App for Office 2013(Officeアプリ)で開発してみる。

はじめに [App for Office 2013](Officeアプリ)を試してみる。 Webサービスと完全に一体化した、いろんな業務アプリが作れるんじゃない。またOfficeストアに配置できるので、ビジネス展開も簡単にすることができそう。 完成すると以下のようなアプリが作れる。 従来のように、左側が、Excelのスプレッド領域、右側が、[App for Office 2013]で重要なWeb Client領域だ(呼び方が正しいか不明) このWeb Client領域に [HTML+JavaScript]でプログラムを作り、WebサービスやExcelオブジェクトを操作してプログラムが作れる。この右側の[HTML+JavaScript]のコンテンツはWebサーバに置かれるのが肝だ!!! それではサンプルを作ってみよう。 開発環境は以下を参考にしてください。 SharePoint 2013/Office365([Visaul Studio Projcet] [App for SharePoint])/Office2013(App for Office) のVisaul Studio 2012 開発環境 Visual Studio2012にて新規プロジュクトを作成する。 1) 「Office/SharePoint/アプリ/Office 2013用アプリOffice 2013用アプリ」 を選択。 2) Office アプリのタイプを選べるようです。 最初なので、「作業ウィンドウのアプリ」 を選択してみます。 3) 初期画面です。 JavaScriptファイル と Htmlファイル ができていることが分かる。 何か、このまま動くんじゃね? 【OfficeApp2.js】※Default // この関数は、アプリがホスト アプリケーションとの対話を開始する準備が完了したときに実行されます // これにより、ボタンにクリック ハンドラーを追加する前に DOM の準備が完了します Office.initialize = function (reason) { $(document).ready(function () { $(‘#getDataBtn’).click(function () { getData(‘#selectedDataTxt’); }); // setSelectedDataAsync メソッドがホスト アプリケーションでサポートされている場合、 // setDatabtn はメソッドを呼び出すためにフックされ、それ以外の場合は削除されます if (Office.context.document.setSelectedDataAsync) { $(‘#setDataBtn’).click(function () { setData(‘#selectedDataTxt’); }); } else { $(‘#setDataBtn’).remove(); } }); }; // テキスト ボックスのデータをドキュメントの現在の選択範囲に書き込みます function setData(elementId) { Office.context.document.setSelectedDataAsync($(elementId).val()); } // ドキュメントの現在の選択範囲からデータを読み取り、テキスト ボックスに表示します function getData(elementId) { Office.context.document.getSelectedDataAsync(Office.CoercionType.Text, function (result) { […]

App for SharePoint2013 に Visual Studio2012で、Silverlight の組み込み!! (Office365, on-premise)

注意(2013/02/13) App for SharePointではSilverlightについて Micrsofot 本社(US) の技術者の方に下記のような回答をいただいた。 JavaScript+HTMLでなんでもdけいるからそちらを使ったほうがよい、また、うまく動作しない可能性もあるので、おすすめしないということでした。 はじめに Visual Studio 2012で App for SharePoint の開発は、HTML+JavaScriptがメインっぽいので、Silverlightの組み込みは現在考慮されていないようなので、やってみました!! Silverlightを組み込んでみて思ったのですが、Silverlightじゃなくても、Napaツールをはじめ、HTML+Javascriptが分かれば簡単なアプリが容易に作れるので、プログラマーじゃなくて、WebデザイナーやITわかる人なら十分SharePointアプリ開発できると思った。 弊社の場合、複雑な業務アプリを作っているので、HTML5+ JavaScript がVisual Studioで部品供給されデバックも含め、本格対応するまでは Silverlightを使いたいので、しばらくSilverlightを使おうと思います。 このサンプルを作ると以下のようなSilverlightを搭載した、SharePointアプリが作成されます。 その他わかったこと。 アプリの場合は、いままでのソリューションのように、[サイトURL/Lists/リスト名] ではなく、[アプリURL/Lists/リスト名]に位置になります。Silverlightでは、カレントURLをとっておけば、ソリューションでも、アプリでも両対応できます。 サンプル(sample program)は以下のURLからダウンロードしてください。 EAP_O365_SP_2013 [App for SharePoint 2013]プロジェクト /EAP_O365_SP_2013/EAP_O365_SP_2013_App [Silverlight ソリューション]プロジェクト /EAP_O365_SP_2013/EAP_O365_SP_2013_SilverlightWebPart 作成手順 1. いきなり始める前に以下は読んでおいてください。 Office365/SharePoint2013 環境セットアップ(Windows Server 2012 + SharePoint 2013 Preview/Trial + VisualStudio 2012) SharePoint2013 /Office365(SP2013)でサイトコレクションを作成する。 オンプレミスのSharePoint2013 NodeRunner.exeのメモリ使いすぎのせいで、SharePoint本体とVisual Studio2012の動作がめっちゃ遅い SharePoint 2013([Visaul Studio Projcet] [App for SharePoint])/Office2013(App for Office) のVisaul Studio 2012 開発環境 Office 365 Enterprise(Office2013/SharePoint2013) プレビューを試してみた ソーシャル機能 ニュースフィード編; Office 365 Enterprise(Office2013/SharePoint2013) プレビューを試してみた はじめての”App for SharePoint2013″ (Visual Studio2012)を作成してみる。 はまる、App for SharePoint 2013 (オンプレミス; on-premises) とVisual Stuidoでのsharepoint hoted apps アプリデバックの環境(enviroment) App for Sharepoint 2013 サンプルコードを動かしてみる App for SharePoint 2013(オンプレミス on-premise) のアプリカタログを作成、アプリ登録、インストール 2. 最初にVisaul Studioで silverlightソリューション(Solution)を作成します […]

App for SharePoint 2013(オンプレミス on-premise) のアプリカタログを作成、アプリ登録、インストール

はじめに Visual Studio 2012 からは、F5実行して問題なくインストールできるようになったので、 次は、Visual Studio を使わない、SharePoint上のメニューからアプリのイントール/アンインストールができるか検証してみる。 ソリューションと同じ手順で「アプリパーツ」を選択するだけと思っていたが出来なかった。 新機能はそんなに甘くはない。。。 どうもアプリ用のカタログサイトが必要らしい。 というわけで、作成してみよう。( Microsoft のサイトを見らがらw ) はまりポイント SharePoint のアプリケーションカタログに、いままで方法で、まちがえて、ソリューションファイル(wsp)を登録しても、アプリがインストールできない。appという拡張子のものを登録しないと機能しない。 1. アプリのカタログサイト作成 アプリ カタログ サイトを作成するとアプリ用に以下のライブラリが作成されます。 ・SharePoint 用アプリ ・Office 用アプリ 1) 「SharePoint 2013 サーバーの全体管理」 を起動する。 2) 「アプリ」 → 「アプリ カタログの管理」 を選択。 3) 「新しいアプリ カタログ サイトを作成する」 を選択。 「OK」 を選択。 4) タイトル、URL、ユーザ名、ユーザーグループを設定して、「OK」 を選択。 5) 「サイトのURL」 が出来たので、URLをクリックしてみる。 2. カタログサイトにアプリを追加 1) アプリ カタログ を開いて、「SharePoint 用アプリ」 を選択。 2) 「新しいアプリ」 を選択。 3) ドキュメントの追加画面が表示されるので、アップロードするアプリファイルを選択。 ここで私は、勘違いして「wsp ファイル」をアップロードしてしまった。 対象となるのは拡張子が「app」 のファイルである。( ちゃんと見れば分かったはずなのに、、、アホです ) 4) 名前等を入力して、「保存」 を選択。 5) コレでカタログへの追加は完了です。 3. SharePoint 2013 サイトに SharePoint 用アプリを追加する アプリの追加方法は、以下の4パターンがあるみたいです。 ・サイトで使用可能なアプリの一覧から追加する ・アプリカタログから追加する ・SharePoint ストアから追加する ・Windows PowerShell を使用してアプリをインストールする 今回は、2番目の「アプリカタログから追加する」で試します。 1) チームサイトの 「サイトでの作業の開始」 から 「リストやライブラリ、その他のアプリを追加」 を選択。 2) 「追加できるアプリ」 の中に、今回追加したサンプルアプリが表示される。 アイコンをクリックする。 3) 「アプリを信頼しますか?」 と表示されるので、「信頼する」 を選択。 4) アプリを追加します。 追加中。。。 追加完了! 5) 追加したアプリを起動してみた。 […]