Sharepoint-apps
この章では、SharePointアプリについて説明します。 アプリモデルは、SharePointの拡張機能の新しい開発展開およびホスティングモデルです。 SharePoint 2013の開発者として、ファームまたはサンドボックスソリューションのソリューションモデルを使用するか、アプリモデルを使用するかを選択できます。
Microsoftのドキュメントとガイダンスでは、ソリューションモデルよりもアプリモデルを優先することを推奨しており、これは非常に有効なガイダンスである可能性があります。 ただし、アプリモデルはSharePoint 2013の重要な追加機能であり、ソリューションモデルはSharePoint 2007以降存在していることを考慮する必要があります。
したがって、ソリューションモデルを使用した開発のナレッジベースは、アプリ開発のナレッジベースの現在の状態よりも大幅に優れています。
アプリは、人々がそれを使用して実世界の経験を共有するのに十分なほど長くはありませんでした。 アプリモデルとその長所と短所を学ぶことは非常に重要だと思います。
アプリの特徴
アプリの特性は以下のとおりです-
- 開発者の観点から最初でおそらく最も重要なのは、アプリ内のすべてのコードがSharePointサーバーの外部で実行されることです。 これは、コードがユーザーのブラウザで実行されているJavaScriptであるか、外部サーバーで実行されているコードであることを意味します。
- すべてのコードはSharePointの外部で実行されているため、SharePointとの通信はWebサービスを介して行われます。つまり、クライアントオブジェクトモデルまたはREST APIを使用しています。
- SharePointアプリでサーバーオブジェクトモデルを使用できる状況はありません。
- アプリの構築が完了したら、パブリックアプリストアまたはローカルアプリカタログのいずれかに配置します。 これにはレビュープロセスが必要であり、いくつかのルールがあります。これらのルールに従って、アプリをパブリックアプリストアに掲載する資格を得る必要があります。
- もう1つのオプションは、アプリをローカルアプリカタログに配置することです。これは、中央管理によってアプリカタログになるように構成されたWebアプリケーション内の単なるサイトコレクションです。
- アプリがカタログのストアに展開されると、サイトコレクションの所有者権限を持つユーザーは、SharePointサイトにアプリをインストールできます。
アプリの種類
ビルドできるアプリにはさまざまな種類があり、次のとおりです-
1つ目は、SharePointがホストするアプリです。 名前が示すように、この種のアプリはSharePointファームでホストされます。
重要な機能は-
- これは、インストールされているサイトの子サイトでホストされ、この子サイトは他のサイトと同様にほとんどの部分で動作します。
- リスト、ライブラリ、ページ、コンテンツタイプなどを含めることができます。
- SharePointホストアプリケーションの構築の基本は、SharePointソリューションの構築の基本に似ています。
- 機能があります。
- その機能に要素を追加でき、それらの要素はCAMLを使用して定義されます。
- 多くの要素について、Visual Studioにデザイナーがいます。
- サイトページを追加できます。
- これらのサイトページにサーバーコントロールを追加できます。
- これらのサイトページにコードビハインドを追加することはできませんが、JavaScriptコードを追加することはできます。
- 今、基本を超えてしまうと、物事はますます似たものになり始めます。
クラウドホスト型アプリ
他の2種類のアプリ、プロバイダーホスト型と自動ホスト型は、クラウドホスト型アプリとして一緒に分類されます。 重要な機能は-
- これらのアプリは、SharePointの外部のサイトにあります。
- Provider-HostedとAuto-Hostedの大きな違いは、誰がこの外部サイトを作成および管理するかです-
- プロバイダーがホストするアプリでは、それはあなたまたはあなたの組織です。
- 自動ホストアプリでは、Microsoftです。
- クラウドホスト型アプリの構築は、他のWebサイトの構築と同じです。
- .NET開発者であれば、おそらくMVCまたはWebフォームを使用しているでしょう。 ただし、これらの技術に限定されません。 任意のWebテクノロジーを使用してクラウドホスト型アプリを構築できます。 アプリの構築が完了したら、プロバイダーホストシナリオで、他のWebサイトで行うのと同じ方法でアプリをサイトに展開します。
- 自動ホストシナリオでは、Visual Studioを使用してアプリパッケージを作成します。 ソリューションパッケージに相当するアプリであり、SharePoint Onlineおよびサイトにアップロードできます。 必要に応じて、アプリをホストするためのデータベースがプロビジョニングされます。
- 自動ホスト型アプリはSharePoint Onlineでのみ使用でき、オンプレミスファームではサポートされていません。
これは、App Modelの章ですでに説明した同じ例です。
Visual Studioを開き、[ファイル]→[新規]→[プロジェクト]メニューオプションを選択して、SharePointホストアプリケーションの簡単な例を見てみましょう。
- ステップ1 *-Visual Studioを開き、[ファイル]→[新規]→[プロジェクト]メニュー*を選択します。
ステップ2 *-左側のペインで*テンプレート→Visual C#→Office/SharePoint *を選択し、中央のペインで *App for SharePoint を選択します。
[名前]フィールドに名前を入力し、[OK]をクリックすると、次のダイアログボックスが表示されます。
SharePoint用の新しいアプリでは、デバッグするSharePointサイトのURLを追加し、SharePoint用のアプリをホストする方法としてSharePointホストモデルを選択する必要があります。
- ステップ3 *-SharePoint管理センターに移動して、SharePoint URLをコピーします。
- ステップ4 *-以下に示すように、[SharePoint用の新しいアプリ]ダイアログボックスにURLを貼り付けます。
- ステップ5 *-[次へ]をクリックすると、[SharePointに接続]ダイアログボックスが開き、ログインする必要があります。
- ステップ6 *-資格情報を入力し、[サインイン]ボタンをクリックします。 SharePointサイトに正常にログインすると、次のダイアログボックスが表示されます-
ステップ7 *-*完了*をクリックします。 プロジェクトが作成されたら、ソリューションエクスプローラーで *AppMenifest.xml ファイルをクリックします。
- ステップ8 *-*許可*タブをクリックします。 [スコープ]ドロップダウンリストが開きます。
- ステップ9 *-[スコープ]ドロップダウンリストで、[Web]を選択します。これは、構成する権限のスコープです。 [アクセス許可]ドロップダウンリストで、構成するアクセス許可の種類である[読み取り]を選択します。
- ステップ10 *-Default.aspxファイルを開き、次のコードに置き換えます。
<%-- The following 4 lines are ASP.NET directives needed when
using SharePoint components --%>
<%@ 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" %>
<%-- The markup and script in the following Content element
will be placed in the <head> of the page --%>
<asp:Content ID = "Content1" ContentPlaceHolderID = "PlaceHolderAdditionalPageHead"
runat = "server">
<script type = "text/javascript" src = "../Scripts/jquery- 1.6.2.min.js"></script>
<link rel = "Stylesheet" type = "text/css" href = "../Content/App.css"/>
<script type = "text/javascript" src = "../Scripts/App.js"></script>
</asp:Content>
<asp:Content ID = "Content2" ContentPlaceHolderID = "PlaceHolderMain"
runat = "server">
<script type = "text/javascript">
function hello() {
var currentTime = new Date();
$get("timeDiv").innerHTML = currentTime.toDateString();
}
</script>
<div id = "timeDiv"></div>
<input type = "button" value = "Push me!" onclick = "hello();"/>
</asp:Content>
- ステップ11 *-ソリューションエクスプローラーに移動し、プロジェクトを右クリックして[公開]を選択します。 [アプリのパッケージ化]ボタンをクリックします。 これにより、SharePointでホストされるアプリが構築され、SharePointサイトへの展開のために準備されます。
- .appファイルを含む次のフォルダーが表示されます。
- ステップ12 *-SharePointオンラインサイトに移動します。
ステップ13 *-左ペインで[ *Apps for SharePoint ]をクリックします。 新しいページが開きます。
- ステップ14 *-ファイルをここにドラッグしてアップロードします。
ファイルがアップロードされると、次のページが表示されます-
- ステップ15 *-左ペインのオプション-*サイトの内容*をクリックします。 次のスクリーンショットに示すように、*アプリを追加*アイコンをクリックします-
新しいページが開きます。
- ステップ16 *-左ペインで[*アプリ]→[組織から]を選択すると、アプリがインストール可能になっていることがわかります。 アプリをクリックします。
ステップ17 *-アプリをクリックすると、次のスクリーンショットに示すようなダイアログボックスが開きます。 [ *Trust ]をクリックします。
- ステップ18 *-アプリがインストールされていることがわかります。 インストールが完了したら、アプリをクリックできます。
あなたは1つのボタンが含まれている次のページが表示されます-
*Push me* ボタンをクリックすると、現在の日付が表示されます。
自動ホスト
新しいプロジェクトを作成して、 Autohosted の簡単な例を見てみましょう。
ステップ1 *- SharePoint 2013向けアプリ*を選択し、 OK をクリックします。
- ステップ2 *-自動ホストを選択します。
- ステップ3 *-ASP.NET MVC Webアプリケーションを選択し、[完了]をクリックします。
プロジェクトが作成されたら、アプリを公開します。 残りの手順は、SharePointがホストするオプションの場合と同じです。