Sharepoint-quick-guide

提供:Dev Guides
移動先:案内検索

SharePoint-概要

このチュートリアルでは、SharePoint開発の開始方法について説明します。 Microsoft SharePointは、ブラウザーベースのコラボレーション、ドキュメント管理プラットフォーム、およびコンテンツ管理システムです。 このチュートリアルを完了すると、SharePointの概要と、SharePointの高レベルの機能領域と機能についての理解が深まります。

SharePointとは

SharePointは、コラボレーションおよびコンテンツ管理システムをサポートするプラットフォームです。 これは、中央のWebベースのポータルです。 SharePointを使用すると、同僚や自分のドキュメント、ソーシャルアクティビティ、データ、情報を管理できます。

  • これにより、グループはドキュメント共有のために、パスワードで保護された集中管理されたスペースをセットアップできます。
  • ドキュメントを保存、ダウンロード、編集した後、アップロードして共有を継続できます。
  • SharePointには非常に幅広い機能が用意されているため、1人のユーザーがすべてのワークロードの専門家になることは非常に困難です。

SharePointでできることを理解しましょう。 それは3つの別々の領域に分かれています-

SharePointエリア

コラボレーション

コラボレーションという用語には、SharePointの非常に強力なテーマが含まれています。 これは、エンタープライズコンテンツ管理、Webコンテンツ管理、ソーシャルコンピューティング、人の発見可能性、スキルなど、さまざまなタイプのコラボレーションを通じて人々を結び付けることを意味します。

  • SharePoint 2013では、コラボレーションはAppsによって管理されます。
  • 開発者は、SharePoint用のコラボレーションを管理するだけでなく、独自のSharePoint用アプリを拡張、カスタマイズ、または構築できます。

相互運用性

SharePointは、次のような相互運用性を通じてこのコラボレーションを結び付けることでもあります-

  • OfficeおよびWebベースのドキュメント統合。
  • 基幹業務データをSharePointおよびOfficeと統合する安全でカスタムのソリューションを構築および展開する機能。
  • 幅広いWebテクノロジーとの統合、またはクラウドへのアプリケーションの展開。

プラットフォーム

また、SharePointは、相互運用性とコラボレーションだけでなく拡張性もサポートするプラットフォームであり、豊富なオブジェクトモデル、充実した開発者ツールセット、成長する開発者コミュニティを通じてサポートされます。

  • 重要なパラダイムシフトの1つは、SharePointのクラウドの概念です。
  • クラウドは、次のような新しいアプリモデルを導入します-
  • SharePointアプリケーションを開発、展開、およびホストする新しい方法。
  • OAuthを介した新しい認証形式。
  • ODataとRESTを使用したデータの相互運用性の新しい方法。

SharePoint-タイプ

この章では、SharePointでの作業を開始するためのさまざまな種類とバージョンについて説明します。

SharePointをインストールして使用するには、主に3つの方法があります-

  • SharePoint Foundation
  • SharePointサーバー
  • Office 365

最初の2つのオプションはSharePointオンプレミスですが、Office 365はSharePointの3番目の完全なクラウドホストモデルとして登場しました。

SharePoint Foundation

SharePoint Foundationは、安全で管理可能なWebベースのコラボレーションプラットフォームを必要とする組織にとって不可欠なソリューションです。 SharePoint Foundationは、SharePointに含まれる基本的なコラボレーション機能を提供します。

  • SharePoint Foundationは、無料のダウンロード可能なインストールとして出荷され、SharePointの基本部分を表します。
  • これには、セキュリティと管理、ユーザーとチームのサイトコラボレーション、および多数のアプリ(ドキュメントライブラリやリストなど)などの多数の機能が含まれています。
  • 本質的には、SharePointの使用と開発の両方を開始できる機能のベースラインセットを提供します。

SharePoint Foundationでは、組織内で標準的なコラボレーションおよびコミュニケーションソリューションを構築するためのいくつかの機能が必要です。 SharePoint Foundationの主要な機能は、ドキュメント管理とコラボレーションを中心に展開されます。

SharePoint Foundationの主な機能

以下は、ビジネスで広く採用されている主な機能の一部です。

  • 効果的なドキュメントとタスクのコラボレーション-チームのWebサイトは、中央の場所にある情報へのアクセスを提供します。
  • 実装と展開のリソースの削減-Windows Serverのお客様は、SharePoint Serverを無料でダウンロードできます。これにより、実装の時間とコストが大幅に削減されます。
  • 組織の重要なビジネスデータのより良い制御-SharePoint Foundationは、データおよび情報の管理とセキュリティのための機能も提供します。
  • コラボレーションのためにWebを採用-SharePoint Foundationを拡張およびカスタマイズする

要するに、SharePoint Foundationは、SharePointのコアコンテンツストレージおよびコラボレーション機能を代表しています。 これは、安全で使いやすいコラボレーションワークスペースで相互に作業する能力を向上させたいチームや小規模組織にとって理想的なエディションです。

SharePointサーバー

SharePoint Serverは、SharePoint Foundationで提供される機能を拡張する豊富な機能を提供します。 組織のソリューションで利用できる豊富で高度な機能のコレクションを提供します。

SharePoint Serverの主な機能

これらの追加機能のいくつかは、次のリストに記載されています-

  • 高度な検索-サーバーのバージョン内で利用可能な検索機能および機能機能は、より柔軟性を提供します。 カスタマイズされた検索Webパーツで構成できるカスタマイズされた検索結果ページを使用できます。
  • * Webコンテンツ管理*-SharePoint Serverは、インターネット用のWebコンテンツの作成と公開をサポートしています。
  • エンタープライズサービス-これらのサービスは、Office製品ファミリ内で利用可能なツールを使用してカスタムソリューションを迅速かつ簡単に構築する方法を提供します。
  • Business Connectivity Services -Business Connectivity Services(BCS)を使用すると、これらの外部データソースに接続し、Webパーツ、ユーザープロファイル、またはSharePointリストを介してビジネスデータを表示できます。
  • ソーシャルネットワーキングとコンピューティング-ソーシャルネットワーキングはどこにでもあり、多くのソリューションの期待される機能セットになっています。
  • レコード管理-SharePoint Serverは、ライフサイクル全体を通してコンテンツの管理に優れたサポートを提供します。

Office 365

Office 365は、SharePointの3番目の完全なクラウドホストモデルとして登場しました。 これは、独自のオンプレミスデータセンターで独自のファームをホストするための代替オプションです。

Office 365の主な機能

  • Office 365を介してSharePoint Onlineのライセンスを取得するためのオプションは、追加するユーザーの数、保存する必要のあるデータの量、使用可能な機能などの要因に基づいています。
  • また、オンプレミスインフラストラクチャの管理コストをかけずに、豊富なアプリケーション(SharePointホストアプリケーションとクラウドホストアプリケーションの両方)を開発し、拡張できる絶好の場所になりました。
  • SharePoint Serverと同じサービスと機能をすべて備えているわけではありませんが、優れた開発機能を備えています。
  • C#またはVisual Basicを使用して構築し、.WSPまたは.APPとしてSharePointに展開する.NETアプリケーションがあります。 HTML5やJavaScriptアプリなどの軽量アプリもデプロイできます。
  • 開発者は、SharePoint Foundation、Server、Office 365のいずれであっても、SharePointエディションのいずれかをカスタマイズできます。

SharePoint-機能

この章では、開発を行わずにプラットフォームを活用できるようにする、SharePointに組み込まれているデフォルトの機能セット(または機能)について説明します。

  • アプリを構築するときに、これらのコア機能を使用または拡張できます。 マイクロソフトはこれまで、これらの機能をワークロードと呼んでいました。
  • これらのワークロードは、SharePointのさまざまな機能を統合する方法について説明する方法を提供します。 これらのワークロードは、関連するアプリケーションのコアセットを表すだけでなく、アプリケーション開発の機会としても表示されるはずです。

以下は、SharePoint 2010で追加されたワークロードです-

  • サイト-使用可能なさまざまなタイプのサイトとこれらのサイト内の機能を表します。
  • コミュニティ-ブログやウィキなどのコミュニティおよびソーシャル機能を表します。
  • コンテンツ-エンタープライズコンテンツ管理のコア機能を表します。
  • 検索-検索駆動型の機能を表します。
  • 洞察-KPIなどのビジネスインテリジェンス機能を表します。
  • コンポジット-たとえば、Business Connectivity Servicesを使用して外部アプリケーションを統合する機能を表します。

SharePoint 2013 –機能

SharePoint 2013では、Microsoftは機能を拡張して機能を追加し、より緊密な統合を実現しています。

SharePoint 2013のコア機能は次のとおりです-

Capability Native Features Example Extensibility
Sites Sites is where you will find the collaborative aspects of SharePoint. Sites contain an abundance of features, including the capability to create, store, and retrieve data, and manage, tag, and search for content, documents, and information. You also have connectivity into the Microsoft Office 2013 client applications through the list and document library. Sites, site templates, Apps for SharePoint, workflow, master pages, site pages
Social Provides social and social networking capabilities, newsfeeds, and profile searching and tagging, along with the capability to search, locate, and interact with people through their skills, organizational location, relationships, and rating of content. Search customization, rating and tagging capabilities, blogs, wikis, metadata tags
Content Contains the capability to explore, search, and manage content using Web pages, apps, workflow, or content types. Apps for SharePoint, workflows, Word or Excel Services
Search The ability to search content inside and outside of SharePoint in a rich and dynamic way with real-time document views through Office Web Apps. In addition, the integration of information in structured database systems and on-premises or cloud-based LOB systems such as SAP, Siebel, and Microsoft Dynamics. SharePoint Search, Search customization, Business Data Connectivity (BDC)
Insights Predominantly about BI and support, for example, the capability to integrate Microsoft Access into SharePoint; leverage Excel and SQL Server to access and display data on a Web page; enable the use of dashboards and key performance indicators (KPIs) to transform raw data into actionable information. Excel Services, Access Services, dashboards, BDC, PerformancePoint Services
Interoperability Ranges from LOB integration to Office integration, through the new Apps for Office application model; (think HTML and JavaScript-fueled custom task panes that link to cloud services instead of VSTO managed code add-ins) to custom solution development. BDC, Apps for Office, custom development
Branding Changing the look and feel of your site through built-in template changes or more detailed and organizationally driven branding. Out of the box configuration, master pages and customized Apps for SharePoint

SharePoint-セットアップ環境

この章では、SharePointの開発環境をセットアップします。 既にご存知のように、SharePointには3つの異なるオプションがあります。 彼らは-

  • SharePoint Foundation
  • SharePointサーバー
  • Office 365

この章では、クラウドベースのバージョンであるOffice 365を使用します。

Office 365

  • ステップ2 *-無料試用オプションをクリックします。 新しいページが開きます。

無料トライアル

  • ステップ3 *-必要な情報を入力し、[次へ]をクリックすると、次のページが表示されます。

情報を入力

  • ステップ4 *-ユーザー名、会社名、パスワードを入力し、[次へ]をクリックします。 確認コードが送信されます。 検証が完了すると、アカウントの作成が開始されます。

情報の保存

  • ステップ5 *-アカウントが作成されると、次のページが表示されます。

作成されたアカウント

  • ステップ6 *-*準備完了*をクリックすると、次のページが表示されます-

ページの確認

これで環境の準備が整い、共有ポイントの開発を開始できますが、Visual Studioもインストールする必要があります。

Microsoftは無料のvisual studioを提供しています。これにはSQL Serverも含まれており、https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspxからダウンロードできます。

インストール

次の手順に従って、SharePointをインストールします。

  • ステップ1 *-ダウンロードが完了したら、インストーラーを実行します。 次のダイアログが表示されます。

Visual Studio

  • ステップ2 *-[インストール]をクリックすると、インストールプロセスが開始されます。

Visual Studioのインストール

  • ステップ3 *-インストールプロセスが正常に完了すると、次のメッセージが表示されます-

セットアップ完了

  • ステップ4 *-必要に応じてコンピューターを再起動します。 [スタート]メニューからVisual Studioを開きます。 次のダイアログボックスが開き、準備に時間がかかります。

Visual Studioの準備

  • ステップ5 *-すべてが完了すると、Visual Studioのメインウィンドウが表示されます。

メインウィンドウ

これで、アプリケーションを開始する準備ができました。

  • ステップ6 *-[ファイル]→[新規]→[プロジェクト]メニューオプションを選択します。

新しいプロジェクト

ステップ7 *-*テンプレート→Visual C#*の下の左ペインでOffice/SharePointを選択します。 [ *Office Developer Tools をインストール]をダブルクリックします。

Office開発者ツールのインストール

  • ステップ8 *-*インストール*をクリックして、すべてのVisual Studioインスタンスを閉じます。 新しいページが開きます。 [次へ]をクリックします。

インストールをクリック

  • ステップ9 *-メッセージボックスが表示されます。 [更新]をクリックします。

更新

  • ステップ10 *-更新されると、次のようなメッセージが表示されます-

更新完了

SharePoint-サイトコレクションの作成

このサイトはSharePointの中核となるものであり、開発者の出発点となります。サイトコレクションがないと、SharePoint開発を開始できません。 Microsoft SharePointオンラインサイトコレクションは、サブサイトを含むトップレベルサイトです。

使用できるサイトテンプレートは多数あります。 サブサイトは管理設定、ナビゲーション、およびアクセス許可を共有します。これらはそれぞれ、必要に応じて個々のサブサイトに対して変更できます。

サイトコレクションを作成する

SharePointなどのアプリケーションを学習する場合、既存の環境またはユーザーに影響を与えずに演習を実行できる領域を作成することをお勧めします。

  • ステップ1 *-新しいサイトコレクションを作成するには、サイトhttps://portal.office.com/にアクセスします。

サイトコレクションの作成

  • ステップ2 *-管理アイコンを選択すると、次のページが表示されます-

管理者アイコンの選択

ステップ3 *-左ペインで[リソース]→[サイト]を選択します。 右側のペインで、[*サイトの追加]をクリックします。

サイトの追加

  • ステップ4 *-次のページが開きます。 必要な情報を入力して、[OK]をクリックします。

サイトタブ

サイトコレクションが管理センターのURLリストに追加されていることがわかります。 URLは、管理者がサイトの作成と管理を開始できるサイトコレクションの場所です。

サイトコレクション

  • ステップ5 *-リンクをクリックすると、そのサイトコレクションに関する詳細情報が表示されます。

リンクをクリック

SharePoint-API

この章では、SharePointプラットフォームにアクセスするためのいくつかのAPIセットについて説明します。

APIの選択は、次の異なる要因に依存します-

  • アプリケーションタイプ
  • 開発者の既存のスキル
  • コードが実行されるデバイス

アプリケーションタイプ

などのアプリケーションのさまざまな種類があります-

  • SharePointアドイン
  • SharePointページのWebパーツ
  • クライアントコンピューターまたはクライアントモバイルデバイスで実行されているSilverlightアプリケーション
  • SharePointで公開されているASP.NETアプリケーション
  • SharePointサイトページで実行されているJavaScript
  • SharePointアプリケーションページ
  • クライアントコンピューターで実行されているMicrosoft .NET Frameworkアプリケーション
  • Windows PowerShellスクリプト
  • SharePointサーバーで実行されているタイマージョブ

開発者の既存のスキル

次のプログラミングモデルのいずれかを既に経験している場合、SharePointプログラミングについて多くを学ぶ必要なく、SharePointでアプリケーションを簡単に作成できます。

  • JavaScript
  • ASP.NET
  • REST/OData
  • 。ネットフレームワーク
  • ウインドウズの電話
  • シルバーライト
  • Windows PowerShell

コードが実行されるデバイス

コードが実行されるデバイスは、次のいずれかになります-

  • SharePointファーム内のサーバー。
  • クラウド内のサーバーなどの外部サーバー。 *クライアントコンピューターとモバイルデバイス。

次の表は、一般的なSharePoint拡張性プロジェクトの選択リストに使用できるさまざまなAPIセットのガイダンスを示しています。

S.No. API & Usage
1
  • .NET Framework client object model, Silverlight client object model, REST/OData endpoints*

SharePointデータまたはBCS外部コンテンツタイプによってSharePointに表示される外部データに対してCRUD操作を実行するASP.NET Webアプリケーションを作成しますが、ファイアウォールを介してSharePointを呼び出す必要はありません。

2

REST/OData endpoints

SharePointデータまたはBCS外部コンテンツタイプによってSharePointに表示される外部データに対してCRUD操作を実行するLAMP Webアプリケーションを作成します。

SharePointデータに対してCRUD操作を実行するiOSまたはAndroidアプリを作成します。

3

Mobile client object model

SharePointデータに対してCRUD操作を実行するWindows Phoneアプリを作成します。

4

Mobile client object model and the server object model

Microsoftプッシュ通知サービスを使用して、SharePointのイベントをモバイルデバイスに警告するWindows Phoneアプリを作成します。

5

.NET Framework client object model

SharePointデータに対してCRUD操作を実行する.NET Frameworkアプリケーションを作成します。

6

Silverlight client object model

SharePointデータに対してCRUD操作を実行するSilverlightアプリケーションを作成します。

7

JavaScript client object model

SharePointデータに対してCRUD操作を実行するHTML/JavaScriptアプリケーションを作成します。

SharePointと連携するOfficeアドインを作成する

8

Server object model

カスタムWindows PowerShellコマンドを作成します。

タイマージョブを作成します。

サーバーの全体管理の拡張機能を作成します。

SharePointファーム全体で一貫したブランドを作成します。

カスタムWebパーツ、アプリケーションページ、またはASP.NETユーザーコントロールを作成します。

SharePoint-サーバーの全体管理

この章では、SharePointサーバーの全体管理の概要について説明します。 中央管理は、中央の場所から管理タスクを実行できる場所です。 既にOffice 365にサインアップしているため、管理サイトもあります。

ブラウザでURL [[1]]

  • ステップ1 *-管理アイコンを選択します。

管理アイコン

  • ステップ2 *-左ペインで*管理センター→SharePoint *を選択します。

管理センター

次のページが開きます。

管理タブ

さまざまなサイトコレクション管理機能を確認し、次のアクティビティを管理できます-

  • アプリケーション管理
  • モニタリング
  • セキュリティ
  • 一般的なアプリケーション設定
  • システム設定
  • バックアップと復元
  • アップグレードと移行
  • 構成ウィザード
  • Apps

アプリケーション管理

アプリケーション管理では、新しいWebアプリケーションやサイトコレクションの作成などのタスクを実行できます。 Word、Excel、BCSなど、SharePointサイトにインストールされているサービスを管理し、コンテンツデータベースを管理できます。

コンテンツデータベースのプロパティの変更、機能のアクティブ化、新しいサイトコレクションの作成などのタスクを実行することもできます。

モニタリング

監視は、レポート、監視、およびSharePointサイトの状態を管理できる中心的な場所です。 監視サイトは、次の3つの領域に分かれています-

  • 健康状態-SharePoint Serverのさまざまなサービスの状態を確認できます。
  • タイマージョブ-特定のジョブを定義し、いつ実行するかを決定できます。
  • レポート-レポートの作成と管理、診断ログの実行、さまざまなサーバー側のアクティビティに関するレポートの表示を可能にするツールのセット。

セキュリティ

セキュリティ設定は、ユーザーとサイト管理者がサイトのユーザーに関連する特定の権限を評価できるメインブラウザーUIのセキュリティに関するものです。 セキュリティは、次のような多くの分野をカバーしています-

  • 管理者アカウントの管理
  • サービスアカウントの構成と管理。
  • パスワード変更設定とポリシーの管理。
  • 認証プロバイダー、信頼できるIDプロバイダーの仕様。
  • ウイルス対策設定。
  • ブロックされたファイルの種類。
  • セルフサービスセキュリティ。
  • 安全なトークンサービス。

一般的なアプリケーション設定

[一般的なアプリケーションの設定]では、ユーザーにメールを送信するなど、SharePointサイトコレクションおよびサイトの多くの一般的なオプションを構成できます。

また、コンテンツの展開場所やそのコンテンツの承認者など、多数の展開および承認オプションを管理できます。 一般に、このサイトは、SharePointサイトの一般的な設定と考えてください。

システム設定

ファームレベルやアクセス機能などのサーバー中心の設定を構成したり、サイトコレクションのユーザーが利用できるExcelやWord Servicesなどのサービスを管理することもできます。 これらのタイプの設定は、システム設定サイト内から管理します。

バックアップと復元

SharePointサイトのバックアップと復元が必要になる場合があります。 バックアップおよび復元機能を使用すると、SharePointの定期的なバックアップの作成とスケジュール設定、アドホックバックアップの実行、以前にバックアップしたSharePointサイトからの復元などを行うことができます。

アップグレードと移行

場合によっては、SharePoint StandardからSharePoint Enterpriseに移行するなど、SharePointのあるバージョンから別のバージョンにアップグレードすることが必要になる場合があります。 これには、サーバーをアップグレードするためのライセンスと何らかの機能が必要です。

このタイプのアクティビティは、サーバーの全体管理サイトの[アップグレードと移行]セクションで実行できます。 また、管理ツールセットのこの部分から、サービスパッチをインストールし、インストールを確認し、進行状況をアップグレードすることもできます。

構成ウィザード

これは、SharePoint Serverを構成するための段階的なウィザードです。

SharePointを最初にインストールしたときに、このウィザードを見たことがあるはずです。 ただし、インストール後に再度実行して、SharePointサーバーの一部の構成を変更できます。

Apps

アプリは、SharePointインスタンスにインストールされているアプリのさまざまなファセットを管理できる、サーバーの全体管理サイト内の新しいカテゴリです。

たとえば、アプリを使用してライセンスを管理し、アプリがエラーなしで実行および実行されていることを確認し、アプリカタログを管理することもできます。

SharePoint-アプリモデル

この章では、SharePoint展開アプリモデルについて説明します。 SharePointはクラウドに移行しているため、次の展開モデルを使用してSharePoint用アプリを使用できます-

  • SharePointホスト
  • 自動ホスト

SharePointがホストするアプリ

SharePointがホストする展開タイプは、クライアント側の軽量アプリをSharePointに展開する方法を表します。 SharePointがホストするアプリを、サーバー側のコードを持たないアプリケーションと考える最も簡単な方法。

SharePointがホストするアプリの主な機能は次のとおりです-

  • これは、クライアント側のコーディングを可能にするHTMLおよびJavaScriptファイルのような、SharePointに常駐する静的アプリケーションファイルまたはページで構成されるアプリケーションです。
  • ユーザーがSharePointホストアプリケーションにアクセスすると、アプリケーションを含むページにリダイレクトされます。
  • SharePointがホストする展開タイプは、ブランドリストビュー、メディアアプリ、天気アプリなどの軽量アプリに適しています。
  • SharePointがホストする展開モデルを活用することにした場合、サーバーで実行されないコードに制限されます。
  • SharePointでSilverlightを使用し、JavaScriptとともにHTMLを利用できます。

SharePointでホストされるアプリケーションの簡単な例を見てみましょう。

  • ステップ1 *-Visual Studioを開き、[ファイル]→[新規]→[プロジェクト]メニュー*を選択します。

プロジェクトメニュー

ステップ2 *-左側のペインで*テンプレート→Visual C#→Office/SharePoint *を選択し、中央のペインで *App for SharePoint を選択します。

[名前]フィールドに名前を入力し、[OK]をクリックすると、次のダイアログボックスが表示されます。

SharePoint用アプリ

SharePoint用の新しいアプリでは、デバッグするSharePointサイトのURLを追加し、SharePoint用のアプリをホストする方法としてSharePointホストモデルを選択する必要があります。

  • ステップ3 *-SharePoint管理センターに移動して、SharePoint URLをコピーします。

SharePoint URL

  • ステップ4 *-以下に示すように、[SharePoint用の新しいアプリ]ダイアログボックスにURLを貼り付けます。

SharePointの新しいアプリ

  • ステップ5 *-[次へ]をクリックすると、[SharePointに接続]ダイアログボックスが開き、ログインする必要があります。

SharePointに接続

  • ステップ6 *-資格情報を入力し、[サインイン]ボタンをクリックします。 SharePointサイトに正常にログインすると、次のダイアログボックスが表示されます-

サインイン

ステップ7 *-*完了*をクリックします。 プロジェクトが作成されたら、ソリューションエクスプローラーで *AppMenifest.xml ファイルをクリックします。

AppMenifest.xml

  • ステップ8 *-*許可*タブをクリックします。 [スコープ]ドロップダウンリストが開きます。

権限タブ

  • ステップ9 *-[スコープ]ドロップダウンリストで、[Web]を選択します。これは、構成する権限のスコープです。 [アクセス許可]ドロップダウンリストで、構成するアクセス許可の種類である[読み取り]を選択します。

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オンラインサイトに移動します。

SharePointに移動

ステップ13 *-左ペインで[ *Apps for SharePoint ]をクリックします。 新しいページが開きます。

SharePoint用アプリ

  • ステップ14 *-ファイルをここにドラッグしてアップロードします。

ファイルのアップロード

ファイルがアップロードされると、次のページが表示されます-

アップロードされたファイルのタブ

  • ステップ15 *-左ペインのオプション-*サイトの内容*をクリックします。 次のスクリーンショットに示すように、*アプリを追加*アイコンをクリックします-

サイトコンテンツ

新しいページが開きます。

  • ステップ16 *-左ペインで[*アプリ]→[組織から]を選択すると、アプリがインストール可能になっていることがわかります。 アプリをクリックします。

組織からアプリを選択

ステップ17 *-アプリをクリックすると、次のスクリーンショットに示すようなダイアログボックスが開きます。 [ *Trust ]をクリックします。

ダイアログボックス

  • ステップ18 *-アプリがインストールされていることがわかります。 インストールが完了したら、アプリをクリックできます。

インストール済みアプリ

あなたは1つのボタンが含まれている次のページが表示されます-

ページ

*Push me* ボタンをクリックすると、現在の日付が表示されます。

Push me Button

自動ホスト

  • 自動ホスト*展開モデルは、以前のSharePointアプリケーションから大きく逸脱しています。 このモデルでは、Apps for SharePointを構築しますが、コードはバックグラウンドでWindows Azureにシームレスに展開されるため、SharePointがクラウドホスト型アプリを自動的に作成します。

重要な機能は次のとおりです-

  • SharePoint上で実行されているように見えますが、バックグラウンドで実際に特別なOffice 365 Windows Azureインスタンスにデプロイされ、SharePointで認証および承認されたアプリとして登録されます。
  • Autohosted展開モデルを使用したWindows Azureプラットフォームのプラットフォーム機能全体に完全にアクセスすることはできませんが、興味深いアプリケーションを構築するための十分なプラットフォームはあります。

新しいプロジェクトを作成して、自動ホストの簡単な例を見てみましょう。

ステップ1 *- SharePoint 2013向けアプリ*を選択し、 OK をクリックします。

SharePoint 2013のアプリ

新しいダイアログボックスが開きます。

  • ステップ2 *-*自動ホスト*を選択し、*次*をクリックします。

自動ホストの選択

ステップ3 *-新しいダイアログボックスが開きます。 *ASP.NET MVC Web Application を選択し、 Finish をクリックします。

ASP.NET MVC Webアプリケーション

プロジェクトが作成されたら、アプリを公開します。 残りの手順は、SharePointがホストするオプションの場合と同じです。

SharePoint-統合オプション

この章では、統合オプションについて説明します。 SharePoint 2013の新しいアプリケーションモデルは、アプリケーションがSharePoint、他のシステム、およびデータと深く統合するための多くのオプションを提供します。 これらのオプションは次のとおりです-

  • ユーザーインターフェイスの統合
  • イベントとロジックの統合
  • データ統合

ユーザーインターフェイスの統合

ユーザーインターフェイスの統合では、SharePointアプリケーションモデルの一部として、次の3つの主要な統合ポイントを使用できます。

  • アプリパーツとページ
  • リボンとアクションメニュー
  • ナビゲーション

アプリパーツとページ

アプリパーツとページを使用すると、アプリケーションのユーザーインターフェイスをユーザーに表示できます。 SharePoint 2010に精通している人にとって、アプリパーツはWebパーツに似ています。

  • アプリパーツは、アプリケーションで再利用可能で構成可能なウィンドウです。
  • ページは、より大きく、より完全なウィンドウスタイルで表示されることを除いて、アプリパーツによく似ています。

リボンとアクションメニュー

リボンはSharePoint 2010で初めて導入されました。 ユーザーがドキュメントやその他のデータに対して実行する可能性のあるすべてのアクションの中心的な場所を提供します。

SharePoint 2010では、開発者はアプリケーションのカスタムアクションをリボンに含めることができました。 SharePointアプリケーションでもこのカスタマイズが可能です。 これにより、ユーザーが期待するアクションを、SharePointが提供する他のすべての標準アクションと共に含めることができます。

[アクション]メニューは、SharePointリストまたはライブラリ内のアイテムのコンテキスト対応メニューです。 たとえば、SharePointドキュメントライブラリの[アクション]メニューは、チェックインやチェックなどの一般的な機能を公開します。

このメニューによく使用される別の用語は、コントロールブロックの編集です。

SharePointアプリケーションでは、このメニューに追加のアクションを含めることができます。 たとえば、単一のリストアイテムに適用されるアプリケーションの機能を表示するのに最適な場所です。

ナビゲーション

ユーザーはナビゲーションを使用してアプリケーションを見つけ、リボンおよびアクションメニューと統合することで、ユーザーはSharePointの他の場所と同じ使い慣れた場所でアクションを実行できます。

これらの1つ以上の構成要素を使用すると、アプリケーションのユーザーインターフェイスをSharePointのユーザーインターフェイスと統合し、アプリをユーザーに公開できます。

イベントとロジックの統合

ユーザーにUIを提供することは、通常、アプリケーションの最も顕著な側面です。 一方、ユーザーがアプリケーション内で実行するアクションに応答すること、またはアプリケーションと対話することも非常に重要です。

主な機能は次のとおりです-

  • SharePointアプリケーションは、ボタンクリックなどのアプリケーション内のアクティビティに応答する機能と、チェックアウトされるドキュメントなどのSharePoint内のアクティビティに応答する機能の両方を提供します。
  • アプリケーション内のアクティビティへの応答は非常に簡単です。 アプリケーションのUIとコードはSharePointからリモートで実行され、アプリパーツとページを介して簡単に表示されます。 このため、アプリケーションでボタンがクリックされるなどのイベントへの応答は、アプリケーションのプログラミングフレームワークに完全に関連付けられています。 たとえば、アプリがASP.NETで構築されている場合、ASP.NETボタンの OnClick イベントをキャッチするだけです。
  • SharePointは、これらの種類のイベントに対して邪魔になりません。 保存または更新されるドキュメントなど、SharePoint内で発生するイベントに応答するために、SharePointはイベントレシーバーを提供します。
  • SharePoint 2013は、アプリケーションがSharePointサイト内で発生するイベントに応答できるようにするイベントレシーバーも提供します。

データ統合

データはすべてのアプリケーションの心臓部であり、通常は、ユーザーがアプリケーション内で操作したいものです。 SharePointには、データを保存および操作するためのすぐに使用できるオプションが多数用意されています。 これらのオプションは次のとおりです-

  • SharePoint内でのデータの保存と操作。
  • SharePointの外部にあるデータを操作します。

SharePointの最初のバージョンからの目標は、ユーザーがデータを簡単かつ簡単に操作できるようにすることでした。

この最も簡単な例は、リストデータの概念です。 ユーザーは、共通のWebインターフェイスを介して表形式のデータを保存および操作できます。

多くの人は、データベース内のデータのテーブルを使用することに似たリストを使用することを理解しています。 SharePointアプリケーションは、リストを使用することにより、これらの同じデータストレージ機能をネイティブに活用することもできます。SharePointは、開発者がSharePointが提供する多くのデータストレージ機能を、車輪を再発明することなく活用できるようにします。

SharePointを適切に使用すると、時間と労力を節約でき、運用の管理コストとサポートコストを潜在的に削減できます。

以下は、コアデータストレージ機能です-

  • リスト-構造化データを保存するための、テーブルのようなもの。
  • ライブラリ-文書やファイルなどの非構造化データの保存用。

SharePointは、開発者がアプリケーション内で使用してSharePointにあるデータとやり取りしたり操作したりするための包括的なAPIセットを提供します。 SharePointアプリケーションの場合、これらのAPIは*クライアント側オブジェクトモデル*(CSOM)で公開されます。

これらのオプションの多くは、今後の章で説明します。

SharePoint-開発ツール

この章では、SharePointに関するさまざまなレベルの「開発」について説明します。 各レベルは、何らかの方法でSharePointサイトのエンドユーザーにサービスを提供します。 あなたはこのスペクトルを次のように分けることができます-

  • エンドユーザー-アプリケーションプラットフォームとしてプラットフォームを使用するユーザー。
  • パワーユーザー-サイトを作成および管理する(そしておそらくブランド)サイト。
  • デザイナー-サイトのブランディングとユーザーエクスペリエンスの構築を行うユーザー。
  • 開発者-アプリを構築および展開する人。

開発者からエンドユーザーまで、さまざまな人々がSharePointと対話します。 次の図に示されています

開発

サイト設定

サイト設定は、SharePointの主要部分の1つです。 私たちがそれに精通する必要があることは非常に重要です。

ステップ1 *-[サイトの設定]ページにアクセスするには、 SharePoint管理センター*の*ユーザープロファイル*をクリックします。 [個人用サイトの設定]で[*個人用サイトのセットアップ]オプションをクリックします。

サイト設定ページ

次のページが開きます。

セットアップページ

このページでは、サイトのほとんどの構成を見つけることができます-

  • サイトのテーマを変更します。
  • 機能をアクティブにします。
  • 権限を管理します。
  • ステップ2 *-一部の設定オプションは[設定]でも使用できます。 そのため、左ペインの[設定]をクリックします。

設定

[サイトの設定]ページのコア機能は、主要なカテゴリに分かれていることに注意してください。 たとえば、ほとんどのセキュリティ設定は、[ユーザーとアクセス許可]カテゴリ、Webデザイナーギャラリーのテーマなどで利用できます。

HTMLページを追加

編集エクスペリエンスは、テキストの書式設定から画像やマルチメディアの追加まで多岐にわたります。 SharePointサイト内にHTMLを直接埋め込むことで、コードをさらに理解できます。

このタスクは開発に少し似ているので、HTMLページを追加して簡単な例を見てみましょう。

  • ステップ1 *-SharePointサイトを開き、サイトのホームページに移動します。 [ページ]タブで、[編集]メニューオプションをクリックします。

SharePointサイト

  • ステップ2 *-[挿入]タブで、[コードを埋め込む]オプションをクリックします。

タブの挿入

次のダイアログボックスが開きます-

ダイアログボックス

  • ステップ3 *-以下に示すように、コードフィールドにHTMLコードを追加します-

HTMLコード

  • ステップ4 *-*挿入*をクリックすると、HTMLスニペットが挿入されていることがわかります。

挿入

  • ステップ5 *-*保存*をクリックします。

保存をクリック

HTMLコードがSharePointサイトに挿入されていることがわかります。

メディアファイルを追加

SharePointサイトにMedia Playerアプリを追加するには、SharePointサイトを開き、サイトのホームページに移動します。

  • ステップ1 *-[ページ]タブで、[編集]メニューオプションをクリックします。

編集メニュー

  • ステップ2 *-Webパーツオプションを選択します。

Webパーツオプション

  • ステップ3 *-*カテゴリ*からメディアとコンテンツを選択し、パーツセクションから*メディア付きパーツ*を選択します。 [追加]をクリックします。

パーツ付きメディア

  • ステップ4 *-ページを保存すると、メディアファイルを含む次のページが表示されます。

メディアファイル

SharePointデザイナー

多くの開発者は、SharePointサイトを開発するためのツールとしてSharePoint Designerを使用しないことを好みます。 ただし、ポイントは、SharePoint Designerツールを使用すると、いくつかの開発タスクを簡単にすることができるということです。

重要な機能は次のとおりです-

  • SharePoint Designerは、サイト、ページ、リスト、コンテンツタイプの作成や編集など、SharePointのさまざまなデザイナー機能に使用できます。
  • SharePoint Designerは、ルールベースの宣言型ワークフローを作成し、Visual Studioにインポートして、より深いレベルのカスタマイズを行う場合にも役立ちます。
  • [[2]]
  • SharePoint Designerを初めて開くときは、SharePoint DesignerにSharePointサイトのURLを提供し、昇格したユーザーとして認証する必要があります。
  • SharePoint Designerは、標準のSharePointアクセス許可を継承します。
  • SharePoint Designerでサイトを開くと、ナビゲーション可能な多数のオプションと、サイトメタデータ、権限、サブサイトなど、サイトに関する情報が表示されます。

したがって、SharePoint Designerを使用しますが、まずSharePointサイトを開いてOffice 365を使用してSharePoint Designerをセットアップする必要があります。

  • ステップ1 *-SharePointサイトを開きます。

Open SharePoint Site

  • ステップ2 *-[Office 365設定]メニューオプションを選択します。 左側のペインで[設定]を選択し、中央のペインでソフトウェアを選択します。

Office 365設定

  • ステップ3 *-左ペインで[ツールとアドイン]を選択すると、さまざまなオプションが表示されます。 最後に、SharePoint Designer Optionが表示されたら、リンクをクリックします。

ツールとアドイン

  • ステップ4 *-インストール後にSharePoint Designerを開きます。 [*サイトを開く]オプションをクリックします。

サイトを開く

  • ステップ5 *-SharePointサイトのURLを指定して、[開く]をクリックします。

URLを指定

  • ステップ6 *-SharePoint Designerサイトを開くと、さまざまなオプションが利用できることがわかります。

SharePoint Designerサイト

  • ステップ7 *-リボンの[SharePointリスト]をクリックし、メニューから[タスク]を選択します。

SharePointリスト

  • ステップ8 *-新しいダイアログボックスが開きます。 名前と説明を指定して、「OK」をクリックします。

新しいダイアログボックス

  • ステップ9 *-ポータルを使用して同じサイトに移動すると、サイトにタスクリストが表示されます。

To Doリスト

Visual StudioとExpression Blend

*Visual Studio* および *Blend* を使用して、SharePointサイトにコンテンツを追加することもできます。 Visual Studioは、SharePointでのアプリケーション開発を支援する多くの機能を提供します。それらについて詳しく理解しておくと役立ちます。

Visual Studioを開いて、SharePointがホストするアプリケーションの簡単な例を見てみましょう。 *ファイル→新規→プロジェクト*オプションを選択します。

  • ステップ1 *-Visual Studioを開き、[ファイル]→[新規]→[プロジェクト]メニュー*を選択します。

プロジェクトメニュー

ステップ2 *-左側のペインで*テンプレート→Visual C#→Office/SharePoint *を選択し、中央のペインで *App for SharePoint を選択します。

[名前]フィールドに名前を入力し、[OK]をクリックすると、次のダイアログボックスが表示されます。

SharePoint用アプリ

SharePoint用の新しいアプリでは、デバッグするSharePointサイトのURLを追加し、SharePoint用のアプリをホストする方法としてSharePointホストモデルを選択する必要があります。

  • ステップ3 *-SharePoint管理センターに移動して、SharePoint URLをコピーします。

SharePoint URL

  • ステップ4 *-以下に示すように、[SharePoint用の新しいアプリ]ダイアログボックスにURLを貼り付けます。

SharePointの新しいアプリ

  • ステップ5 *-[次へ]をクリックすると、[SharePointに接続]ダイアログボックスが開き、ログインする必要があります。

SharePointに接続

  • ステップ6 *-資格情報を入力し、[サインイン]ボタンをクリックします。 SharePointサイトに正常にログインすると、次のダイアログボックスが表示されます-

サインイン

ステップ7 *-*完了*をクリックします。 プロジェクトが作成されたら、ソリューションエクスプローラーで *AppMenifest.xml ファイルをクリックします。

AppMenifest.xml

  • ステップ8 *-*許可*タブをクリックします。 [スコープ]ドロップダウンリストが開きます。

権限タブ

  • ステップ9 *-[スコープ]ドロップダウンリストで、[Web]を選択します。これは、構成する権限のスコープです。 [アクセス許可]ドロップダウンリストで、構成するアクセス許可の種類である[読み取り]を選択します。

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オンラインサイトに移動します。

SharePointに移動

ステップ13 *-左ペインで[ *Apps for SharePoint ]をクリックします。 新しいページが開きます。

SharePoint用アプリ

  • ステップ14 *-ファイルをここにドラッグしてアップロードします。

ファイルのアップロード

ファイルがアップロードされると、次のページが表示されます-

アップロードされたファイルのタブ

  • ステップ15 *-左ペインのオプション-*サイトの内容*をクリックします。 次のスクリーンショットに示すように、*アプリを追加*アイコンをクリックします-

サイトコンテンツ

新しいページが開きます。

  • ステップ16 *-左ペインで[*アプリ]→[組織から]を選択すると、アプリがインストール可能になっていることがわかります。 アプリをクリックします。

組織からアプリを選択

ステップ17 *-アプリをクリックすると、次のスクリーンショットに示すようなダイアログボックスが開きます。 [ *Trust ]をクリックします。

ダイアログボックス

  • ステップ18 *-アプリがインストールされていることがわかります。 インストールが完了したら、アプリをクリックできます。

インストール済みアプリ

あなたは1つのボタンが含まれている次のページが表示されます-

ページ

*Push me* ボタンをクリックすると、現在の日付が表示されます。

Push me Button

SharePoint-リスト機能

この章では、エンドユーザーの観点から、リスト、およびビューや検証などのリストの上にある付加価値機能の一部について主に説明します。 エンドユーザーがSharePoint内でコンテンツを作成すると、リストの形式で保存されます。

  • リストは、実際にはSharePoint内のデータストレージメカニズムです。
  • リスト内のアイテムを表示したり、アイテムを追加、編集、削除したり、個々のアイテムを表示したりできるユーザーインターフェイスを提供します。

連絡先リストを追加する簡単な例を見てみましょう。

  • ステップ1 *-SharePointサイトを開き、[サイトコンテンツ]ページに移動します。 現在のコンテンツ、リスト、ライブラリを確認できます。*アプリの追加*をクリックすると、新しいコンテンツを追加できます。

アプリの追加

  • ステップ2 *-それでは、サイトに追加できるものをいくつか見てみましょう-
  • 新しいドキュメントライブラリを作成できます。
  • スキーマを定義するカスタムリストを作成できます。
  • また、タスクリストのような定義済みのスキーマを持つリストもあります。
  • 写真、いくつかのWikiページ、フォーム、リンクリスト、お知らせリスト、連絡先リスト、カレンダーなどを追加できます。

私たちのサイトに追加

  • ステップ3 *-連絡先リストを選択します。

連絡先リスト

  • ステップ4 *-このリスト-*連絡先*を呼び出し、*作成*ボタンをクリックします。

連絡先

  • ステップ5 *-サイトの連絡先に表示されるようになりました。連絡先リストがあり、それをクリックしてリスト内のアイテムを操作できます。

サイトの連絡先

  • ステップ6 *-このリストに新しいアイテムを追加する1つの方法は、この[新しいアイテム]リンクをクリックして、コンテンツに追加することです。

リストの編集

  • ステップ7 *-姓と名を入力し、ツールバーまたはリボンにアクセスして、[保存]をクリックします。

[サイトタブ]

  • ステップ8 *-*編集*リンクをクリックして、リストを編集モードにすることもできます。

リンクの編集

  • ステップ9 *-次に、他の連絡先を追加できます。 編集が終了したら、[編集の停止]をクリックしてバッジ編集モードを終了します。

編集の停止

ページにはすべての連絡先が表示されます。

連絡先タブ

ここでリストを操作しているときの他のいくつかのこと。

ステップ10 *-*リボン*の項目にアクセスするには、 *ITEMS をクリックします。

リボンのアイテム

ステップ11 *-リスト全体に関連する*リボン*アイテムにアクセスするには、ここで *LIST をクリックします。

リボンアイテム

SharePoint-追加リスト機能

SharePointは、リストに対して多くの機能を提供します。 リストデータ用のストレージ、リストスキーマのカスタマイズ機能、リストアイテムの表示、追加、編集、削除などの機能を提供します。 リストデータのビューの作成、フィールドレベルとリストレベルの両方での簡単な検証、コンテンツの承認、アイテムのバージョン管理など、さらに多くの機能が利用できます。

ビュー

リストデータの Views で作業を始めましょう。 ここで著者リストに戻ります。ご存じのとおり、追加したアイテムは4つだけです。 アイテムが4つしかないため、データから必要な情報を収集するのは難しくありません。

アイテムの数が4から50から100に、たとえば500に増えると、リストを一目見ただけで必要な情報をすばやく取得することがますます難しくなります。 この問題に対処するために、SharePointではリストに複数のビューを作成できるため、必要のない情報などを除外できます。

  • フィールド値をソートできます。
  • 情報をグループ化できます。
  • 合計を取得できます。
  • 情報を表示するさまざまな方法もあります。

ほとんどのリストでは、リストを作成すると、デフォルトで1つの*ビュー*が取得されます。 これは All Items View と呼ばれ、それは上記の例で見たビューです。

次に、カスタムビューを作成する方法を見てみましょう。 リストスキーマの作成と同様に、SharePointには、ビューの作成に使用できるいくつかの異なる方法があります。 1つの方法は、既存のビューから始めて、異なる列のソートとフィルタリングを変更することです。 希望どおりにデータを取得し、新しいビューとして保存できます。

他の列ヘッダーに移動すると、ほとんどの列ヘッダーに小さなドロップダウンメニューが表示され、以下に示すように給与/レートヘッダーにアクセスできます。

カスタムビュー

他の列ヘッダー-Bioに移動します。 複数行のテキストが含まれているため、ドロップダウンリストはありません。 他の列にはこのオプションがあります。 情報を並べ替えたり、フィルタリングしたりすることができます。

ここで、従業員のみを表示するフィルターを作成しましょう。

フィルターの作成

そのフィルターを追加すると、列ヘッダーにこれらのフィールド値がフィルターされたことを示す小さなアイコンがあることに注意してください。 降順に並べ替えましょう。

フィルターの追加

これで、データの新しいビュー、つまり 降順ビュー。

データの新しいビュー

現在、フィルタリングとソートは保持されません。 したがって、将来のために降順ビューを保存する必要があります。

Authorsリストに戻ると、 All Items が表示されます。 *従業員*のみのビューを給与/レートの降順でソートする場合は、*このビューを保存*オプションをクリックします。

このビューを従業員ビューと呼びます。 このビューをすべてのユーザーが使用できるようにするか、自分だけが使用できるようにするかを指定されたオプションから選択します。 保存をクリックします。

ビューの保存オプション

これで、[すべてのアイテム]ビューと[従業員]ビューの2つの異なるビューができました。以下のスクリーンショットに示すように、リストビューの上部にあるリンクを使用してこれらのビューを切り替えることができます。

作成者タブ

検証

SharePointリストのフィールドとアイテムに簡単な検証ルールを追加します。 作成者リストを作成したときに、さまざまなフィールドタイプのプロパティを使用していくつかの検証ルールを追加しました。

著者のリストから[新しいアイテム]をクリックします。 次に、[保存]をクリックします。

[保存]をクリックすると、2つのエラーが表示されます。 これは、名前と給与/レートが必須フィールドであることを示しているためです。

必須フィールド

名前と給与/レートをそれぞれAamir Jameelと1500として入力します。 [保存]をクリックします。

フィールドの編集

ご覧のとおり、フィールドを作成したときに、値が0〜1000の間である必要があり、1500はその要件を満たしていないため、給与/レートにまだ問題があります。 キャンセルをクリックします。

リボンの[リスト]タブに移動し、[リストの設定]をクリックします。 [名前]をクリックします。 以下のスクリーンショットでわかるように、必須フィールドです。

リスト設定

戻って、Salary/Rateをクリックし、下にスクロールします。 これは必須フィールドでもあることがわかります。

給与率に戻る

ここで、有効な値の範囲も設定しました。 それで、フィールドタイプにこれらのプロパティがあれば良いのですが、持っていない場合はどうしますか? さて、簡単なカスタム検証を追加できます。 下にスクロールすると、列の検証用の領域があることがわかります。 それを拡大しましょう。 ここで、式を指定し、ユーザーが入力した値がその式を満たさない場合にメッセージを表示できます。

サイトフィールド

SharePointで数式を作成することに慣れていない場合は、その方法に関するヘルプを提供するリンクがあります。

フィールドタイプ

ここで追加する検証は、あなたが従業員ではない場合、給与/レートが時間あたりのレートを示し、レートの最大値が&dollar; 50.00であると言うことです。 したがって、ここでは、検証はEmployeeフィールドとSalary/Rateフィールドの両方の値に依存します。 したがって、これらのフィールドのいずれかに検証を追加する代わりに、アイテムに検証を追加してから、リストの設定に移動して、アイテムの検証を示します。

検証

[検証設定]をクリックし、以下に示すように式を設定します。

検証設定

条件は非常に単純になります。まず、あなたは従業員ですか? したがって、あなたが従業員である場合は、すでに給与値の有効範囲を0〜1000に設定しています。 したがって、True値のみが返されます。 あなたが従業員でない場合、給与/レートが50以下であるかどうかを確認します。

この式がTrueを返す場合、アイテムは有効と見なされます。 falseを返す場合、無効です。 最後に、「投稿者の最大レートは&dollar; 50」というエラーメッセージを追加します。

これで検証設定が完了しました。 保存をクリックします。

作成者リストに戻り、新しいアイテムを追加します。 これにTestという名前を付け、Employeeチェックボックスをオンにして(従業員をテストしているため)、Salary/Rate as 800を入力し、Saveをクリックします。

著者リスト

データが保存されました。 エラーはありませんでした。 次に、さまざまな条件を入力しましょう。 著者リストに移動します。 これをテスト2と名付けます。

著者リストの条件

従業員は寄稿者であると仮定しているため、従業員チェックボックスは選択しないでください。 「給与/レートは800」と入力し、[保存]をクリックします。

エラーメッセージが表示されます。 したがって、Salary/Rateを有効な値に変更しましょう。

[給与/レート]フィールドに40と入力します。

給与率フィールド

保存をクリックします。

次のスクリーンショットに示すように、データが適切に保存され、リストで更新されていることがわかります。

保存されたデータ

ルックアップフィールド

リストの関係とルックアップフィールドを見てみましょう。 コースに関する情報を保持する新しいリストを作成します。

  • ステップ1 *-*サイトコンテンツ→「アプリの追加」→カスタムリスト*に移動します。

カスタムリストの追加

  • ステップ2 *-コースのリストを指定して、[作成]をクリックします。 コースリストを開きます。 タイトルと呼ばれる列が1つだけあり、コースのタイトルを表します。

コース一覧

  • ステップ3 *-著者の名前を保持する2番目の列を作成します。 リボンのリストに移動します。 列の作成をクリックします。

リボンのリスト

ステップ4 *-この列に *Author という名前を付けます。 ユーザーが著者名を入力するテキストを1行だけ入力できます。 ただし、作成者リストには既に作成者名が含まれているため、代わりにドロップダウンリストをユーザーに表示し、そこで作成者を選択できます。 したがって、1行のテキストフィールドを作成する代わりに、ルックアップフィールドを作成します。

著者としての列

  • ステップ5 *-次に、どのリストからどのフィールドをユーザーに表示するかを指定する必要があります。 SharePointはデフォルトで適切な値を設定していますが、リストを変更する場合は、ドロップダウンリストから選択できます。 完了したら、[OK]をクリックします。

列の作成

  • ステップ6 *-このコースはSharePointチュートリアルであり、作成者のドロップダウンリストがあることがわかります。

著者のドロップダウンリスト

リストデータストレージ

リストのデータは行と列に保存されます。 すべてのコンテンツデータベースには、リストのデータを格納するテーブルが1つあります。 リストを相互に関連付け、関係の整合性を強制し、検証できます。

リレーショナルデータベースの多くの機能がリストとともに存在し、リストのセットがほぼリレーショナルデータベースのようになると人々はよく思いますが、そうではありません。

リストをExcelワークシートのセットのように考える必要があります。1つのワークシートを別のワークシートにリンクし、簡単なフォームを使用して列またはセルの検証を強制できます。 したがって、SharePointのリストのセットは、リレーショナルデータベースのようなものではありません。

SharePoint-カスタムリスト

連絡先リストを作成したときに行ったような定義済みのスキーマを使用する代わりに、リストスキーマを定義するカスタムリストを作成する方法を見てみましょう。

  • ステップ1 *-カスタムリストを作成するには、[サイトコンテンツ]に移動し、アプリを追加します。 [カスタムリスト]をクリックします。

カスタムリストをクリック

  • ステップ2 *-[名前]フィールドにAuthorsと入力し、[作成]をクリックします。

カスタムリストの追加

  • ステップ3 *-これで、作成者が追加されたことがわかります。 Authorsアプリをクリックします。

著者アプリ

  • ステップ4 *-新しいアイテムをクリックします。

新しいアイテムをクリック

  • ステップ5 *-ご覧のとおり、リストには列が1つしかありません。 フィールド名はTitleであり、必須フィールドです。ここでは、フィールド値をTestに設定し、[保存]をクリックします。

フィールド値の設定

-SharePointでは、列はフィールドとも呼ばれるため、これらの用語は同義語です。

  • ステップ6 *-[新しいアイテム]リンクをクリックして、アイテムをもう1つ追加します。

新しいアイテムリンク

  • ステップ7 *-[タイトル]フィールドの値を[デモ]に設定し、[保存]をクリックします。

デモへのタイトルフィールド

2つのアイテムまたは2つの行があり、Titleフィールドの値が表示されています。 この値の横に、メニューを開くためのリンクである小さな楕円があることに注意してください。

リトルエリプス

-このメニューは従来、 Edit Control Block または ECB メニューと呼ばれていましたが、 List Item Contacts メニューとも呼ばれます。

スキーマを定義したいため、カスタムリストを作成しました。 これを行うにはいくつかの方法があります。

  • ステップ8 *-1つの方法は、リストを編集モードにすることです。 最後に余分な列があり、&plus;があることに注意してください。その上に署名し、ここでリストに列を追加できます。

列をリストに追加

  • ステップ9 *-&plus;をクリックします署名し、テキスト列を作成できます。

テキスト列

ステップ10 *-次のページが表示されます。 このフィールドを呼び出します-*名前

名前フィールド

  • ステップ11 *-名前を入力します。 これらはテキストになります。

名前を入力

  • ステップ12 *-別の列を追加し、これを数値列として作成して、データとして数字のみを入力できるようにします。 これを評価に設定し、いくつかの値を追加します。

別の列を追加

現在、この手法は、リストをプロトタイピングするときに役立ちますが、あまり制御することはできません。

それでは、リストのスキーマを定義する他の方法を見てみましょう。 これはリスト設定で行います。

  • ステップ13 *-[編集の停止]リンクをクリックして、*編集*モードを終了します。 リボンの[リスト]を選択し、[リストの設定]に移動します。

編集の停止をクリック

ここで、リストのスキーマを定義できます。 列を作成したとき、すでにTitle列がありました。 作成した他の2つの列と、SharePointによって内部的に非表示および使用される他のいくつかの列を確認できます。

タイトル列

  • ステップ14 *-著者リストのスキーマを定義するには、[名前]列をクリックし、[削除]をクリックします。 次に、レート列を削除します。

著者リストのスキーマ

  • ステップ15 *-作成者のリストに戻ると、これらの列が設定された値と共に消えていることがわかります。 リスト設定に戻り、必要な実際のスキーマを設定します。

実際のスキーマ

  • ステップ16 *-ページにはタイトルのある列が表示されます。 ただし、この列ではなく、著者の名前を表す列が必要です。 したがって、「タイトル」をクリックします。

タイトル付きの列

  • ステップ17 *-*タイトル*をクリックすると、新しいページが開きます。 ページの一番下までスクロールします。 ページを削除するオプションはありません。

クリックタイトル

注意-この列は楕円リンクに関連付けられているため、このページを削除できません。 ただし、名前を変更できます。

  • ステップ18 *-列の名前を変更します。 この列を使用して著者名を表し、[OK]をクリックします。

列の名前を変更

  • ステップ19 *-次に、著者が従業員であるか貢献者であるかを表す別の列を追加します。 列の作成をクリックします。

列の作成をクリック

  • ステップ20 *-列名をEmployeeに設定し、Yes/Noフィールドタイプを選択します。 目的のフィールドタイプを選択したら、ページの一番下までスクロールすると、追加の列設定が表示されます。

注意-いくつかの異なるフィールドタイプが利用可能です。 使用可能なフィールドタイプは、SharePoint Foundation、SharePoint Server、SharePoint Onlineでは異なります。

さらに、構築しているサイトの種類、つまり コラボレーションサイトまたは発行サイトも、使用可能なフィールドタイプに影響します。

発行サイト

  • ステップ21 *-[デフォルト値]を[はい]ではなく[いいえ]に設定し、[OK]をクリックします。

デフォルト値

  • ステップ22 *-列の作成をクリックして、別の列を作成します。 この列は、従業員の給与または貢献者のレートを表します。

別の列の作成

  • ステップ23 *-これを給与/レートと呼び、これを通貨フィールドに設定します。

通貨フィールド

  • ステップ24 *-下にスクロールしてこれを必須フィールドにし、最小値を0に、最大値を1000に設定します。 小数点以下2桁までの通貨を表示するには、2を入力します。

通貨フィールドの編集

ステップ25 *-伝記となる列をもう1つ追加します。 *Bio と呼び、タイプを複数行のテキストに設定します。

経歴

  • ステップ26 *-編集用の6行で問題ないため、6を入力します。 この場合はプレーンテキストが必要なので、[OK]をクリックします。

サイトの編集

ステップ27 *-著者リストのスキーマがあります。 スキーマが完成したので、データを追加しましょう。 [最近]の下にある[*著者]をクリックします。

それぞれの横にある小さなチェックをクリックして、以前に作成した2つの行を削除しましょう。 次に、リボンの[アイテム]に移動し、[*アイテムの削除]をクリックします。

アイテムの削除

  • ステップ28 *-[新しいアイテム]をクリックして最初のアイテムを追加します。

最初のアイテムを追加

  • ステップ29 *-下のスクリーンショットに示すように、さらにデータを入力します。

データを入力

すべてのデータが一覧表示されます。

リストされているデータ

SharePoint-ライブラリ

この章では、ライブラリについて説明します。 ライブラリはリストの特別な場合にすぎません。 リストのすべての特性を継承します。 したがって、これまで見てきたすべての特性は、リストと同様にライブラリにも適用されます。

リストとライブラリの違い

リストとライブラリは同様の特性を示しますが、次の違いがあります-

  • 主な違いは、ライブラリでは、各行がドキュメントに関連付けられていることです。 このドキュメントはどのようなものでもかまいません。 たとえば、オフィス文書、写真、Webページ、Word Perfect文書など。 Officeドキュメントを使用する利点は、実際のOfficeツール自体と統合できることです。
  • もう1つの違いは、機能ではなく用語の違いです。 たとえば、ライブラリの列は、ドキュメントに関連付けられたメタデータを意味します。

ドキュメントライブラリの作成

このセクションでは、ドキュメントライブラリの操作の基本について説明します。 リストを作成したのとほぼ同じ方法でドキュメントライブラリを作成できます。 以下の手順に従ってください。

  • ステップ1 *-サイトコンテンツに移動し、[アプリの追加]をクリックします。

ドキュメントライブラリ

  • ステップ2 *-[ドキュメントライブラリ]をクリックします。 ライブラリに名前を付けて、[作成]をクリックします。

ドキュメントライブラリをクリック

-ここでは、高度なオプションについて学習します。

ステップ3 *-[詳細オプション]をクリックし、ドキュメントライブラリに *Course Documents という名前を付けます。

ここにはバージョンを設定するオプションもありますが、ライブラリ設定では同じオプションを使用できないため、バージョンを設定しないことをお勧めします。 ただし、バージョン管理をオンにする場合は、ここではなくライブラリ設定で行います。 最後に、どのような種類のドキュメントをデフォルトのテンプレートにするかを選択するオプションがあります。 Wordを選択し、[作成]をクリックします。

コース文書

  • ステップ4 *-ドキュメントを追加する前に、いくつかの列またはフィールドを追加する必要があります。 リボンの[ライブラリ]オプションに移動し、[ライブラリ設定]をクリックします。

ライブラリ設定

  • ステップ5 *-新しい列を追加すると、この列がコースのリストのルックアップフィールドに表示されるコースになります。 OKをクリックしてください。

コースのリスト

ステップ6 *-もう1列追加します。 この列に *Number という名前を付け、タイプをnumberに設定します。 最小値と最大値、つまり それぞれ0と100を選択し、[OK]をクリックします。

列としての列

スキーマの準備ができていることがわかります。

スキーマ

ドキュメントをライブラリに追加する

スキーマの準備ができたので、ドキュメントを追加できます。 ドキュメントを追加する1つの方法は、SharePoint内でドキュメントを作成することです。

  • ステップ1 *-リボンの[ファイル]タブに移動します。 [新しいドキュメント]をクリックします。

新しいドキュメントをクリック

  • ステップ2 *-Wordが開いていることがわかり、ここでドキュメントの内容を編集できます。

ドキュメントのコンテンツを編集

  • ステップ3 *-オープンワードページにテキストを記述します。

Wordページを開く

文書は自動的に保存されます。サイトに戻って、単語文書が作成されたことを確認します。

ステップ4 *-メタデータフィールドの値を編集するには、小さな楕円をクリックします。 Document.docxダイアログボックスで再び楕円を選択し、オプションから *Rename を選択します。

メタデータフィールド

  • ステップ5 *-必要な情報を入力して、[保存]をクリックします。

メタデータフィールドの編集

ドキュメントをドキュメントライブラリに追加する別の方法は、ドキュメントをアップロードすることです。

  • ステップ6 *-ここで*新しいドキュメント*を使用してアップロードできます。

新しいドキュメント

  • ステップ7 *-リボンの[ファイル]タブに移動して、[ドキュメントのアップロード]をクリックすることもできます。

ドキュメントのアップロード

  • ステップ8 *-次のダイアログボックスが表示されます。 [ファイルの選択]をクリックします。

ファイルの選択をクリック

  • ステップ9 *-サンプルファイルを選択します。 開くをクリックします。

サンプルファイル

サンプルドキュメントがライブラリリストに追加されていることがわかります。

サンプルドキュメント

  • ステップ10 *-複数のドキュメントをアップロードする場合は、それらをドラッグアンドドロップできます。 複数のドキュメントがアップロードされます。

複数のドキュメント

アップロードが完了すると、これらのドキュメントがリストに表示されます。

リスト内のドキュメント

  • ステップ11 *-メタデータを設定する別の方法は、*ライブラリ*タブで、リボンの*クイック編集*オプションをクリックすることです。

クイック編集

  • ステップ12 *-メタデータが設定されたら、リボンの[表示]をクリックして標準リストビューに戻ります。

標準リストビュー

次のスクリーンショットに示すように、ドキュメントファイルがリストであることがわかります。

ドキュメントファイル

SharePoint-Webパーツ

この章では、Webパーツについて説明します。 ビューを* List View Webパーツ*に制限します。これは、情報コラボレーションと最も密接に関連するパーツであるためです。

Webパーツはユーザーインターフェイスの小さなブロックであり、これらを組み合わせてページまたはサイトを構築できます。 たとえば、ニュースWebパーツ、メールWebパーツ、ストックWebパーツ、スポーツスコア、YouTubeビデオなど。 これらはすべて、ポータルスタイルのアプリケーションで集約ビューを取得するために一緒に構成できるユーザーインターフェイスの小さな断片の例です。

情報コラボレーションの観点から、WebパーツはリストビューWebパーツと呼ばれます。 リストまたはライブラリの情報を表示し、新しいアイテムまたはドキュメントを追加できます。 この方法では、サイト内のリストとライブラリ全体の情報を表示する単一のページを作成でき、ユーザーが個々のリストとライブラリ自体に移動する必要がなくなります。

この章では、*リストビューWebパーツ*に焦点を当てます。 これらは、リストまたはライブラリデータとやり取りできるWebパーツですが、その過程で、SharePointでWebパーツがどのように機能するかについての一般的な概念を理解できます。

Webパーツページを作成して簡単な例を見てみましょう。 Webパーツの使用をサポートするページ。

  • ステップ1 *-サイトのコンテンツに移動しました。 下にスクロールして、アイコン-*サイトページ*をクリックします。

サイトページ

ステップ2 *-[ファイル]タブに移動します。 リボンで、[*新しいドキュメント]ボタンのドロップダウン矢印をクリックします。 オプションからWebパーツページを選択します。

[ファイルタブ]

  • ステップ3 *-このページに*コース*と名前を付けてから、ページのレイアウトを決定する必要があります。 したがって、WebパーツはWebパーツゾーンに追加されます。
  • ここでのレイアウトは、これらのゾーンの数とレイアウトを決定します。 また、ゾーンがどのように見えるかについてのアイデアを得ます。
  • ページ全体、ヘッダーと列と本文、またはヘッダーとフッターと列などを占めるWebパーツゾーンを1つだけ持つことができます。

この場合、必要なWebパーツゾーンは1つだけです。 したがって、ページ全体を垂直に選択し、[作成]をクリックします。

Webパーツゾーン

  • ステップ4 *-Webパーツゾーンとその内部パーツを確認できます。 Webパーツを追加できるリンクが表示されます。 リンクをクリックしてください。

Webパーツの追加

  • ステップ5 *-Webパーツギャラリーが開きます。
  • このページには、ページに追加できるWebパーツが表示され、これらはカテゴリに分類されます。
  • 興味のあるWebパーツは、この例ではAppsカテゴリにあります。

このサイトには、リストとライブラリのそれぞれにWebパーツがあります。

Webパーツギャラリー

  • ステップ6 *-Webパーツでコースドキュメントを表示できます。 Webパーツをもう一度追加し、[コースリスト]をクリックして[追加]をクリックします。

コースリスト

  • ステップ7 *-Webパーツの追加が完了したら、リボンの[編集の停止]をクリックします。

Webパーツの追加

  • ステップ8 *-コースリストとコースドキュメントライブラリの両方を操作できる単一のページがあります。

コースドキュメントライブラリ

  • ステップ9 *-新しいドキュメントを追加する場合は、アップロードするか、ここにドラッグアンドドロップできます。ライブラリとリストの両方の[コントロールブロックの編集]メニューにアクセスできます。

リストまたはライブラリ自体に移動して、すべての主要なタスクを実行できます。 Webパーツをページに配置したら、[ページの編集]をクリックして、リボンからページを編集モードにできます。

編集モード

  • ステップ10 *-Webパーツごとに小さなドロップダウンメニューがあり、これを使用してWebパーツを削除できることがわかります。 Webパーツを削除する場合は、*閉じる*ではなく、常に*削除*をクリックしてください。 閉じるは、Webパーツを非表示にしますが、ページには残ります。 *削除*は、Webパーツをページから削除します。

Webパーツの削除

  • ステップ11 *-メニューから[Webパーツの編集]をクリックして、Webパーツのプロパティを編集できます。 プロパティにはさまざまなオプションがあることがわかります。Webパーツに表示するビュー、使用するツールバーを指定できます。 外観、レイアウトなどを変更することもできます。

Webパーツの編集

SharePoint-サイト列とコンテンツタイプ

この章では、サイトの列について説明します。 これまで、リストとライブラリ自体にリストとライブラリスキーマを定義してきましたが、これらは再利用できません。 したがって、同じスキーマを持つ2つのリストが必要な場合、同じスキーマを2回定義する必要があります。 SharePointには、このためのソリューションがあります。これは、サイト列とコンテンツタイプです。

  • サイト列は再利用可能な列定義を定義し、サイト列で構成されるコンテンツタイプはリストとライブラリの両方の再利用可能なスキーマを定義します。
  • スキーマの定義に加えて、ワークフローとイベントハンドラーをコンテンツタイプに添付することもできます。 サイトの列とコンテンツタイプは、サイトレベルのギャラリーに保存され、そのサイトおよびそのすべての子内で使用できます。
  • 子サイトでサイト列またはコンテンツタイプを宣言する場合、その下のブランチでのみ使用できます。
  • 特別な理由がない限り、サイトコレクションのルートでサイトの列とコンテンツタイプを宣言し、サイトコレクション全体で利用できるようにするのが一般的な方法です。

次に、サイト列とコンテンツタイプを作成して使用する簡単な例を見てみましょう。 明らかではなかったかもしれませんが、すでにコンテンツタイプを見てきました

  • ステップ1 *-サイトコンテンツから連絡先リストに移動します。

サイト列

  • ステップ2 *-下にスクロールすると、列というセクションが表示されます。

  • ステップ3 *-*詳細設定*に移動します。 [コンテンツタイプの管理を許可する]で[はい]を選択し、[OK]をクリックします。

詳細設定

ここに、コンテンツタイプと呼ばれる新しいセクションがあります。 これは、このリストが連絡先コンテンツタイプに基づいていることを示しています。

連絡先コンテンツタイプ

  • ステップ4 *-[サイトの設定]に移動します。

サイト設定

ステップ5 *-Web Designer Galleriesで、 *Site Content Types をクリックします。

サイトコンテンツタイプ

  • ステップ6 *-ページを下にスクロールすると、連絡先コンテンツタイプがあります。これは、リストコンテンツタイプのすぐ下にあり、連絡先リンクをクリックします。

連絡先コンテンツタイプ

  • ステップ7 *-列を見ると、リストの列と一致していることがわかります。 基本的に、連絡先リストテンプレートのリストを作成すると、このコンテンツタイプがリストに関連付けられるため、これらすべてのフィールドが取得されます。

現在、コンテンツタイプの定義を構成するフィールドは、サイト列と呼ばれています。

サイト列を表示するには、[サイトの設定]に移動し、[Webデザイナーギャラリー]の[サイト列]を選択します。

Webデザイナーギャラリー

  • ステップ8 *-連絡先に関連付けられている列を確認できます。 独自のカスタムサイト列と独自のカスタムコンテンツタイプを作成し、それらをリストで使用して、これをさらに詳しく見ていきましょう。 コースドキュメントライブラリには、コースの列があり、ライブラリ内でこの列を定義しました。

独自のカスタムサイト列

  • ステップ9 *-サイトを構築する際に、いくつかのリストとライブラリにコース列を追加し、その定義を再利用したい場合があります。 したがって、コース列をサイト列として作成し、さまざまなリストやライブラリで使用することができます。

[サイトの設定]から[サイト]列に移動しましょう。

異なるリスト

  • ステップ10 *-[作成]リンクをクリックします。

リンクの作成

  • ステップ11 *-これを「コース」列と名付け、ルックアップフィールドになります。

コース列

ステップ12 *-これを「 *SharePoint Basics 」というグループに入れて、後で簡単に見つけられるようにします。 コースリストで検索されます。検索するフィールドはタイトルです。 OKをクリックしてください。

SharePointの基本

ステップ13 *-新しいグループ *SharePoint Basics が作成されていることがわかります。

新しいグループSharePointの基本

  • ステップ14 *-新しいサイト列が「SharePoint Basics」グループに作成されます。

SharePoint Basics Group

  • ステップ15 *-コースドキュメントに戻り、ライブラリ設定に移動します。 列に移動します。

ライブラリ設定列

ライブラリ自体に作成したコース列を削除します。

ステップ16 *-サイト列から新しいコース列を追加しましょう。 したがって、[列の作成]をクリックする代わりに、[*既存のサイト列から追加]をクリックします。

既存のサイト列から追加

  • ステップ17 *-グループを「SharePoint Basics」に変更し、左側でコースを選択します。 [追加]をクリックしてその列をリストに追加し、[OK]をクリックします。

サイト列から列を追加

  • ステップ18 *-コースドキュメントに戻りましょう。

コース文書に戻る

  • ステップ19 *-新しい[Course]列を確認できますが、元のコース列を削除したときに以前にここにあった情報が削除されたため、空です。 したがって、以下に示すようにそれを追加し直します。

元のコース列

このリストに数百のアイテムがある場合、数時間かかるタスクが数分かかるタスクに変わります。

コンテンツタイプ

このセクションでは、カスタムコンテンツタイプの作成について見ていきます。

  • ステップ1 *-[サイトの設定]に移動してから、[サイトコンテンツタイプ]に移動します。 [作成]リンクをクリックします。

サイトコンテンツタイプ

ここでは、コンテンツタイプを作成する際に考慮すべき2つの重要事項があります。

  • 1つは、すべてのコンテンツタイプが別のコンテンツタイプに基づいていること、またはすべてのコンテンツタイプが別のコンテンツタイプから継承していると考えることができることです。
  • 2つ目は、コンテンツタイプがリストで機能するか、ライブラリで機能することです。 リストまたはライブラリで機能するかどうかは、継承元のタイプによって異なります。

たとえば、カスタムの連絡先リストを作成する場合は、 List Content Types に移動してから、Contactを見つけます。 コンテンツタイプを作成したり、必要なものをまだContactの一部ではないものに追加したり、Contactの一部ではないものを削除します。

  • コンテンツタイプの作成中に使用できる1つの戦略は、必要なもののほとんどを既に持っているコンテンツタイプを見つけ、それから継承してからカスタマイズすることです。
  • もう1つの戦略は、基本コンテンツタイプから開始し、その上に構築することです。

リストの場合、それはアイテムコンテンツタイプです。 ライブラリの場合、ドキュメントから継承したいので、*ドキュメントコンテンツタイプ*に進みます。

  • ステップ2 *-コンテンツタイプは、コースに関連するドキュメントライブラリ用です。 これが、継承に関してここで必要なものです。

コースに関連するドキュメントライブラリ

  • ステップ3 *-これを*コースドキュメント*タイプと呼びましょう。 サイト列で行ったように、これをグループに入れて簡単に識別できるようにし、そのグループ名は「SharePoint Basics」になります。 OKをクリックしてください。

コースドキュメントタイプ

  • ステップ4 *-次のスクリーンショットでは、ドキュメントコンテンツタイプ、*ファイル名、タイトル*のフィールドが既に存在することがわかります。 Courseフィールドを追加します。 さて、ここでコンテンツタイプに列を追加することはできません。列はサイト列でなければなりません。 したがって、*既存のサイト列から追加*を選択し、「SharePoint Basics」グループにフィルターを適用します。

ファイル名とタイトル

  • ステップ5 *-[コース]列を選択し、[追加]をクリックして、[OK]をクリックします。

コース列を選択

この場合、これはコンテンツタイプに対して行うすべてのカスタマイズであるため、使用する準備が整いました。

  • ステップ6 *-*サイトコンテンツ→アプリを追加*をクリックして新しいドキュメントライブラリを作成し、ドキュメントライブラリを作成します。

ドキュメントライブラリの作成

ステップ7 *-このライブラリを*テスト*と呼び、[作成]をクリックします。 テストライブラリを開き、このライブラリのコースドキュメントタイプを *content タイプに設定します。 リボンのライブラリに移動してから、ライブラリ設定に移動します。

ライブラリテスト

  • ステップ8 *-コンテンツタイプを管理するには、[詳細設定]に移動します。

アドバンス設定

  • ステップ9 *-*コンテンツタイプの管理を許可*を*はい*に設定し、[OK]をクリックします。

コンテンツタイプの管理

  • ステップ10 *-このライブラリは現在、ドキュメントコンテンツタイプに関連付けられていることがわかります。 [既存のサイトコンテンツタイプから追加]をクリックして、コースコンテンツタイプを追加する必要があります。

コースコンテンツタイプを追加

  • ステップ11 *-「SharePointの基本」で再度フィルタリングします。 [コースドキュメントタイプ]を選択し、[追加]をクリックして、[OK]をクリックします。

コースドキュメントタイプの選択

したがって、ライブラリは、ドキュメントコンテンツタイプとコースドキュメントタイプの2つのコンテンツタイプに関連付けられています。

私たちのライブラリ

ステップ12 *-次に、テストライブラリに移動し、[*新しいドキュメント]をクリックします。

[新規ドキュメント]またはドロップダウン矢印をクリックすると、いずれかのタイプのドキュメントを作成できることがわかります。 コースドキュメントのみを作成できるようにする場合は、ライブラリ設定に戻ります。 [コンテンツタイプ]セクションの[ドキュメント]をクリックして、ドキュメントコンテンツタイプの関連付けを削除します。

テストライブラリ

  • ステップ13 *-*このコンテンツタイプの削除*をクリックします。 ライブラリに戻って[ファイル]をクリックし、[新しいドキュメント]をクリックします。

ファイルをクリック

これで、コースドキュメントタイプオプションのみが利用できることがわかります。 これらは、SharePointでコンテンツタイプを操作するための基本です。

コースドキュメントタイプオプション

SharePoint-データ

この章では、SharePointの最も一般的なタスクの1つを取り上げます。 リストやドキュメントライブラリなどのさまざまなデータソースと対話します。 SharePointの素晴らしい点は、データとやり取りするために利用できる多くのオプションがあることです。 いくつかの例は、サーバーオブジェクトモデル、クライアント側オブジェクトモデル、RESTサービスなどです。

プログラムでSharePointを使用する前に、SharePointサイトとの接続とコンテキストを確立する必要があります。 ただし、このためには、Windows ServerにインストールできるSharePoint on Premisesが必要です。

プロジェクトの参照を Microsoft.SharePoint.dll または Microsoft.SharePoint.Client.dll に追加する必要があります。 適切な参照をプロジェクトに追加したら、コンテキストとそのコンテキスト内のコードの設定を開始できます。

簡単な例を見てみましょう。

  • ステップ1 *-Visual Studioを開き、*ファイル→新規→プロジェクトメニュー*オプションから新しいプロジェクトを作成します。
  • ステップ2 *-左ペインの*テンプレート→Visual C#*からWindowsを選択し、中央のペインでコンソールアプリケーションを選択します。 プロジェクトの名前を入力し、[OK]をクリックします。
  • ステップ3 *-プロジェクトが作成されたら、ソリューションエクスプローラーでプロジェクトを右クリックし、*追加→参照*を選択します。

コンソールアプリケーション

  • ステップ4 *-左ペインで[アセンブリ]→[拡張機能]を選択し、中央ペインの[Microsoft.SharePoint *]をオンにして[OK]をクリックします。

ソリューションエクスプローラーでプロジェクトを再度右クリックし、[プロパティ]を選択します。

アセンブリ

  • ステップ5 *-左ペインの[ビルド]タブをクリックし、[32ビットを優先する]オプションをオフにします。

ビルドタブ

ステップ6 *- *Program.cs ファイルに戻り、次のコードに置き換えます。

using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SharePointData {
   class Program {
      static void Main(string[] args) {
         using (var site = new SPSite("http://waqasserver/sites/demo")) {
            var web = site.RootWeb;
            Console.WriteLine(web.Title);
            var lists = web.Lists;

            foreach (SPList list in lists) {
               Console.WriteLine("\t" &plus; list.Title);
            }
            Console.ReadLine();
         }
      }
   }
}

-上記のコードでは、最初に新しいSPSiteオブジェクトを作成しました。 これは使い捨てのオブジェクトなので、usingステートメント内で作成されます。 SPSiteコンストラクターは、サイトコレクションへのURLを受け取りますが、これは場合によって異なります。

var web = site.RootWeb は、サイトコレクションのルートを取得します。

web.Listsを使用してリストを取得し、リストアイテムのタイトルを印刷できます。

上記のコードをコンパイルして実行すると、次の出力が表示されます-

SharePoint Tutorials
   appdata
   Composed Looks
   Documents
   List Template Gallery
   Master Page Gallery
   Site Assets
   Site Pages
   Solution Gallery
   Style Library
   Theme Gallery
   User Information List
   Web Part Gallery

SharePoint-サーバーオブジェクトモデル

この章では、SharePoint Serverオブジェクトモデルについて説明します。 SharePointのコンテキスト内で実行するコードを記述するときは、SharePoint Serverオブジェクトモデルを使用します。 一般的な例としては、ページまたはWebパーツのコードビハインド、機能またはリストの背後にあるイベントハンドラー、タイマージョブなどがあります。

サーバーオブジェクトモデルの機能

サーバーオブジェクトモデルの主な機能は次のとおりです。

  • SharePointで使用されるのと同じアプリケーションプール内でASP.NETアプリケーションをプログラミングする場合は、サーバーオブジェクトモデルを使用できます。
  • サーバーオブジェクトモデルは、コンソールやWindowsフォームなどのクライアントアプリケーション、またはSharePointサーバーで実行されるWPFアプリを開発している場合に使用できます。
  • サーバーオブジェクトモデルを使用して、SharePoint Serverにリモート接続することはできません。
  • サーバーオブジェクトモデルを使用する場合、 Microsoft.SharePoint アセンブリを参照します。 サーバーオブジェクトモデルを構成する他のアセンブリもありますが、Microsoft.SharePointがメインです。
  • 最も一般的に使用するコアタイプは、エンドユーザーとして使用するコンポーネントにマップされるため、サイトコレクション、サイト、リスト、ライブラリ、リストアイテムなどは、SPSite、SPWeb、SPList、SPDocumentLibrary、およびSPListItem。
  • サイトコレクションを表す型とサーバーオブジェクトモデルはSPSiteであり、サーバーオブジェクトモデルでSharePointサイトを表す型はSPWebです。 したがって、エンドユーザーの用語から開発者の用語に移行するときは、メンタルマッピングを行うだけで済みます。

これで、SharePointの使用を初めて開始すると、サイトが過負荷になり、Webボキャブラリはもちろんのこと、エンドユーザーと開発者のボキャブラリの反対を意味するため、混乱を招く可能性があります。

サーバーオブジェクトモデルの簡単な例を見てみましょう。

ステップ1 *-Visual Studioを開き、 *File→New→Project メニューオプションから新しいプロジェクトを作成します。

  • ステップ2 *-左ペインの*テンプレート→Visual C#*からWindowsを選択し、中央のペインでコンソールアプリケーションを選択します。 プロジェクトの名前を入力し、[OK]をクリックします。
  • ステップ3 *-プロジェクトが作成されたら、ソリューションエクスプローラーでプロジェクトを右クリックし、*追加→参照*を選択します。

コンソールアプリケーション

  • ステップ4 *-左ペインで[アセンブリ]→[拡張機能]を選択し、中央ペインで[Microsoft.SharePoint]をオンにして[OK]ボタンをクリックします。

ソリューションエクスプローラーでプロジェクトをもう一度右クリックし、[プロパティ]を選択します。

アセンブリ

  • ステップ5 *-左ペインの[ビルド]タブをクリックし、[32ビットを優先する]オプションをオフにします。

ビルドタブ

ステップ6 *- *Program.cs ファイルに戻り、次のコードに置き換えます。

using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SharePointData {
   class Program {
      static void Main(string[] args) {
         using (var site = new SPSite("http://waqasserver/sites/demo")) {
            var web = site.RootWeb;
            Console.WriteLine(web.Title);
            var lists = web.Lists;

            foreach (SPList list in lists) {
               Console.WriteLine("\t" + list.Title);
            }
            Console.ReadLine();
         }
      }
   }
}

-上記のコードでは、最初に新しいSPSiteオブジェクトを作成しました。 これは使い捨てのオブジェクトなので、usingステートメント内で作成されます。 SPSiteコンストラクターは、サイトコレクションへのURLを受け取りますが、これは場合によって異なります。

var web = site.RootWeb は、サイトコレクションのルートを取得します。

web.Listsを使用してリストを取得し、リストアイテムのタイトルを印刷できます。

上記のコードをコンパイルして実行すると、次の出力が表示されます-

SharePoint Tutorials
   appdata
   Authors
   Composed Looks
   Contacts
   Course Documents
   Courses
   Documents
   List Template Gallery
   Master Page Gallery
   Site Assets
   Site Pages
   Solution Gallery
   Style Library
   Theme Gallery
   User Information List
   Web Part Gallery

これらのタイトルは、ソリューションギャラリー、スタイルライブラリ、フォームテンプレートであることがわかります。 これらは、SharePointによって内部的に使用されるリストです。 したがって、すべてのリストを表示するのではなく、ユーザーに通常表示されるリストのみを表示したい場合があります。

したがって、リストコレクション全体を取得する代わりに、非表示ではないすべてのリストを取得する必要があります。 以下のリンククエリを使用してこれを行うことができます。

using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ServerObjectModel {
   class Program {
      static void Main(string[] args) {
         using (var site = new SPSite("http://waqasserver/sites/demo")) {
            var web = site.RootWeb;
            Console.WriteLine(web.Title);
            var lists = from SPList list in web.Lists
            where list.Hidden == false
            select list;

            foreach (SPList list in lists) {
               Console.WriteLine("\t" + list.Title);
            }
            Console.ReadLine();
         }
      }
   }
}

上記のコードをコンパイルして実行すると、次の出力が表示されます-

SharePoint Tutorials
   Authors
   Contacts
   Course Documents
   Courses
   Documents
   Site Assets
   Site Pages
   Style Library

これにより、非表示ではないすべてのリストが返されることがわかります。

リスト項目に関する情報も表示する別の簡単な例を見てみましょう。

using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ServerObjectModel {
   class Program {
      static void Main(string[] args) {
         using (var site = new SPSite("http://waqasserver/sites/demo")) {
            var web = site.RootWeb;
            Console.WriteLine(web.Title);
            var lists = from SPList list in web.Lists
            where list.Hidden == false
            select list;

            foreach (SPList list in lists) {
               Console.WriteLine("\t" + list.Title);
               var items = list.Items.OfType<SPListItem>().Take(5);
               var isDocLib = list is SPDocumentLibrary;

               foreach (SPListItem item in items) {
                  var value = isDocLib ? item.Name : item.Title;
                  Console.WriteLine("\t\t" + value);
               }
            }
            Console.ReadLine();
         }
      }
   }
}

上記のコードをコンパイルして実行すると、次の出力が表示されます-

SharePoint Tutorials
   Authors
      Muhammad Waqas
      Mark Upston
      Allan Bommer
      Andy Onian
   Contacts
      Waqas
      Upston
      Bommer
   Course Documents
      Sample1.docx
      Sample2.docx
      Sample3.docx
   Courses
      SharePoint Tutorials
      C# Tutorials
      ASP.Net Tutorials
      NHibernate Tutorials
   Documents
   Site Assets
   Site Pages
      Home.aspx
      How To Use This Library.aspx
   Style Library

リストデータ

リストを初めて作成するときは、常にタイトル列があります。 この[タイトル]列では、デフォルトで、リストアイテムのコンテキストまたはコントロールブロックの編集メニューにアクセスできます。

すべてのリストは列タイトルで始まるため、 SPListItem タイプはそれをプロパティとして公開します。 すべてのリストに共通ではない列については、 SpListItem タイプのインデクサーを介してアクセスできます。

いくつかの情報をインデクサーに渡すことができますが、最も一般的なのは Column です。 リスト設定のエンドユーザーは、この名前を変更できます。 この名前は変更される可能性があるため、使用しないでください。

2つ目は InternalName で、このリストが作成された時点で設定され、変更されることはありません。 これは、列の値にアクセスするときに使用する名前です。

以下に示すように著者リストを取得する簡単な例を見てみましょう-

単純な例

この例では、Authorsリストを取得し、Salary/Rateをある値だけ上げます。 したがって、Salary/Rate列には、 InternalName を使用します。

  • ステップ1 *-サーバーエクスプローラーに移動します。 * SharePoint接続*を右クリックして、[接続の追加…​]を選択します。 URLを指定して[OK]をクリックします。

SharePoint接続

ステップ2 *- SharePointチュートリアル→リストライブラリ→リスト→作成者→フィールド→給与/レート*フィールドを展開します。 Salary/Rate を右クリックして、[プロパティ]を選択します。 [プロパティ]ウィンドウに InternalName が表示されます。

SharePointチュートリアル

  • ステップ3 *-以下は、給与/レートに基づいて著者を取得し、給与/レートを引き上げる簡単な例です。
using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ServerObjectModel {
   class Program {
      static void Main(string[] args) {
         using (var site = new SPSite("http://waqasserver/sites/demo")) {
            var web = site.RootWeb;
            var list = web.Lists.TryGetList("Authors");
            if (list == null)
            return;
            var items = list.Items;
            ShowItems(items);
            RaiseRates(items);
            Console.WriteLine("\nAfter Raise\n");
            ShowItems(items);
            Console.ReadKey();
         }
      }
      static void RaiseRates(SPListItemCollection items) {
         foreach (SPListItem item in items) {
            var employee = Convert.ToBoolean(item["Employee"]);
            var rate = Convert.ToDouble(item["Salary_x002f_Rate"]);
            var newRate = employee ? rate + 1 : rate + 0.1;
            item["Salary_x002f_Rate"] = newRate;
            item.Update();
         }
      }
      static void ShowItems(SPListItemCollection items) {
         foreach (SPListItem item in items) {
            Console.WriteLine("Salary or rate for {0} is {1:c}", item.Title,
            item["Salary_x002f_Rate"]);
         }
      }
   }
}

上記のコードでは、2つのメソッドがあることがわかります-

  • 1つは、 ShowItems という名前のリストを取得することです。
  • もう1つの方法は、* RaiseRates()*と呼ばれるレートを上げることです。

上記のコードをコンパイルして実行すると、次の出力が表示されます-

Salary or rate for Muhammad Waqas is $950.00
Salary or rate for Mark Upston is $15.00
Salary or rate for Allan Bommer is $20.00
Salary or rate for Andy Onian is $870.00

After Raise

Salary or rate for Muhammad Waqas is $951.00
Salary or rate for Mark Upston is $15.10
Salary or rate for Allan Bommer is $20.10
Salary or rate for Andy Onian is $871.00

CAMLクエリ

上記の例では、foreachループを使用してすべての項目を何度も繰り返して項目を常に繰り返し、常にすべての列を戻すか、少なくともすべての列がアクセス可能になっています。

これは、SQLクエリでテーブル名からselect *を実行することに本当に似ています。

  • CAMLクエリ*と呼ばれるものを使用して、この問題に対処できます。 CAMLクエリを実行する場合、2つのオプションがあります-
  • 単一のリストのみを照会する場合は、SPQueryオブジェクトを使用できます。
  • サイトコレクション内の複数のリストを照会する場合は、SPSiteDataQueryを使用できます。

通常、 SPSiteDataQuery を実行している場合、特定のタイプのすべてのリストを照会しています。

たとえば、すべての連絡先リストなどを照会したい SPSiteDataQueryを使用すると、スコープを決定できるため、サイトコレクション全体、個々のサイト、またはサイトとそのすべての子に対してクエリを実行することを指定できます。

CAMLクエリの構文は基本的にXML形式で記述されており、これらの種類のクエリの構築に慣れるには少し時間がかかります。

CAMLクエリの簡単な例を見てみましょう。 ここでは、著者リストのデータをクエリするCAMLクエリを作成します。

using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ServerObjectModel {
   class Program {
      static void Main(string[] args) {
         using (var site = new SPSite("http://waqasserver/sites/demo")) {
            var web = site.RootWeb;
            var list = web.Lists.TryGetList("Authors");
            if (list == null)
            return;
            var items = QueryItems(list);
            ShowItems(items);

           //RaiseRates(items);
           //Console.WriteLine("\nAfter Raise\n");
           //ShowItems(items);
            Console.ReadKey();
         }
      }
      static SPListItemCollection QueryItems(SPList list) {
         var query = new SPQuery();

         query.ViewFields =
            "<FieldRef Name='Title'/>" +
            "<FieldRef Name='Employee'/>" +
            "<FieldRef Name='Salary_x002f_Rate'/>";

         query.Query =
            "<OrderBy>" +
            " <FieldRef Name='Salary_x002f_Rate'/>" +
            "</OrderBy>" +
            "<Where>" +
            " <Eq>" +
            " <FieldRef Name='Employee'/>" +
            " <Value Type='Boolean'>False</Value>" +
            " </Eq>" +
            "</Where>";
         return list.GetItems(query);
      }
      static void RaiseRates(SPListItemCollection items) {
         foreach (SPListItem item in items) {
            var employee = Convert.ToBoolean(item["Employee"]);
            var rate = Convert.ToDouble(item["Salary_x002f_Rate"]);
            var newRate = employee ? rate + 1 : rate + 0.1;
            item["Salary_x002f_Rate"] = newRate;
            item.Update();
         }
      }
      static void ShowItems(SPListItemCollection items) {
         foreach (SPListItem item in items) {
            Console.WriteLine("Salary or rate for {0} is {1:c}",
            item.Title,
            item["Salary_x002f_Rate"]);
         }
      }
   }
}

CAMLクエリを使用していくつかのアイテムを取得しました。 QueryItems メソッドでは、Employeeではないアイテムのみを取得したことがわかります。

Salary or rate for Mark Upston is $15.10
Salary or rate for Allan Bommer is $20.10

SharePoint-クライアントオブジェクトモデル

この章では、クライアントオブジェクトモデルまたはCSOMを見ていきます。 これは、SharePoint 2010に追加されたリモートアプリケーションを構築するための2つのAPIの1つでした。

クライアントオブジェクトモデルの設計目標の1つは、サーバーオブジェクトモデルを可能な限り模倣することでした。そのため、サーバー側での開発に慣れている開発者にとっては、学習曲線が短くなります。

クライアントオブジェクトモデルの中心は、 ._ vti_bin 仮想ディレクトリにあるClient.svcと呼ばれるWebサービスです。 Client.svcと直接通信することは想定されていませんが、使用できる3つのプロキシまたはエントリポイントが与えられます。 彼らは-

  • .NETマネージコード。
  • JavaScriptです。
  • JavaScriptです。

コードはこれらのプロキシと通信し、これらのプロキシは最終的にWebサービスと通信します。

これはリモートAPIであり、Webサービス呼び出しを介してSharePointとの通信が行われるため、クライアントオブジェクトモデルは、情報に対するコマンドとリクエストを一括処理できるように設計されています。

.NETマネージコード

NET Manage Implementationの2つのコアアセンブリは次のとおりです-.

  • Microsoft.SharePoint.Client.dll* および* Microsoft.SharePoint.Client.Runtime.dll。*

Silverlightコード

Silverlight実装のアセンブリは、 TEMPLATE \ LAYOUTS \ ClientBin にあります。 アセンブリ名も Microsoft.SharePoint.Client で始まります。 1つを除くすべてのアセンブリの場合、アセンブリ名はSilverlightで終わります。

Silverlight実装の2つのコアアセンブリは次のとおりです-

  • Microsoft.SharePoint.Client.Silverlight.dll
  • Microsoft.SharePoint.Client.Silverlight.Runtime.dll

JavaScript

クライアントオブジェクトモデルのJavaScript実装は、SharePointシステムルートの下のTEMPLATE \ LAYOUTSフォルダーにあります。 JavaScriptライブラリの名前はすべてSPで始まります。 3つのコアライブラリは、 SP.js、Sp.Runtime.js 、および SP.Core.js です。

クライアントオブジェクトモデルは、SharePoint 2013で拡張されています。

.NETを使用してLoadでリソースを取得する

Windowsフォームアプリケーションを使用して、クライアントオブジェクトモデルのマネージ実装を使用する簡単な例を見てみましょう。 したがって、最初に新しいプロジェクトを作成する必要があります。

ステップ1 *-中央のペインで[ *Windows Forms Application ]を選択し、[名前]フィールドに名前を入力します。 OKをクリックしてください。

Windowsフォームアプリケーション

  • ステップ2 *-プロジェクトが作成されたら、次のように1つのリストボックスと1つのボタンを追加します。 クライアントオブジェクトモデルを使用するには、いくつかのアセンブリ参照を追加する必要があります。 参照を右クリックして、参照の追加を選択します。

リストボックス

  • ステップ3 *-左ペインの*アセンブリ*で*拡張機能*を選択します。

クライアントオブジェクトモデルのマネージ実装の2つのコアアセンブリは、 Microsoft.SharePoint.Client および Microsoft.SharePoint.Client.Runtime です。 これら2つのオプションを確認し、[OK]をクリックします。

Microsoft SharePoint Client Runtime

次に、[ロード]ボタンをダブルクリックして、以下のイベントハンドラーを追加します。

using Microsoft.SharePoint.Client;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ClientObjectModel {
   public partial class Form1 : Microsoft.SharePoint.Client.Form {
      public Form1() {
         InitializeComponent();
      }
      private void loadBtn_Click(object sender, EventArgs e) {
         using (var context = new ClientContext("http://waqasserver/sites/demo")) {
            var web = context.Web;
            context.Load(web);
            context.Load(web.Lists);
            context.ExecuteQuery();
            ResultListBox.Items.Add(web.Title);
            ResultListBox.Items.Add(web.Lists.Count);
         }
      }
   }
}

クライアントオブジェクトモデルへのエントリポイントは、クライアントコンテキストです。 SPContext オブジェクトのクライアントバージョンのリモートです。 これは使い捨てタイプなので、 using ステートメントでラップされます。 ClientContext でSharePointサイトのURLを渡します。

これで、コンテキストができました。 var web = context.web となるように、現在のサイトを表すオブジェクトが必要です。

-このオブジェクトは空のシェルであるため、context.loadを使用してWebオブジェクトをロードし、Webオブジェクトを渡す必要があることに注意してください。 これは、次のバッチ取得でWebオブジェクトプロパティを設定することを示しています。

次に、 context.ExecuteQuery を呼び出す必要があり、実際にバッチ取得を開始します。 サーバーからプロパティ値を取得し、リストボックスに追加します。

上記のコードをコンパイルして実行すると、次の出力が表示されます-

コンテンツ実行クエリ

[ロード]ボタンをクリックすると、リストのタイトルとカウントの両方が表示されます。

これにより、プロジェクトのセットアップでクライアントオブジェクトモデルを使用して、loadメソッドを使用してロードリソースを確認できます。

SharePoint-REST API

この章では、REST APIについて説明します。 これは、型を含むライブラリのセットがあり、それらの型にはプロパティとメソッドが含まれる従来のAPIではありません。

REST APIは、Open Data ProtocolまたはODataに基づくデータ中心のWebサービスとして実装されます。 これらのWebサービスが機能し、システム内の各リソースを使用する方法は、サーバーに渡す特定のURLによってアドレス指定できます。

SharePointサイトが開いているInternet Explorerでこれを見てみましょう。

  • ステップ1 *-Internet Explorerを使用している場合、Internet Explorerの設定に移動し、[コンテンツ]タブで、下のスクリーンショットに示すように、フィードとWebスライスの設定を選択します。

インターネットオプション

次のダイアログボックスが表示されます。 [フィード閲覧ビュー]が[オフ]になっていることを確認し、[OK]をクリックします。

  • ステップ2 *-次に、URLをサイトURL&plus;/_ api/webに変更し、Enterキーを押します。

フィードとWebスライスの設定

次のスクリーンショットのようなビューが表示されます。

現在のWebまたは現在のサイトに関する情報が必要です。 したがって、サイトURL&plus;/_ apiはSharePoint 2013 REST APIのベースURLであり、webはクエリです。 現在のウェブに関する情報が必要です。

XMLドキュメントを取得し、下にスクロールすると、現在のWebに関する情報を取得します。

XMLドキュメント

次に、Webのリストについて知りたい場合は、リストをURLに追加できます。 個々のオブジェクトに関する情報の代わりに、現在のサイトのすべてのリストに関する情報のコレクションを取得します。

Webのリスト

ブラウザーを使用していたとき、サーバーにget要求を発行していました。つまり、情報を取得したいということです。 ただし、残りの標準CRUD操作も実行できます。

CRUD操作

REST APIを使用してリソースを取得する

SharePoint 2013 REST APIはメタデータを公開しません。 したがって、マネージコードで操作している場合、Visual Studioを使用して、サービス参照ダイアログを使用してサービスプロキシを生成することはできません。 代わりに、http Web要求オブジェクトのWebクライアントのようなタイプを使用して、サーバーに要求を送信し、生の結果を取得することができます。

これらの結果がXMLとして返されるかJSONとして返されるかは、リクエストとともに送信するacceptヘッダーによって決まります。

  • XMLを取得したら、LINQ to XMLを使用して、アプリケーションに必要な応答から情報を取得できます。
  • JSONを取得したら、さまざまなJSONシリアル化のいずれかを使用してJSONを.NETオブジェクトに解析し、それを使用して必要な情報を取得できます。

JavaScriptでREST APIを使用する場合、jQueryまたはSP.RequestExecutorオブジェクトを使用して、サービスを呼び出すことができます。 マネージコードの例のように、acceptヘッダーを使用してXMLまたはJSONのどちらを取得するかを制御できます。 ほとんどの場合JavaScriptで作業しているため、JSONを取得したいと考えています。

もう1つ注意すべきことは、サービスのURLを作成するとき、 _ spPageContextInfo オブジェクトを使用してサイトから絶対URLを取得し、サービスURLとクエリを追加するだけです。 これは、REST APIサービスがメタデータを公開せず、Visual Studioでサービス参照を作成できないためです。マネージコードでREST APIを使用することは、実際には非スターターです。

新しいプロジェクトを作成して、JavaScriptからREST APIを呼び出す方法を見てみましょう。

ステップ1 *-中央のペインで[ *App for SharePoint ]を選択し、プロジェクトの名前を入力します。 OK をクリックしてください。

App SharePoint

ステップ2 *-サイトのURLを入力し、 SharePoint –ホスト*オプションを選択して、[次へ]をクリックします。 完了をクリックします。

SharePoint Hosted

  • ステップ3 *-プロジェクトが作成されたら、ソリューションエクスプローラーの[ページ]の下にあるDefault.aspxページを開き、1つのボタンを追加します。

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 ContentPlaceHolderID = ”PlaceHolderAdditionalPageHead”
   runat = ”server”>
   <script type = ”text/javascript” src = ”../Scripts/jquery-1.9.1.min.js”></script>
   <SharePoint:ScriptLink name = ”sp.js” runat = ”server” OnDemand = ”true”
      LoadAfterUI = ”true” Localizable = ”false”/>
   <meta name = ”WebPartPageExpansion” content = ”full”/>
   <!–Add your CSS styles to the following file ->
   <link rel = ”Stylesheet” type = ”text/css” href = ”../Content/App.css”/>
   <!–Add your JavaScript to the following file ->
   <script type = ”text/javascript” src = ”../Scripts/App.js”></script>
</asp:Content>

<%-- The markup in the following Content element will be placed in the TitleArea
   of the page --%>

<asp:Content ContentPlaceHolderID = ”PlaceHolderPageTitleInTitleArea”
   runat = ”server”>
   Page Title
</asp:Content>

<%-- The markup and script in the following Content element will be placed in
   the <body> of the page --%>

<asp:Content ContentPlaceHolderID = ”PlaceHolderMain” runat = ”server”>
   <div>
      <p id = ”message”>
         <!–The following content will be replaced with the user name when
            you run the app – see App.js -> initializing…
      </p>
      <input id = ”loadButton” type  = ”button” value = ”Load”/>
   </div>
</asp:Content>
  • ステップ4 *-ソリューションエクスプローラーのスクリプトの下にあるApp.jsファイルを開き、次のコードに置き換えます。
JQuery(document).ready(function () {
   JQuery("#loadButton").click(usingLoad)
});

function usingLoad() {
   var context = SP.ClientContext.get_current();
   var web = context.get_web();
   context.load(web);
   context.executeQueryAsync(success, fail);

   function success() {
      var message = jQuery("#message");
      message.text(web.get_title());
      message.append("<br/>");
      message.append(lists.get_count());
   }
   function fail(sender, args) {
      alert("Call failed. Error: " + args.get_message());
   }
}

jQueryを使用して document.ready 関数を作成しています。 ここでは、クリックイベントハンドラーをボタンにアタッチするだけです。 したがって、セレクターを使用して loadButton を取得し、 Load を使用してクリックイベントハンドラーを追加しました。

したがって、ボタンをクリックすると、マネージバージョンのデモで行ったのと同じことを行い、Webのタイトルを表示したいと思います。

  • ステップ5 *-アプリケーションを公開すると、次のファイルが表示されます-

アプリケーションの公開

  • ステップ6 *-このファイルをSharePointサイトアプリページにドラッグします。

サイトアプリページ

リストに JavaScriptDemo ファイルが表示されます。

JavaScriptDemo

ステップ7 *-左ペインの[サイトコンテンツ]をクリックし、[アプリの追加]を選択します。 *JavaScriptDemo アイコンをクリックします。

JavaScriptDemoアイコン

  • ステップ8 *-[信頼する]をクリックします。

信頼する

  • ステップ9 *-アプリが表示されます。 アプリのアイコンをクリックします。

アプリアイコンをクリック

  • ステップ10 *-[ロード]ボタンをクリックすると、テキストが更新されます。

ロードボタンをクリック

更新されたテキストを見ることができます。

更新されたテキスト

SharePoint-機能と要素

この章では、機能と要素について見ていきます。 機能は、いくつかの点でSharePointのコンポーネントモデルです。 機能の論理ユニットを定義できます。

たとえば、あなたはサイト内の能力を持ちたいかもしれません-

  • 特定のスキーマでリストを作成するには、
  • そのリストのデータを表示するページを用意してから、
  • サイト内のどこかに、そのページに移動するためのリンクまたはメニューオプションがあります。

機能の論理グループを定義する機能を作成できます。 個々の機能は要素によって定義されます。

だから要素があるだろう-

  • リストを作成し、スキーマを設定します。
  • SharePointサイトにページをプロビジョニングし、
  • メニューオプションまたはリンクを作成します。

機能はユニットを定義し、要素はそのユニット内の個々の機能を定義します。 私たちは3種類の要素について議論しました-

  • リストを作成するリストインスタンス。
  • ページをプロビジョニングするモジュール。
  • メニューオプションまたはリンクを作成するカスタムアクション。

ただし、SharePoint内で作成できる要素には他にも多くの種類があります。 機能について理解すべきもう1つの重要な概念は、アクティブ化と非アクティブ化です。

たとえば、エンドユーザーが上記の機能を自分のサイトに追加する場合、リストを作成する対応する機能をアクティブにし、メニューオプションまたはリンクを追加して、サイトにページをプロビジョニングします。 後で彼は機能を無効にして機能を削除できます。

機能を無効にすると、一部の要素が自動的に削除されることに注意することが重要です。 たとえば、SharePointは、カスタムアクションによって定義されているメニューオプションまたはリンクを自動的に削除します。

その他は自動的に削除されません。 したがって、この場合、リストインスタンスとページは自動的に削除されません。

したがって、開発者は、自動的に削除される要素と削除されない要素を理解する必要があります。 自動的に削除されないものを削除したい場合は、*機能レシーバー*でコードを書くことができます。

機能と要素の操作を見てみましょう。 機能のエンドユーザービューから始めます。

  • ステップ1 *-SharePointサイトを開きます。

SharePointサイト

  • ステップ2 *-サイト設定に移動するには、機能を管理できる2つのリンクがあります。
  • 最初のリンク*サイト機能の管理*はサイトアクションの下にあり、サイトスコープ機能を管理できます。
  • サイトコレクション管理の下のもう1つのリンク*サイトコレクション機能*。これにより、サイトコレクションの範囲機能を管理できます。

サイト機能の管理

  • ステップ3 *-これらのリンクのいずれかをクリックすると、現在アクティブな機能と非アクティブな機能を示すページが表示されます。 機能ごとに、機能を有効または無効にするオプションがあります。

サイトの機能

新しいSharePoint Solutions Empty Projectを作成して、簡単な例を見てみましょう。

ステップ1 *-これを *FeaturesAndElements と呼び、[OK]をクリックします。

機能と要素

ステップ2 *-使用するサイトを指定し、[*ファームソリューションとして展開]オプションを選択して、[完了]をクリックします。

ファームソリューションとして展開

最初に作成するのは機能です。 ソリューションエクスプローラーには、現在空の機能フォルダーが表示されます。

機能フォルダー

ステップ3 *- *Features フォルダーを右クリックして、 Add Feature を選択します。 Feature1 という名前のフィーチャーを作成し、フィーチャーデザイナーを開きます。 デフォルトのタイトルは、プロジェクトのタイトルにフィーチャーのタイトルを加えたものです。

機能の追加

  • ステップ4 *-機能の名前をFeature1からSampleに変更します。

タイトルと説明は、ユーザーが機能を有効または無効にするページに表示されるものです。

タイトルを*サンプル機能*に、説明を*連絡先リストを追加し、ページを使用してリストを表示します*。 他に設定する必要があるのは、機能の有効範囲である機能の有効範囲です。

ファーム、WebApplication、サイトコレクション、またはサイトになります。 この場合、リストとページをプロビジョニングします。 どちらもSharePointサイトにあるため、ここではWebを選択します。

サンプル機能

  • ステップ5 *-要素に機能を追加してみましょう。 最初の要素はリストであり、連絡先リストを作成します。 プロジェクトを右クリックし、[追加]→[新しいアイテム]を選択します…​
  • ステップ6 *-中央のペインで[リスト]を選択し、名前フィールドに連絡先を入力します。 追加をクリックします。

選択リスト

  • ステップ7 *-リスト作成ウィザードが表示されます。 連絡先リストに基づいて、連絡先というリストを作成します。 [完了]をクリックしてリストを作成するか、少なくとも要素を作成します。これにより、最終的にリストが作成されます。

SharePointカスタマイズウィザード

以下にリストデザイナーのスクリーンショットを示します。

リストデザイナー

  • ステップ8 *-このデザイナーは単なるXMLエディターです。 Contactsの下のElements.xmlファイルを開き、次のデータを追加します。
<?xml version = "1.0" encoding = "utf-8"?>

<Elements xmlns = "http://schemas.microsoft.com/sharepoint/">
   <ListInstance Title = "Contacts" OnQuickLaunch = "TRUE" TemplateType = "105"
      FeatureId = "00bfea71-7e6d-4186-9ba8-c047ac750105"
      Url = "Lists/Contacts" Description = "">
      <Data>
         <Rows>

            <Row>
               <Field Name = "ID">1</Field>
               <Field Name = "Last Name">Anders</Field>
               <Field Name = "First Name">Maria</Field>
               <Field Name = "Company">Alfreds Futerkiste</Field>
               <Field Name = "Business Phone">030-0074321</Field>
            </Row>

            <Row>
               <Field Name = "ID">2</Field>
               <Field Name = "Last Name">Hardy</Field>
               <Field Name = "First Name">Thomas</Field>
               <Field Name = "Company">Around the Horn</Field>
               <Field Name = "Business Phone">(171) 555-7788</Field>
            </Row>

            <Row>
               <Field Name = "ID">3</Field>
               <Field Name = "Last Name">Lebihan</Field>
               <Field Name = "First Name">Laurence</Field>
               <Field Name = "Company">Bon app'</Field>
               <Field Name = "Business Phone">91.24.45.40</Field>
            </Row>

            <Row>
               <Field Name = "ID">4</Field>
               <Field Name = "Last Name">Ashworth</Field>
               <Field Name = "First Name">Victoria</Field>
               <Field Name = "Company">B's Beverages</Field>
               <Field Name = "Business Phone">(171) 555-1212</Field>
            </Row>

            <Row>
               <Field Name = "ID">5</Field>
               <Field Name = "Last Name">Mendel</Field>
               <Field Name = "First Name">Roland</Field>
               <Field Name = "Company">Ernst Handel</Field>
               <Field Name = "Business Phone">7675-3425</Field>
            </Row>

         </Rows>
      </Data>
   </ListInstance>
</Elements>

次のことに注意してください-

  • ListInstance 要素内には、 Data という要素があり、その中にいくつかの行があります。
  • クイック起動で表示するかどうかにかかわらず、ListInstanceには Contacts 属性があります。
  • 連絡先テンプレートに基づいたリストが必要です。 ここでは、 TemplateType105 に設定されています。 これは乱数ではなく、意味のある数字です。
  • お知らせリスト、タスクリスト、連絡先リストなど、SharePointで使用できるデフォルトのリストにはそれぞれ、番号が関連付けられています。 したがって、105から107に変更すると、異なる種類のリストが表示されます。
  • FeatureId は、連絡先リストの定義に関連付けられたガイドです。
  • ステップ9 *-このリストのデータを表示するページが必要です。 プロジェクトを右クリックし、*追加→新規アイテム…​ *を選択します。中央のペインでモジュールを選択し、名前フィールドにSitePageと入力して、*追加*をクリックします。

モジュール

*SitePage* というノードが表示されます。このノードには、 *Elements.xml* および *Sample.txt* ファイルの2つのファイルがあります。 このsample.txtファイルをプロビジョニングしたくないのですが、SitePageをプロビジョニングしたいのです。

ステップ10 *-テキストファイルの名前を *Contacts.aspx に変更し、次のコードを置き換えます-

<%@ Assembly Name = "Microsoft.SharePoint, Version = 14.0.0.0, Culture = neutral,
   PublicKeyToken = 71e9bce111e9429c" %>

<%@ Page MasterPageFile = "~masterurl/default.master"
   meta:progid = "SharePoint.WebPartPage.Document" %>

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

<asp:Content ID = "Content2" runat = "server" ContentPlaceHolderID = "PlaceHolderMain">
   <SharePoint:SPDataSource runat = "server"
      ID = "ContactsDataSource" DataSourceMode = "List"
      UseInternalName = "false">
      <SelectParameters>
         <asp:Parameter Name = "ListName" DefaultValue = "Contacts"/>
      </SelectParameters>
   </SharePoint:SPDataSource>

   <SharePoint:SPGridView runat = "server"
      ID = "ContactsGridView" DataSourceID = "ContactsDataSource"
      AutoGenerateColumns = "false" RowStyle-BackColor = "#DDDDDD"
      AlternatingRowStyle-BackColor = "#EEEEEE">
      <Columns>
         <asp:BoundField HeaderText = "Company"
            HeaderStyle-HorizontalAlign = "Left" DataField = "Company"/>
         <asp:BoundField HeaderText = "First Name"
            HeaderStyle-HorizontalAlign = "Left" DataField = "First Name"/>
         <asp:BoundField HeaderText = "Last Name"
            HeaderStyle-HorizontalAlign = "Left" DataField = "Last Name"/>
         <asp:BoundField HeaderText = "Phone"
            HeaderStyle-HorizontalAlign = "Left" DataField = "Business Phone"/>
      </Columns>
   </SharePoint:SPGridView>
</asp:Content>

<asp:Content ID = "PageTitle" ContentPlaceHolderID = "PlaceHolderPageTitle"
   runat = "server">
   Contacts
</asp:Content>

<asp:Content ID = "PageTitleInTitleArea"
   ContentPlaceHolderID = "PlaceHolderPageTitleInTitleArea" runat = "server" >
   Contacts
</asp:Content>

SitePageには SP.DataSource ファイルがあり、これを使用して連絡先リストデータを作成します。これはページでバインドできます。 SP.GridView には、連絡先情報が表示されます。

これがSitePageであり、機能を見てみましょう。

サイトページ

  • Featureの Items では、SitePageの連絡先リストインスタンスとモジュールプロビジョニングが要素として追加されていることに注意してください。

Visual Studioは、独自の要素では何もできないことを理解しています。 要素はフィーチャーの一部である必要があります。 したがって、要素を追加するときは、その要素を機能に追加する必要があります。

ステップ11 *-プロジェクトに移動して右クリックし、*追加→新規アイテム …​を選択します

ここでは、CustomActionを追加するため、中央のペインで[空の要素]を選択し、このアクションを呼び出して[追加]をクリックします。

CustomAction

フィーチャーに戻ると、下のスクリーンショットに示すように、エレメントがフィーチャーに追加されていることがわかります。

追加された機能

ステップ12 *-アクションの下の *Elements.xml に戻り、次のコードを置き換えます-

<?xml version = "1.0" encoding = "utf-8"?>

<Elements xmlns = "http://schemas.microsoft.com/sharepoint/">
   <CustomAction
      Id = "SiteActionsToolbar"
      GroupId = "SiteActions"
      Location = "Microsoft.SharePoint.StandardMenu"
      Sequence = "100"
      Title = "Contacts"
      Description = "A page showing some sample data">
      <UrlAction Url = "~site/SitePages/Contacts.aspx"/>
   </CustomAction>
</Elements>

リンクまたはメニューオプションを追加する場合、追加する場所を定義する必要があります。これは、それらを定義するLocationとGroupIdの組み合わせです。 この値の組み合わせは、メニューオプションをSiteActionsメニューに追加する必要があることを示します。

他の多くの値の組み合わせがあり、SharePointサイト内の他の場所にリンクまたはメニューを追加します。 これは、SharePoint内のどこかにメニューオプションを追加するときに必要な値の適切な組み合わせを調べるために調査する必要があるものです。

  • ステップ13 *-*機能*をダブルクリックすると、機能デザイナーが表示されます。 機能デザイナーは、XMLドキュメントである機能マニフェストの洗練されたエディターです。

機能

重要なポイント-

  • この機能は、要素の論理的なグループ化を定義します。 ここで、機能は、作成したばかりの3つの要素マニフェストを参照しています。
  • 機能をアクティブにすると、SharePointは個々の要素マニフェストを見て、リスト、ページ、およびリンクをSharePointサイトに追加します。
  • Visual Studioを使用して展開すると、プロジェクト内のすべての機能が自動的にアクティブになります。 フィーチャーをアクティブ化するプロセスを実行したいので、Visual Studioにそれを行わないように指示します。
  • ステップ14 *-[SharePoint]タブに移動して、[プロジェクトのプロパティ]に移動します。 デプロイメント構成を*アクティベーションなし*に変更します。

アクティベーションなし

これをテストしましょう。

  • ステップ15 *-ソリューションエクスプローラーでプロジェクトを右クリックし、[展開]を選択します。 プロジェクト内のすべてのものをパッケージ化し、SharePoint開発ファームに展開します。

デプロイ

正常にデプロイされると、「出力」ウィンドウに表示されます。

  • ステップ16 *-SharePointサイトに移動して更新します。 * [サイトの設定]→[サイトのアクション]に移動します。

サイトアクション

  • ステップ17 *-カスタムフィーチャーがWebスコープであり、*サンプルフィーチャー*が表示されるため、[サイトフィーチャーの管理]を選択します。 この機能が有効になっていないことがわかります。先に進んで有効にしてください。

Webスコープ

左側のペインに連絡先リストが表示されます。

左ペインの連絡先リスト

  • ステップ18 *-[連絡先]をクリックすると、リストにあったデータが表示されます。

連絡先タブ

  • ステップ19 *-[サイトの操作]メニューに移動します。 連絡先ページに移動するオプションがあります。 それがCustomActionです。

サイトアクションメニュー

  • ステップ20 *-連絡先をクリックすると、SitePageが表示され、連絡先リストのデータが表示されます。

連絡先リストからのデータ

SharePoint-Feature \ Event Receiver

この章では、コードハンドル*を追加する方法を学びます。 コードハンドルは、機能がアクティブ化または非アクティブ化されたときに発生するイベントです。 つまり、 *Feature Receivers を調べます。

前の章で作成したVisual Studioプロジェクトには1つの機能があり、アクティブ化されると、連絡先リスト、SitePage、およびSitePageへのリンクがプロビジョニングされました。

ただし、機能が非アクティブ化されると、SharePointはリンクのみを削除し、SitePageと連絡先リストは残ります。

必要に応じて、リストとページを削除するために機能が非アクティブ化されたときにコードを記述できます。 この章では、フィーチャーが非アクティブ化されたときにコンテンツと要素を削除する方法を学習します。

Featureのイベントを処理するには、 Feature Receiver が必要です。

ステップ1 *-フィーチャーレシーバーを取得するには、ソリューションエクスプローラーでフィーチャーを右クリックし、[イベントレシーバーの追加]を選択します。

using System;
using System.Runtime.InteropServices;
using System.Security.Permissions;
using Microsoft.SharePoint;

namespace FeaturesAndElements.Features.Sample {
  ///<summary>
     ///This class handles events raised during feature activation, deactivation,
         installation, uninstallation, and upgrade.
  ///</summary>
  ///<remarks>
     ///The GUID attached to this class may be used during packaging and should not be modified.
  ///</remarks>
   [Guid("e873932c-d514-46f9-9d17-320bd3fbcb86")]

   public class SampleEventReceiver : SPFeatureReceiver {
     //Uncomment the method below to handle the event raised after a feature has been activated.
     //public override void FeatureActivated(SPFeatureReceiverProperties properties)//{
        //
      }
     //Uncomment the method below to handle the event raised before a feature is deactivated.
     //public override void FeatureDeactivating(SPFeatureReceiverProperties properties)//{
        //
      }
     //Uncomment the method below to handle the event raised after a feature has been installed.
     //public override void FeatureInstalled(SPFeatureReceiverProperties properties)//{
        //
      }
     //Uncomment the method below to handle the event raised before a feature is uninstalled.
     //public override void FeatureUninstalling(SPFeatureReceiverProperties properties)//{
        //
      }
     //Uncomment the method below to handle the event raised when a feature is upgrading.
     //public override void FeatureUpgrading(SPFeatureReceiverProperties
         properties, string upgradeActionName,
         System.Collections.Generic.IDictionary<string, string> parameters)//{
        //
      }
   }
}

取得するものは、 SPFeatureReceiver を継承するクラスです。

SharePointには、処理できるイベントの種類ごとに異なるクラスがあります。 たとえば、リスト上のイベント、リストアイテム上のイベント、サイト上のイベント。 特定のイベントレシーバーから派生したクラスを作成し、そのクラス内のメソッドをオーバーライドしてイベントを処理できます。

それがされているときに機能のイベントが使用されます-

  • 有効化
  • 無効化
  • インストール済み
  • アンインストール済み
  • アップグレード

次に、特定のアイテムのイベントハンドラーとしてそのクラスをアタッチする必要があります。 たとえば、リストイベントを処理するイベントハンドラーがある場合、そのクラスをリストにアタッチする必要があります。

したがって、我々は2つの機能を処理します-

  • 機能がアクティブになったとき
  • 非アクティブ化されているとき。

ステップ2 *-以下に示すように、 *FeatureActivated およびFeatureDeactivatedメソッドを実装します-

using System;
using System.Runtime.InteropServices;
using System.Security.Permissions;
using Microsoft.SharePoint;

namespace FeaturesAndElements.Features.Sample {
  ///<summary>
     ///This class handles events raised during feature activation, deactivation,
         installation, uninstallation, and upgrade.
  ///</summary>
  ///<remarks>
     ///The GUID attached to this class may be used during packaging and should
         not be modified.
  ///</remarks>

   [Guid("e873932c-d514-46f9-9d17-320bd3fbcb86")]
   public class SampleEventReceiver : SPFeatureReceiver {
      private const string listName = "Announcements";

      public override void FeatureActivated(SPFeatureReceiverProperties properties) {
         var web = properties.Feature.Parent as SPWeb;

         if (web == null) return;
         var list = web.Lists.TryGetList(listName);

         if (list != null) return;
         var listId = web.Lists.Add(listName, string.Empty,
         SPListTemplateType.Announcements);
         list = web.Lists[listId];
         list.OnQuickLaunch = true;
         list.Update();
      }
      public override void FeatureDeactivating(SPFeatureReceiverProperties properties) {
         var web = properties.Feature.Parent as SPWeb;

         if (web == null) return;
         var list = web.Lists.TryGetList(listName);

         if (list == null) return;
         if (list.ItemCount == 0) {
            list.Delete();
         }
      }
   }
}

-

  • 機能がアクティブになると、お知らせリストを作成します。
  • 機能が非アクティブ化されると、お知らせリストが空かどうかを確認し、空の場合は削除します。
  • ステップ3 *-プロジェクトを右クリックして、デプロイを選択します。 次のデプロイメント競合警告が表示されます。

展開の競合

Visual Studioは、contactsというリストを作成しようとしていると言っていますが、Contactsというリストがすでにサイトにあります。 既存のリストを上書きするかどうかを尋ねられます。この場合、*解決*をクリックします。

  • ステップ4 *-SharePointに戻り、サイトを更新して、*サイトアクション→サイト設定→サイト機能の管理→サンプル機能*に移動します。

サンプル機能

左ペインにお知らせリストがないことがわかります。

  • ステップ5 *-サンプル機能を有効にすると、お知らせリストが表示されますが、現在は空です。

お知らせリスト

-サンプル機能を無効にすると、お知らせリストが消えます。

  • ステップ6 *-機能を再度有効にします。 お知らせに移動してから、新しいお知らせを追加します。 このテストを呼び出して、[保存]をクリックします。

新しいお知らせ

アナウンスの下にテストファイルが表示されます。

発表中のテストファイル

これで、アナウンスを非アクティブ化すると、アナウンスリストが空ではなかったために残ることがわかります。

アナウンスメントの非アクティブ化

SharePoint-Azureプラットフォーム

この章では、Microsoft Azure Platformについて説明します。 Microsoft Azureは、Microsoftのクラウドプラットフォームテクノロジーであり、それ自体が非常に強力なテクノロジーです。 これは単にコードを展開する場所ではありませんが、開発者としてSharePointソリューション開発で使用できるサービスのセット全体が存在します。

クラウドコンピューティング

Microsoft Azureを理解するには、まずクラウドについて少し知っておく必要があります。 クラウドコンピューティングとは、ソリューションの開発と展開のためのリソースセットとしてWebを活用することです。 従来、クラウドコンピューティングはサービスのカテゴリとして定義されてきました。 彼らは-

  • サービスとしてのインフラストラクチャ(IAAS)
  • サービスとしてのプラットフォーム(PAAS)
  • サービスとしてのソフトウェア(SAAS)

これらのカテゴリはそれぞれ、開発のコンテキストが異なります。 たとえば、あなたは考えるかもしれません-

  • リモートで管理するホストされた仮想マシン(VM)としてのIAAS。
  • コード、データ、バイナリラージオブジェクト(BLOB)、Webアプリ、およびその他のアプリケーションアーティファクトをクラウドベース環境(Windows Server 2012 R2やIISなど)に展開する場所としてのPAAS。
  • たとえば、Office 365など、使用するためにサインアップできるサブスクリプションベースのサービスとしてのSAAS。

サービスのこれらの3つのカテゴリは、クラウドが特徴付けられる方法を支配しますが、クラウドには4つの一般的に受け入れられている柱があります-

  • 他のクラウドユーザーとリソースをプールします。
  • 管理ポータルから独自のサービスとアプリを管理します。
  • アプリとサービスは成長し、ビジネスニーズに合わせて縮小できます。
  • クラウドに関して使用した分だけお支払いください。

Azure Platformの概要

Microsoft Azureプラットフォームは、さまざまなサービスで構成されています。 Microsoft Azure内のサービスを使用するアプリケーションのクライアントレイヤーであるデータ、サービス、統合などのアプリケーションの設計、展開、管理でそれらを活用できます。

データ層

データレイヤーには、非リレーショナルとリレーショナルの両方を含むデータストレージに直接マップする、さまざまなタイプのデータストレージメカニズムまたは機能があります。

非リレーショナル機能

非リレーショナルストレージ機能により、次のことが可能になります-

  • 仮想マシンの画像や画像、ビデオなどのアセットをBlobに保存するには
  • 非リレーショナルテーブルを作成する
  • サービスバスに沿ってメッセージキューを管理し、分散アプリケーションのデータキャッシュを管理します

リレーショナル機能

リレーショナルデータの機能は次のとおりです-

  • オンプレミスSQL ServerのクラウドバージョンであるコアAzure SQLデータベース
  • レポートサービス(SQLレポート)
  • データトランザクションからほぼリアルタイムのデータストリームをストリーミングする機能(Stream Insight)

サービス層

サービスレイヤーには、メディアサービスからコアクラウドサービスなど、ソリューションの構築時に使用できる多数のデフォルトサービスが含まれます-

  • ウェブサイトを作成する
  • ワーカーロールクラス
  • Microsoft AzureでHadoopを活用してビッグデータリクエストを処理する

これらのサービスの多くでは、アプリケーション内で焼き付け機能と一連のAPIを使用できます。 たとえば、マルチメディア学習ソリューションを構築する場合は、メディアサービスを活用できます-

  • WMVをアップロードするには
  • それらをMP4にトランスコードする
  • それらをBLOBストレージに保存する
  • アクセス用のパブリックURLを作成し、Microsoft Azureからストリーミングします

統合層

統合層には、次のような基本的なサービスが含まれています-

  • 地理的に複製されたコンテンツ配信ネットワーク(CDN)
  • トラフィックマネージャー
  • 仮想プライベートネットワーク。仮想マシンをオンプレミスシステムに接続できます。
  • ワークフローおよびビジネスプロセスと統合サービス

これらすべての機能により、システムを統合したり、システムを保護したりできます。

Azureアプリ

Microsoft Azureはサービスだけではありません。 Azureは、クラウドアプリケーションの開発を迅速に開始できるツールとSDKのセットを備えた、進化を続けるクラウドプラットフォームです。

Microsoft Azureで開始するには、次のものが必要です-

  • Visual Studio最新
  • Microsoft Azureサブスクリプション
  • Microsoft Azureサブスクリプション
  • ステップ1 *-新しいASP.NET MVCアプリケーションを作成して、WebアプリケーションをMicrosoft Azureにデプロイする簡単な例を見てみましょう。

ASP.NET MVCアプリケーション

  • ステップ2 *-[OK]をクリックすると、次のダイアログボックスが表示されます。 MVCテンプレートを選択し、[クラウドのチェックボックス]チェックボックスをオンにして、[OK]をクリックします。

クラウド内のホスト

  • ステップ3 *-[Microsoft Azure Webアプリ設定の構成]ダイアログが表示されたら、Azureにサインインしていることを確認します。 サインインしていない場合は、最初にサインインします。

デフォルトの名前が表示されますが、* Webアプリ名*を変更できます。

Webアプリ名

  • ステップ4 *-以下に示すように、必要な情報を入力します。 [データベースサーバー]ドロップダウンリストから[新しいサーバーの作成]を選択します。

新しいサーバーの作成

  • ステップ5 *-追加のフィールドが表示されます。 データベースサーバー、ユーザー名、およびパスワードを入力し、[OK]をクリックします。

データベースサーバー

プロジェクトが作成されたら、アプリケーションを実行すると、ローカルホストで実行されていることがわかります。

ローカルホストで実行

  • ステップ6 *-これらのアプリケーションをAzureにデプロイするには、ソリューションエクスプローラーでプロジェクトを右クリックし、[発行]を選択します。

公開の選択

  • ステップ7 *-次のダイアログボックスが表示されます。 [Microsoft Azure Web Apps]をクリックします。

Microsoft Azure Web Apps

  • ステップ8 *-*既存のWebアプリ*からアプリケーション名を選択し、[OK]をクリックします。

既存のWebアプリ

  • ステップ9 *-[接続の検証]ボタンをクリックして、Azureの接続を確認します。

接続の検証

  • ステップ10 *-[次へ]をクリックして続行します。

次へをクリック

これで、デフォルトで接続文字列がすでに生成されていることがわかります。

接続文字列

  • ステップ11 *-[次へ]をクリックして続行します。

Webを公開

ステップ12 *-Azureに公開するすべてのファイルとdllを確認するには、[*プレビューの開始]をクリックします。

プレビューを開始

  • ステップ13 *-*公開*をクリックして、アプリケーションを公開します。

公開

アプリケーションがAzureに正常に発行されると、出力ウィンドウにメッセージが表示されます。

メッセージ

また、アプリケーションがクラウドから実行されていることもわかります。

クラウドから実行中のアプリケーション

Azureポータルに再度アクセスすると、アプリもここに表示されます。

Azure Portal

SharePointアプリとMicrosoft Azure

SharePointとMicrosoft Azureは、それ自体が2つの大きなプラットフォームです。 SharePointは、Microsoftの主要なサーバー生産性プラットフォームの1つであるか、企業とWeb向けのコラボレーションプラットフォームです。

Microsoft Azureは、クラウド内のMicrosoftのオペレーティングシステムです。 それとは別に、彼らには独自の強み、市場の実行可能性、開発者のフォローがあります。

一緒に、彼らは多くの強力な利点を提供します。 彼らは-

  • コードとデータを展開する方法と場所を拡張するのに役立ちます。
  • Microsoft Azureを活用する機会を増やすと同時に、オンプレミスアプリケーションのストレージとフェールオーバーのコストを削減します。
  • 彼らは、あなたがあなた自身のソリューション提供を増やすためにあなたがあなたの顧客に持って行くことができる新しいビジネスモデルと提供を提供します。

SharePoint 2010では、AzureとSharePointは2つの異なるプラットフォームとテクノロジーであり、十分に簡単に統合できましたが、同じシステムの一部ではありませんでした。 ただし、SharePoint 2013ではこれが変更されました。

SharePoint 2013では、さまざまな種類のクラウドアプリケーションが導入されています。 実際、2種類のAzure統合アプリケーションを構築できます。

最初のタイプのアプリケーションは自動ホスト型で、2番目のタイプはプロバイダーホスト型です(自己ホスト型とも呼ばれます)。

2つの主な違いは-

  • 自動ホストアプリケーションは、WebサイトやSQLデータベースなどの一連のAzure機能を、SharePointの開発および展開の経験とともにネイティブにサポートします。
  • プロバイダーホストアプリケーションは、自動ホストアプリケーション(Microsoft Azureの1つ)よりも幅広いWebテクノロジーおよび標準と統合することを目的としています。

したがって、Azureを使用するProviderhostedアプリを構築するときに、Microsoft Azureスタック全体を利用できます。

SharePoint-パッケージ化と展開

この章では、SharePointソリューションのパッケージ化と展開について説明します。 SharePointソリューションの展開の最初のステップは、ソリューションパッケージの作成です。

ソリューションパッケージ*は、Visual Studioプロジェクトで機能を実装するために必要なすべてのファイルを含むWSP拡張子を持つ *CAB ファイルです。

機能を実装するために必要なファイルが含まれます-

  • 機能マニフェスト。
  • すべての要素が現れます。
  • コンパイルされたマネージコードを含むdll。
  • Webページ、ユーザーコントロール、Webペアファイルなどの関連ファイル。
  • ソリューションパッケージに含まれる別のファイルは、ソリューションマニフェストです。 ソリューションマニフェストは、パッケージに含まれるファイルのカタログです。 ファームソリューションの場合、展開手順も含まれます。
  • 機能マニフェストと同様に、Visual Studioは、プロジェクトを変更すると、自動的にソリューションマニフェストを作成および維持します。 ソリューションデザイナを使用して、ソリューションマニフェストを表示できます。
  • ソリューションマニフェストの作成と保守に加えて、Visual Studioはプロジェクトのソリューションパッケージも自動的に作成します。 これは、デバッグ用に作業を展開するたびに、バックグラウンドで実行されます。
  • 生成されたソリューションパッケージは、dllと同じフォルダーに配置されるため、binデバッグまたはbinリリースフォルダーになります。 このファイルの内容をWindowsエクスプローラーで表示するには、拡張子をWSPからCABに変更し、ファイルをダブルクリックします。

前の章で作成したSharePointソリューションプロジェクトに関連付けられたソリューションパッケージを調べる簡単な例を見てみましょう。 先ほど作成した機能と要素のプロジェクトから始めましょう。

機能と要素

プロジェクトで知っているように、サンプルと呼ばれる1つの機能があります。 この機能は、3つの要素マニフェスト Contacts、SitePage、およびAction を参照します。

また、ActionにはElementマニフェスト、ContactsにはElementマニフェスト、SitePageにはElementマニフェスト、およびこのWebページをサイトにプロビジョニングするWebページがあることがわかります。 したがって、ソリューションパッケージには、フィーチャーマニフェスト、3つの要素マニフェスト、Webページ、およびプロジェクトのビルド時に作成されるアセンブリが含まれることを期待する必要があります。

  • ステップ1 *-ソリューションエクスプローラーでプロジェクトを右クリックし、ファイルエクスプローラーで[フォルダーを開く]を選択します。

ファイルエクスプローラーのフォルダー

  • ステップ2 *-binに移動して、Debugフォルダーを開きます。 ソリューションパッケージが表示されます。

デバッグフォルダー

  • ステップ3 *-コピーを作成し、コピーファイルの拡張子をwspからcabに変更します。

wsp to cab

  • ステップ4 *-cabファイルをダブルクリックして開きます。ファイルが表示されます。 機能マニフェスト、3つの要素マニフェスト、aspxページ、dll、およびソリューションマニフェストである1つの追加ファイルが表示されます。

cabファイル

ステップ5 *-ソリューションエクスプローラーには、Packageというフォルダーが表示され、展開すると *Package.package というファイルが表示されます。 そのファイルをダブルクリックすると、ソリューションデザイナーが表示されます。

Package.package

このデザイナーは、現在ソリューションには1つの機能しかなく、その機能は3つの要素マニフェスト、Contacts、SitePage、およびActionを参照することを示しています。

このデザイナーは、機能デザイナーと同様にXMLドキュメントのエディターです。

機能リファレンス

このプロキシのソリューションマニフェストは単純です。 これは、FeatureandElemenest.dllという名前のデプロイする必要があるアセンブリであることを示しており、 GlobalAssemblyCache にデプロイする予定です。

また、この機能マニフェストには1つの機能があることを示しています。 機能に戻ってマニフェストを見ると、3つの要素マニフェストとaspxページがあることがわかります。

GlobalAssemblyCache

ファームソリューションの展開

ソリューションパッケージとその内容がわかったので、それらを展開する方法を学ぶ必要があります。

ファームソリューションを展開するには、Visual Studioで作成したソリューションパッケージをSharePoint管理者に渡します。 PowerShellまたはサーバーの全体管理、または両方のツールの組み合わせを使用して、パッケージを展開します。

ファームソリューションの展開を見てみましょう。

  • ステップ1 *-Visual Studioプロジェクトの機能と要素に移動します。

ファームソリューション開発

このプロジェクトには、3つの要素を持つ1つの機能があります。 ファームソリューションを展開すると、以下に示すように、ソリューションの内容がSharePointシステムフォルダーにコピーされます-

SharePointシステムフォルダー

  • ステップ2 *-リストデザイナに移動して、タイトルをContacts-Change 1に変更し、[保存]ボタンをクリックします。

Changes to Change1

ステップ3 *-プロジェクトプロパティに移動し、左ペインでSharePointを選択します。 *Active Deployment Configuration オプションで、ドロップダウンリストからDefaultオプションを選択します。

アクティブな展開構成

  • ステップ4 *-ソリューションエクスプローラーで、プロジェクトを右クリックし、[展開]を選択します。 展開が完了したら、サイトを更新すると、変更が表示されます。

デプロイを選択

SharePoint-サンドボックスソリューション

この章では、Sandboxソリューションの展開について説明します。 サンドボックスソリューションの展開は、ファームソリューションの展開よりも非常に簡単です。

ドキュメントライブラリへのドキュメントのアップロードに似ています。 開発が完了したら、ソリューションパッケージを取得し、SharePoint管理者に提供する代わりに、サイトコレクションの所有者特権を持つユーザーにエンドユーザーに提供します。 その後、パッケージを受け取り、サイトコレクションソリューションギャラリーにアップロードします。

ファームソリューションと同様に、Visual Studioのツールは、開発中にこの展開プロセスを自動化します。

Sandboxソリューションの展開の簡単な例を見てみましょう。 ファームソリューションの展開よりも非常に簡単です。

  • ステップ1 *-ここでは、新しいサイトコレクションを作成し、デモ1と呼ぶ必要があります。

Demo1

  • ステップ2 *-連絡先リストの名前をFeaturesAndElementsプロジェクトの連絡先に戻します。

FeaturesAndElementsの連絡先

  • ステップ3 *-プロジェクトを右クリックして[撤回]を選択し、ソリューションを撤回します。 SharePointシステムフォルダーに戻ると、Featureフォルダーが存在しないことがわかります。

Retract

次に、[サイト機能の管理]に移動すると、サンプル機能は表示されません。

サイト機能の管理に移動

  • ステップ4 *-Visual Studioプロジェクトに戻り、ソリューションエクスプローラーでプロジェクトをクリックしてから、プロパティウィンドウに移動します。 サンドボックスソリューションをFalseからTrueに変更します。

サンドボックスソリューション

警告ダイアログが表示されます。

プロパティの変更

これにより、Visual Studioプロジェクトに追加したアイテムの一部が、サンドボックスソリューションおよび一部のSharePoint APIで動作しないことがわかります。 SharePoint Serverオブジェクトモデル内の一部のタイプは、サンドボックスソリューションと互換性がありません。

[はい]をクリックして変更します。 この場合、サンドボックスソリューションの構築はファームソリューションの構築と同じですが、展開プロセスは完全に異なります。

サンドボックスソリューションでは、ファイルをSharePointシステムフォルダーに展開する代わりに、SharePointコンテンツデータベースに展開します。

  • ステップ5 *-サイト設定に移動します。 Web Designer Galleriesの下に、ソリューションギャラリーがあります。

ソリューションギャラリー

  • ステップ6 *-[ソリューション]リンクをクリックすると、サンドボックスソリューションを展開する次のページが表示されます。

Sandboxソリューションの展開

開発が完了しました。 ソリューションパッケージをSharePoint管理者に渡し、PowerShellまたはCentral Adminを使用してファームソリューションを展開する代わりに、サイトコレクションの所有者特権を持つユーザーにパッケージを与えてから、ソリューションをアップロードすることができます。ソリューションギャラリー。

  • ステップ7 *-Visual Studioに戻り、右クリックして[ファイルシステムに発行]を選択します。

ファイルシステムに公開

[発行]ボタンをクリックして、新しいソリューションパッケージをパッケージフォルダーに発行します。

パッケージフォルダーにパッケージが表示されます。

パッケージフォルダー

  • ステップ8 *-SharePointサイトに移動します。 リボンの[ソリューションのアップロード]ボタンオプションをクリックします。

ソリューションのアップロードボタン

  • ステップ9 *-FeaturesAndElementsソリューションを参照します。 OKをクリックしてください。

FeaturesAndElements Solution

次のダイアログが表示されます。

  • ステップ10 *-[アクティブ化]ボタンをクリックするだけで、サンドボックスソリューションをアクティブ化できます。

アクティブなサンドボックスソリューション

  • ステップ11 *-サイト機能の管理に移動します。

サイト機能の管理

サンプル機能が表示され、[アクティブ化]をクリックすると、以前と同じ動作が得られます。

アクティブ化

SharePoint-アプリ

この章では、SharePointアプリについて説明します。 アプリモデルは、SharePointの拡張機能の新しい開発展開およびホスティングモデルです。 SharePoint 2013の開発者として、ファームまたはサンドボックスソリューションのソリューションモデルを使用するか、アプリモデルを使用するかを選択できます。

Microsoftのドキュメントとガイダンスでは、ソリューションモデルよりもアプリモデルを優先することを推奨しており、これは非常に有効なガイダンスである可能性があります。 ただし、アプリモデルはSharePoint 2013の重要な追加機能であり、ソリューションモデルはSharePoint 2007以降存在していることを考慮する必要があります。

したがって、ソリューションモデルを使用した開発のナレッジベースは、アプリ開発のナレッジベースの現在の状態よりも大幅に優れています。

アプリは、人々がそれを使用して実世界の経験を共有するのに十分なほど長くはありませんでした。 アプリモデルとその長所と短所を学ぶことは非常に重要だと思います。

アプリの特徴

アプリの特性は以下のとおりです-

  • 開発者の観点から最初でおそらく最も重要なのは、アプリ内のすべてのコードがSharePointサーバーの外部で実行されることです。 これは、コードがユーザーのブラウザで実行されているJavaScriptであるか、外部サーバーで実行されているコードであることを意味します。
  • すべてのコードはSharePointの外部で実行されているため、SharePointとの通信はWebサービスを介して行われます。つまり、クライアントオブジェクトモデルまたはREST APIを使用しています。
  • SharePointアプリでサーバーオブジェクトモデルを使用できる状況はありません。
  • アプリの構築が完了したら、パブリックアプリストアまたはローカルアプリカタログのいずれかに配置します。 これにはレビュープロセスが必要であり、いくつかのルールがあります。これらのルールに従って、アプリをパブリックアプリストアに掲載する資格を得る必要があります。
  • もう1つのオプションは、アプリをローカルアプリカタログに配置することです。これは、中央管理によってアプリカタログになるように構成されたWebアプリケーション内の単なるサイトコレクションです。
  • アプリがカタログのストアに展開されると、サイトコレクションの所有者権限を持つユーザーは、SharePointサイトにアプリをインストールできます。

アプリの種類

ビルドできるアプリにはさまざまな種類があり、次のとおりです-

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用の新しいアプリでは、デバッグするSharePointサイトのURLを追加し、SharePoint用のアプリをホストする方法としてSharePointホストモデルを選択する必要があります。

  • ステップ3 *-SharePoint管理センターに移動して、SharePoint URLをコピーします。

SharePoint URL

  • ステップ4 *-以下に示すように、[SharePoint用の新しいアプリ]ダイアログボックスにURLを貼り付けます。

SharePointの新しいアプリ

  • ステップ5 *-[次へ]をクリックすると、[SharePointに接続]ダイアログボックスが開き、ログインする必要があります。

SharePointに接続

  • ステップ6 *-資格情報を入力し、[サインイン]ボタンをクリックします。 SharePointサイトに正常にログインすると、次のダイアログボックスが表示されます-

サインイン

ステップ7 *-*完了*をクリックします。 プロジェクトが作成されたら、ソリューションエクスプローラーで *AppMenifest.xml ファイルをクリックします。

AppMenifest.xml

  • ステップ8 *-*許可*タブをクリックします。 [スコープ]ドロップダウンリストが開きます。

権限タブ

  • ステップ9 *-[スコープ]ドロップダウンリストで、[Web]を選択します。これは、構成する権限のスコープです。 [アクセス許可]ドロップダウンリストで、構成するアクセス許可の種類である[読み取り]を選択します。

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オンラインサイトに移動します。

SharePointに移動

ステップ13 *-左ペインで[ *Apps for SharePoint ]をクリックします。 新しいページが開きます。

SharePoint用アプリ

  • ステップ14 *-ファイルをここにドラッグしてアップロードします。

ファイルのアップロード

ファイルがアップロードされると、次のページが表示されます-

アップロードされたファイルのタブ

  • ステップ15 *-左ペインのオプション-*サイトの内容*をクリックします。 次のスクリーンショットに示すように、*アプリを追加*アイコンをクリックします-

サイトコンテンツ

新しいページが開きます。

  • ステップ16 *-左ペインで[*アプリ]→[組織から]を選択すると、アプリがインストール可能になっていることがわかります。 アプリをクリックします。

組織からアプリを選択

ステップ17 *-アプリをクリックすると、次のスクリーンショットに示すようなダイアログボックスが開きます。 [ *Trust ]をクリックします。

ダイアログボックス

  • ステップ18 *-アプリがインストールされていることがわかります。 インストールが完了したら、アプリをクリックできます。

インストール済みアプリ

あなたは1つのボタンが含まれている次のページが表示されます-

ページ

*Push me* ボタンをクリックすると、現在の日付が表示されます。

Push me Button

自動ホスト

新しいプロジェクトを作成して、 Autohosted の簡単な例を見てみましょう。

ステップ1 *- SharePoint 2013向けアプリ*を選択し、 OK をクリックします。

SharePoint 2013のアプリ

  • ステップ2 *-自動ホストを選択します。

自動ホストの選択

  • ステップ3 *-ASP.NET MVC Webアプリケーションを選択し、[完了]をクリックします。

ASP.NET MVC Webアプリケーション

プロジェクトが作成されたら、アプリを公開します。 残りの手順は、SharePointがホストするオプションの場合と同じです。