App for Sharepoint 2013 サンプルコードを動かしてみる

SharePoint 2013 アプリ開発のテスト環境として、「Office 365 Enterprise Preview Developer Site」を使っていたのだが、
ときどきメンテモードになるので?ローカルにテスト環境を作った。(これで手が止まることは無いだろう)

作り方はコチラを参考にしてください。
はまる、App for SharePoint 2013 (オンプレミス; on-premises) とVisual Stuidoでのsharepoint hoted apps アプリデバックの環境(enviroment)

試しに、Microsoft の サンプルコードを実行してみようと以下のサイトからサンプルコードを取得して実行してみました。
SharePointにホストするサンプルアプリのようです。

参考URL
[方法] SharePoint でホストされる基本的なアプリを作成する

[方法] SharePoint でホストされる基本的なアプリを作成する サンプルコード

Visual Studio 2012 でサンプルコードを開きます。
プロジェクトのプロパティを開いて、「サイトURL」を変更します。

「サイトURL」を設定したら、F5で実行。
すると「Basic SharePoint-hosted を信頼しますか?」と表示されるので、「信頼する」を選択。

無事、表示されました。

はまる、App for SharePoint 2013 (オンプレミス; on-premises) とVisual Stuidoでのsharepoint hoted apps アプリデバックの環境(enviroment)

はじめに

2013/1/31日 現在 Office365 Enterprise Preview SharePoint 2013 がメンテ中みたいで、開発/テストできないので、オンプレミス環境を作成しました。

App for SharePoint 2013 で アプリ開発環境を作るのに、3時間ほど、はまりました!!

私も苦労したので、初めての SharePoint 2013 の環境を構築する人にもできるだけわかりやすいように書きました。

うまくいくと、SharePoint 2013 オンプレミス環境で、App for SharePoint 2013 を Visual Studio2012からデバックができるようになります。

はまりポイント

SharePoint App サーバのために、DNSの設定する方法がわからなくてはまりました。

インタネットブラウザーのセキュリティ設定をしないと、デバック時にブラウザーからユーザーID, パスワードを聞かれてはまります。

今回の環境

シングルドメイン:

  1. ドメイン名:testdomain.local
  2. Farm admin:testdomain\administrator

ドメインサーバ:

  1. サーバー名: File
  2. Window2008 Standard  (Memory 6G)

開発PC:

  1. PC名: Win2012(Win2012.testdomain.local)
  2. Windoes2012 Standard Japanese(Memory 6G)
  3. ドメイン参加済み
  4. SharePoint2013 インストール済み
  5. VIsual Stdudio 2012 インストール済み(その他開発ツールもインストール済み)

オンプレミスでのデバック環境の作成

Windows DNSサーバを設定する。

まず、適当な名前でアプリ(apps)用のドメイン名を作成します。今回は以下の名前にします。

アプリ用ドメイン名: [dev81.com]ゾーンの設定をします。

  1. ドメイン管理サーバから、 Start/管理ツール(Administrative tools)/DNS
  2. 前方参照ゾーン/新しいゾーン(New Zone)/プライマリ ゾーン
    ゾーン名=[dev81.com]
  3. [dev81.com] にワイルドカード”*” のエイリアス(CNAME)を作成する。
    エイリアス名は[*]ワイルドカードにする。
    ターゲットは開発環境の完全修飾ドメイン名(FQDN) or IPでもOKかも?=[Win2012.testdomain.local]
  4. これをすることにより、  以下のURLでもPingが通るようになる。
    以下にPINGすると
    Apps-xxxx.dev81.com
    Apps-yyyy.dev81.com
    Apps-zzzz.dev81.com
    これの結果はすべて [Win2012.testdomain.local]のIPアドレスが応答するようになります。
    これでアプリサーバのアドレスが解決できるようになる。

SharePointの設定をする。

管理者としてコマンドプロンプロトを実行して以下を入力してアプリのサービスを起動します。

net start spadminv4
net start sptimerv4

管理者としてSharePoint PwoerShellを起動して、アプリのドメイン名を入れます。

Set-SPAppDomain “dev81.com”

引き続き SharePoint PowerShellにて以下のコマンドを入力する。

Get-SPServiceInstance | where{$_.GetType().Name -eq "AppManagementServiceInstance" -or $_.GetType().Name -eq "SPSubscriptionSettingsServiceInstance"} | Start-SPServiceInstance

Get-SPServiceInstance | where{$_.GetType().Name -eq "AppManagementServiceInstance" -or $_.GetType().Name -eq "SPSubscriptionSettingsServiceInstance"}

$account = New-SPManagedAccount

引き続き SharePoint PowerShellにて以下のコマンドを入力する。
ユーザについては、わたしはドメインの管理者アカウントを入れた。適当に変更してください。

ドメイン名(testdomain)/管理者アカウント(administrator)

$account = Get-SPManagedAccount "testdomain\administrator"
$appPoolSubSvc = New-SPServiceApplicationPool -Name SettingsServiceAppPool -Account $account
$appPoolAppSvc = New-SPServiceApplicationPool -Name AppServiceAppPool -Account $account
$appSubSvc = New-SPSubscriptionSettingsServiceApplication –ApplicationPool $appPoolSubSvc –Name SettingsServiceApp –DatabaseName SettingsServiceDB 
$proxySubSvc = New-SPSubscriptionSettingsServiceApplicationProxy –ServiceApplication $appSubSvc
$appAppSvc = New-SPAppManagementServiceApplication -ApplicationPool $appPoolAppSvc -Name AppServiceApp -DatabaseName AppServiceDB
$proxyAppSvc = New-SPAppManagementServiceApplicationProxy -ServiceApplication $appAppSvc

引き続き SharePoint PowerShellにて以下のコマンドを入力する。

Set-SPAppSiteSubscriptionName -Name "app" -Confirm:$false

これは以下の画面からも確認できます。

/サーバの全体管理 /アプリ/アプリURLの構成

 ※重要:以下の画面が開かない場合は以下のURLの通りサービスを起動してください。

アプリ URL の構成

これらの設定に対して変更を加えるには、購読の設定サービスと、それに対応するアプリケーションおよびプロキシが実行されている必要があります。

 

事前にサイトコレクション[開発者向けサイト]を作成しておく。

/サーバーの全体管理/サイトコレクションの作成

テンプレートの選択時に必ず、[開発者向けサイト]で作成しておく私の環境では以下のURLに作成
※開発者サイトでないと、うまくVisual Studioから配置できませんので注意してください。
http://win2012/sites/test4/

Visual Studio でアプリを作成してみる。

開発PCにて、Visual Studio/ファイル/新規作成/プロジェクト/App for SharePoint 2013
SharePointのサイトはさきほど作成した、開発者向けサイト]のURLを設定して
アプリをホストする方法は一番簡単な、[SharePoint ホスト型]にして[OK]を押す。

自動的にSharePoint hosted Appsのひな形が作られます。



そのままF5 (デバック)ボタンを押すとブラウザーが立ち上がってきてパスワードをきかれてうまくいきません

インタネットエクスプローラのセキュリティの設定をします。

/インターネットエクスプローラ/設定/インターネットオプション/セキュリティ(タブ)

[ローカルインターネット]を選んで[サイト]ボタンをクリックします。
ここで[詳細設定 ]ボタンを押します。

いかのように、[http://*.dev81.com] をローカルイントラネットゾーンにするために追加設定します。

これでデバックがうまくできるようになり、以下のようにVisual Studio2012のデバック結果がSharePoint2013サーバから表示されます。

参考

  1. sharepoint hosted app error:Apps are disabled on this site
     http://social.msdn.microsoft.com/Forums/en-CA/appsforsharepoint/thread/5f499b93-6064-480a-ad9b-7813769970f1
  2. [方法] SharePoint アプリ用の社内開発環境をセットアップする
    http://msdn.microsoft.com/ja-jp/library/office/apps/fp179923.aspx
    http://msdn.microsoft.com/en-us/library/fp179901(office.15).aspx
  3. SharePoint 用アプリの環境を構成する (SharePoint 2013)
    http://technet.microsoft.com/ja-jp/library/fp161236.aspx
  4. Like this How-to Article? There’s more where that came from!
     http://community.spiceworks.com/how_to/show/18852-configuring-an-app-environment-for-single-server-sharepoint-foundation-2013
  5. Configuring SharePoint 2013 Preview for On-Premise Apps
     http://blogs.perficient.com/microsoft/2012/10/configuring-sharepoint-2013-preview-for-on-premise-apps/
  6. Setting up a SharePoint 2013 Development Environment 101
     http://blogs.technet.com/b/wbaer/archive/2012/10/10/setting-up-a-sharepoint-2013-development-environment-101.aspx
  7. Configuration to meet in order develop “SharePoint Hosted Applications”
    http://www.areaprog.com/SP2013/cours-en-564-sharepoint-hosted-application-configuration-a-respecter-pour-developper-des-sharepoint-hosted-application
  8. Steps to Setup SharePoint 2013 Development Environment
    http://blogs.msdn.com/b/sharepoint__cloud/archive/2012/10/15/sharepoint-2013-technical-preview-development-setup.aspx
  9. SharePoint 2013 apps – architecture, capability and UX considerations [this article]
    http://www.sharepointnutsandbolts.com/2012/08/sharepoint-2013-appsarchitecture.html

はじめての”App for SharePoint2013″ (Visual Studio2012)を作成してみる。

概要

前提

  1. SharePointストアは現時点で、日本では試せないので試していません。
  2. 初めてApp for SharePoint2013で作成するので、方法と内容が間違えているかもしれません。
    なにか誤りがあれば、教えていただけると幸いです。

作ってみて驚いたところ

  1. オンプレミスだけでなく、クラウドのOffice365で開発・デバックできるところ
    開発だけなら オンプレミスSharePoint2013 いらないようだ。開発環境の敷居が随分下がった、Visaul Studio2012 Proのみ買えば簡単な開発ならできるかも。(Windows2012/SharePoint2013 Enterpriseは買わなくても開発できそう)
  2. 自動生成されたプログラムソースにJqueryが入っているところ、Microsoftは他社のWebでは標準的なライブラリーも取り込んだ。
    これは開発者にとっては、潜在的には、iphone, Androidにも対応が簡単になったと思われる。

App for SharePoint2013のホストする種類(これによって作りが異なる)

以下のように3つあります。

  1. 自動ホスト型(勉強中なので詳しくかけません。)
     http://msdn.microsoft.com/ja-jp/library/office/apps/fp179886.aspx
  2. プロバイダー向けのホスト型(勉強中なので詳しくかけません。)
    http://msdn.microsoft.com/ja-jp/library/office/apps/fp142381.aspx
  3. SharePointホスト型(aspx, 画像, list定義などをすべて、SharePointに配置する場合これ、もっとも簡単なSharePointアプリ)
    http://msdn.microsoft.com/ja-jp/library/office/apps/fp142379.aspx

以下のようにVisual Studio2012でプロジェクト新規作成時表示されるときにホストする場所を選べる

いままでのソリューションとの違い

  1. たぶん、SharePointのサーバサイドでSharePointにアクセスするプログラムコードはかけないと思われる。(自身がない)
    すなわちサンドボックスソリューションでは実装できた。SharePointサーバサイド からのSharePointオブジェクトへのアクセスができない。(自身がない)※後で確認します。
  2. List Definition(リスト定義)の場所ソリューションの場合のサイトコレクションの/Lists/が標準だが、アプリの場合はアプリのURLの下に配置される。 サイトコレクション/アプリ名/Lists/ になる。

注意するところ

  1. デバックしたいなら、サイトを[開発者向けサイト]にしないと配置に失敗する。
    チームサイト等のサイトではアプリが配置できずに失敗する。 (この下で詳細は書きます。)

参考サイト

  1. 松崎さんBlog 実際に作るために必要なListの作成方法とかあるので必ず読もう
    http://blogs.msdn.com/b/tsmatsuz/archive/2013/01/28/list-definition-list-instance-and-client-side-rendering-csr-using-apps-for-sharepoint-2013.aspx
  2. MSDN(SharePoint アプリの構築) 作ってみないとわからないので、作ってから読んでみよう!!
    http://msdn.microsoft.com/ja-jp/library/office/apps/jj163230.aspx

オンプレミスSharePoint2013 でApp for SharePoint2013 でデバック

手始めに最も簡単な[SharePointホスト型]でアプリを作成してみる。

事前に、[サーバの全体管理]から[サイトコレクション]を作成しておくこと、必ず以下のように[開発者向けサイト]で作成すること。

Visual Studio 2012で, ファイル/新規作成/プロジェクト/App for SharePoint2013を選び[OK]をおします。

さきほど、作成した [開発者向けサイト]のURLと入力して、[SharePointホスト型]を選択して[完了]をクリックします。

そうすると自動的に以下のようなコードが生成されます。

Default.aspx

Jqueryとか自動生成された。コードビハインド等で、アプリの場合はSharePointオブジェクトにアクセスするコードはかけないと思われる。 (もしかしたらかけるかも??)

<%-- 次の 4 行は、SharePoint コンポーネントの使用時に必要な ASP.NET ディレクティブです --%>

<%@ Page Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage, Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" MasterPageFile="~masterurl/default.master" Language="C#" %>

<%@ Register TagPrefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register TagPrefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

<%-- 次の Content 要素内のマークアップとスクリプトはページの <head> 内に配置されます --%>
<asp:Content ContentPlaceHolderID="PlaceHolderAdditionalPageHead" runat="server">
    <script type="text/javascript" src="../Scripts/jquery-1.7.1.min.js"></script>
    <script type="text/javascript" src="/_layouts/15/sp.runtime.debug.js"></script>
    <script type="text/javascript" src="/_layouts/15/sp.debug.js"></script>

    <!-- 次のファイルに CSS スタイルを追加します -->
    <link rel="Stylesheet" type="text/css" href="../Content/App.css" />

    <!-- 次のファイルに JavaScript を追加します -->
    <script type="text/javascript" src="../Scripts/App.js"></script>
</asp:Content>

<%-- 次の Content 要素内のマークアップとスクリプトはページの <body> 内に配置されます --%>
<asp:Content ContentPlaceHolderID="PlaceHolderMain" runat="server">

    <div>
        <p id="message">
            <!-- アプリの実行時に次の内容はユーザー名で置き換えられます - App.js 参照 -->
            initializing...
        </p>
    </div>

</asp:Content>

ここまでできたなので、 F5(デバックボタン)をおしてみます。そしたら以下のようなエラーがでてきてうごきません。どうやらオンプレミスのSharePointの設定をしないといけないようです。時間がかかりそうなので、後に回して、クラウドのOffice365(SharePoint2013)で再度トライしてみます。

エラーの参考です。

  1. エラー内容
    @”エラー 1
    CorrelationId: c7ab995d-5a4d-4f16-b6e5-955291ec5872
    ErrorDetail: このサイトではアプリは無効になっています。
    ErrorType: Configuration
    ErrorTypeName: 構成
    ExceptionMessage: Microsoft.SharePoint.SPException: アプリをインストールできません。アプリ展開のエラーに関する詳細については、診断ログをご確認ください。
    場所 Microsoft.SharePoint.Utilities.SPUtility.ThrowSPExceptionWithTraceTag(UInt32 tagId, ULSCat traceCategory, String resourceId, Object[] resourceArgs)
    場所 Microsoft.SharePoint.Packaging.SPUserCodeSolutionDeploymentGroup.Deploy()
    場所 Microsoft.SharePoint.Administration.SPAppTask.DeployOperation()
    場所 Microsoft.SharePoint.Lifecycle.MonitoredTaskExecution.DoTask()
    Source: AppWeb
    SourceName: アプリ Web 展開
  2. sharepoint hosted app error:Apps are disabled on this site
     http://social.msdn.microsoft.com/Forums/en-CA/appsforsharepoint/thread/5f499b93-6064-480a-ad9b-7813769970f1
  3. [方法] SharePoint アプリ用の社内開発環境をセットアップする
    http://msdn.microsoft.com/ja-jp/library/office/apps/fp179923.aspx
    http://msdn.microsoft.com/en-us/library/fp179901(office.15).aspx
  4. SharePoint 用アプリの環境を構成する (SharePoint 2013)
    http://technet.microsoft.com/ja-jp/library/fp161236.aspx

クラウドのOffice365(SharePoint2012)で配置、デバックを行う

http://msdn.microsoft.com/ja-jp/library/office/apps/fp179924.aspx
のサイトから[サインアップ]する。

Microsoft Office365 Developer プレビューというサイトで
以下のようにアカウントのセットアップが表示されるので開発者用のOffice365(SharePoint 2013)に新規ユーザを登録する。

アカウント作成後サインインすると以下の画面になりますので、

メニュー/管理者/SharePoint をクリックして、プライベートサイトコレクションを新規作成する。

ここで[開発者向けサイト]を作成する。
注意)開発者向けサイト以外で作成するとVisual Studioのでデバック時に配置に失敗します。

  • 配置手順 ‘SharePoint 用アプリのインストール’ でエラーが発生しました: アプリのサイドロードは、このサイトでは有効になっていません。
  • Error occurred in deployment step ‘Install App for SharePoint’: Side Loading of apps is not enabled on this site.

Visual Studio 2012で, ファイル/新規作成/プロジェクト/App for SharePoint2013を選び[OK]をおします。
そうすると以下の画面がでてくるので、

さきほど、作成した [開発者向けサイト]のURLと入力して、[SharePointホスト型]を選択して[完了]をクリックします。

以下のようにコードが自動生成されるので、F5(デバック)を押してみます

以下のように Default.aspxがOffice365(SharePoint2013)サーバから表示されます。

Visual Studio でリスト定義を作成してみた。

List Definition(リスト定義)の場所ソリューションの場合のサイトコレクションの/Lists/が標準だが、アプリの場合はアプリのURLの下に配置される。 サイトコレクション/アプリ名/Lists/になる。
例:https://exceedone4-583aff76dc02ab.sharepoint.com/sites/test5/SharePointApp18/Lists/List1/AllItems.aspx#InplviewHasha313247b-4439-4cf7-84c2-bc89bdb9b073=ShowInGrid%3DTrue

オンプレミスのSharePoint2013 NodeRunner.exeのメモリ使いすぎのせいで、SharePoint本体とVisual Studio2012の動作がめっちゃ遅い

開発環境のSharePoint2013 + VisaulStudio 2012が遅いのでメモリを増設して4G->6Gにしても、あまりかわらない。また、メモリを大量に食いつぶす

タスクマネジャーで 確認したところ、 [Microsoft SharePoint Search Component] のプロセスが5つもあり、メモリを大量に消費している。ためしに、無理やり、プロセスをおとしてみると、SharePointの動きが早くなった。

対処方法は一番下の”参考”のところにのっていたので、対策をしてみたたら4G程度になり効果があった。

検索サービスなんて、開発環境でいらないので、サービスを落としたら、3.1G程度になったここからVisual Studio2012 + etc… を動かすのでメモリは6~8Gは必要そうだ。

サービスの停止方法

[管理ツール]-[サービス] でサービスを開き

[SPSearchHostController]のサービス[停止]と [スタートアップの種類]を[無効]にした。

結果

30分以上動かない、超重かった Visual Studio 2012 のデバックとかが、さくさく動くようになった!!

参考

SharePoint 2013 Preview NodeRunner.exe メモリーリーク

http://crieilluminate.wordpress.com/2012/10/02/sharepoint-2013-preview-noderunner-exe-%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%BC%E3%83%AA%E3%83%BC%E3%82%AF/

TechNet Blogs

http://blogs.technet.com/b/mpriem/archive/2012/09/05/sharepoint-2013-preview-hungry-search-service.aspx

SharePoint2013 /Office365(SP2013)でサイトコレクションを作成する。

SharePoint2013でアプリケーション用のテスト用サイトコレクションを作成しようとおもったら、2010とメニューが違うので、30分はまったので、メモします。

SharePoint2010(Office365含む)のときには以下のように[サイト操作][新しいサイト]でサイトコレクションを作成できたが、SharePoint2013からメニューがなくなったので、さがしてみた。

Office365(SharePoint2013)の場合

以下のメニューから [管理者]-[SharePoint]で以下の画面になるので

新規を選んで作成する。

[プライベートサイトコレクション]もしくは[パブリック Webサイト]を選ぶ

今回は[プライベートサイトコレクション]を選ぶ

けっこう細かい設定ができる。

オンプレミス SharePoint2013の場合

まずは、Windows2012から”Share” という検索キーワードでアプリを検索して、 [SharePoint2013 全体管理]を起動する。

[SharePoint2013 全体管理]の中に、[サイトコレクションの作成]というのがありますので、それをクリックします。

そうすると以下のような[サイトコレクション画面がでますので] タイトル名等記入して[OK]ボタンを押します。

参考サイト

http://technet.microsoft.com/ja-jp/library/cc263094.aspx

Office 2013 アプリ とはなにか!!

appforoffice2013develop

アプリとは

アプリとは、Officeの中の[HTML Web Client]経由でWebサイト(HTML+JavaScript)を表示している部分のことです。

アプリとOfficeではJavaScriptでデータの取得や設定ができます。

また、アプリはOfficeのアクティブセルの変更等のイベントを取得できます。

そして、Office アプリは、Officeストアを通じて、販売できます。

MSの説明

http://msdn.microsoft.com/ja-jp/library/jj229830.aspx

Office 用アプリは基本的には Web ページであり、Office クライアント アプリケーション内でホストしてドキュメントで拡張コンテンツや機能を提供したり、クライアント アプリケーションと関連付けられた作業ウィンドウでホストしたり、電子メール メッセージでコンテキストに応じてアクティブ化したりできます。Office 用アプリは、HTML、CSS、JavaScript、REST などの標準 Web テクノロジを使用して Office クライアント アプリケーションを拡張する新しい方法を提供します。

個人的には

Webサービスと連携できるなら、昔投資会社で、投資モデルとかExcelで作っていたのですが、そのような複雑なものも作成可能だと思いました。

ソーシャル機能 ニュースフィード編; Office 365 Enterprise(Office2013/SharePoint2013) プレビューを試してみた

前回のブログ
Office365最新版導入編; Office 365 Enterprise(Office2013/SharePoint2013) プレビューを試してみた
に引き続きニュースフィードにチャレンジ!!

Yammer というのと間違えていた。

弊社の社員同志で、Office 365のソーシャル機能のニュースフィード をためしてみました。

Facebookの機能がほぼあり、社内で、簡単にFacebookのように情報共有できます。

”いいね”マークは以下のように ”にこちゃんマーク” でした。

社内で情報共有するに優れものと思いました。


Yammer の説明はここをよんでください
http://www.computerworld.jp/topics/585/205485

Office365最新版導入編; Office 365 Enterprise(Office2013/SharePoint2013) プレビューを試してみた

Office365 の最新バージョン(SharePoint2013含む)が使えるという噂をききつけ、ためしてみた。
Officeストアは今日時点では使えなかったがSharePoint2013の基本機能は使えた。
  1. 最初に、Office 365 Enterprise Preview(Office2013/SharePoint2013) を申し込み
    申し込みは簡単で以下のURLから名前とか入力すればOKだ。もちろん無料だ。
     http://www.microsoft.com/ja-jp/office/preview/office-365-enterprise.aspx
  2. 作成されると以下のような画面に自動的にログインされる。
    (この画面はメニューでは [管理者]-[Office365 Preview])
  3. メニュー[管理者][SharePoint] をクリックする。
  4. 以下のようにSharePoint の管理画面がでてくるので、ここでSharePoint のチームサイトのURLがわかりますので
    一番上のURLをクリックする。
  5. SharePoint のチームサイトのトップが表示される。
  6. [左メニュー]の[ドキュメント]を選んで試しに[Excel Web App] を試してみる
  7. Webブラウザー内でExcelが表示(編集?)できます。
    [ファイル]-[印刷] してみる。
  8. 実際に印刷すると画像、罫線、文字は大丈夫だが、Webブラウザー(IE8,IE9, Chrome) はセルの色(黄色い部分)が印刷できない。
    ※オンプレミス SharePoint2010/Office365(SharePoint2010)も同じです。
  9. Excel Web Services(プログラムインターフェイス)が使えるか確認してみた。
    以下のように表示されて使えそうでした。
    https://exceedone2.sharepoint.com/_vti_bin/excelservice.asmx
  10. Officeストアにいってみたが以下のメッセージがでてきて使えなかった。
    Office と SharePoint のアプリケーション
    申し訳ありません。お客様の地域で現在使用できる Office または SharePoint のアプリケーションはありません。 米国の Office ストア にアクセスして最新のアプリケーションがあるかどうか確認してください。ただし、お客様の地域に適してないコンテンツが含まれていたり、正しく機能しない可能性があります。

SharePoint 2013/Office365([Visaul Studio Projcet] [App for SharePoint])/Office2013(App for Office) のVisaul Studio 2012 開発環境

Office365も順次 SharePoint2013に置き換わっていこうとしていますが、Visual Studioで開発するにあたり、開発環境を構築してみました。

  1. [Windows2012 Standard]+[SharePoint2013 English Trail]+[Visual Studio 2012 Professional]を以下のようにインストールする。
    http://tech.exceedone.co.jp/office365-start/setup-windows2012-sharepoint2013/
    ※現時点で [SharePoint2013 Preview 版]でなく [英語のTrial 版(2013/1/25日現在日本語版もあります。)] があるのでそちらをインストールしたほうがよさそう。
  2. [Microsoft Web Platform Insatller4.0] で [Microsoft Office Developer Tool for Visaul Studio 2012 – Preview2] をインストールする。
    ※2013/4/15日現在の最新は[Microsoft Web Platform Insatller4.5]です。
    http://www.microsoft.com/web/downloads/platform.aspx
    1. [Microsoft Web Platform Insatller4.0]の右上の検索欄に “Office” といれて[検索ボタン]を押すと以下の
       [Microsoft Office Developer Tool for Visaul Studio 2012 – Preview2]と表示されるので、[追加]ボタンを押す
    2. 以下の確認画面が表示されるので[同意する]をクリックする。
    3. インストールが正常に完了すると以下のダイアログが表示されます。
  3. [SharePoint Server 2013 Client Components SDK]をインストールする。
    ※[SharePoint2013 Trial 英語版 ]いれたら自動的に入った。
    1. 以下のURLからダウンロードしてインストールする。
      http://www.microsoft.com/en-us/download/details.aspx?id=35585
  4. Visual Stuido 2012を起動したら以下のようにSharePoint2013/Office2013 の開発ができるようになった。
    1. Office/Sharepoint
      1. アプリ ([App for SharePoint][App for  Office])
      2. Office Add-ins (Word, Excel , etc…)
      3. SharePoint ソリューション(SharePoint 2013 ソリューション/プロジェクト)
 
 

 

Office365(SharePoint Online) Excel Web App, Excel Web Services の機能とプログラムでの値の設定取得

Excel Web Service にてエクセルを対話的に操作してみます。

最初に

Excel  Web Service はWebブラウザーでユーザが対話的にアクセスできる機能です。

Office365/ SharePoint2007/SharePoint2010/ SharePoint2013 に搭載されている機能です。

Excelの操作性

  1. ローカルのExcelをアップロードして編集してみる。
  2. 値をいれてみると合計が計算される。
  3. 数式をいれても計算する。

印刷のイメージ

  1. まずは Office365(SharePoint Online) E1/E2/E3 での印刷機能はすごいです。以下のようにほぼローカルExcelとほぼ同じ
  2. ここでExcelをクリックするとWebブラウザーないで表示できます。
  3. 印刷プレビューをすると以下のようにExcelが表示される。

プログラムを作ってみる

開発の前に簡単な説明

Excel Servicesとは以下のURLように3つの機能のことです。今回はプログラムAPIである。3番目のExcel Web Servicesを使用します。

  1. Excel Calculation Services
  2. Excel Web Access
  3. Excel Web Services
Excel Web Services にはAPI Versionがあり、詳細は以下のバージョンによってAPIの数が異なります。
http://tech.exceedone.co.jp/office365-application-develop/office365-e3-p1-excel-web-services/
現在 E1/E2/E3 はAPI Version = 15,  P1は API Version 14になっております。また、プログラム言語のインターフェイスはSOAP経由になっており、SOAPクライアントして機能する言語のJavaScript / .NET(C#, VB) 等で作成することができます。
今回はSilverLightで作成します。JavaScriptで作成するのは、ロジックは同じなので、以下のURLを参考にするといいと思います。
  1. Excel Services JavaScript APIを試してみました(2)
    http://www.ka-net.org/blog/?p=1040

SilverLight でローカルSharePoint2010 Enterprise SP1 で作成(API Level 14)

Office365 E1/E2/E3 (SharePoint2010) (API Level 15)

参考

  1. SetRange/SetCell 等のMSDN サンプル
    [SharePoint Server 2010 の Excel Services][Services][Excel Web サービス][[方法] 範囲の値を設定する]
    http://msdn.microsoft.com/ja-jp/library/ms579185(v=office.14).aspx
  2. Excel のクラウドな開発 (Office 365 SharePoint Online 編 : REST, JavaScript, etc)
    http://blogs.msdn.com/b/tsmatsuz/archive/2011/07/15/office-365-sharepoint-online-excel-services-rest-api-javascript.aspx
  3. 古い記事ですが、First “Hello World” code sample with the Excel Services APIs!
    http://blogs.msdn.com/b/cumgranosalis/archive/2006/03/24/excelserviceshelloworld.aspx
  4. クロスドメインの場合?(crossdomain.xml)Calling WCF Services from Silverlight in SharePoint… Cross Domain Nightmare!
    http://foxitblogs.wordpress.com/2012/07/23/calling-wcf-services-from-silverlight-in-sharepoint-cross-domain-nightmare/
  5. JavaScriptで作りたければ参考になるかも。
    Excel Services JavaScript APIを試してみました(2)
    http://www.ka-net.org/blog/?p=1040
  6. Excel Service Class SharePoint2013 APIのLibrary
    http://msdn.microsoft.com/en-us/library/ms492736.aspx
  7. SharePoint Server 2010 の Excel Services を使用して Excel の計算能力を利用する
    http://msdn.microsoft.com/ja-jp/library/hh124645(v=office.14).aspx
  8. You do not have permissions to open this file on excel services
    http://social.technet.microsoft.com/Forums/hu-HU/sharepointgenerallegacy/thread/7dac8be1-c23b-4f43-8abf-a5c8412e39d1
  9. このTopicsとは関係ないけど、クロスドメインについての解説
    クロス ドメイン (Cross-Domain) 接続 (JSONP サービス) と諸注意
    http://blogs.msdn.com/b/tsmatsuz/archive/2011/06/24/cross-site-cross-domain-browser-https-ssl-javascript-silverlight-access.aspx