サンドボックス ソリューションで一般的な宣言型要素を作成し、展開する

このトピックでは、宣言で定義する一般的な SharePoint プロジェクト コンポーネントをサンドボックス ソリューションで作成する方法について説明します。

最終更新日: 2015年3月9日

適用対象: SharePoint Foundation 2010

SharePoint Online で使用可能

このトピックでは、次のコンポーネントだけを対象としています (サンドボックス ソリューションで他の種類のコンポーネントを作成し、展開する方法については、「その他の技術情報」を参照してください)。

  • リスト/ライブラリ テンプレート (schema.xml ファイルを含む)

  • リスト/ライブラリ インスタンス

  • コンテンツ タイプ

  • コンテンツ タイプとリストのバインド

  • フィールド (ユーザー設定フィールド型を除く)

  • カスタム アクション (ただし、カスタム アクション グループの定義とカスタム アクションの非表示は、サンドボックス ソリューションで展開できません。このトピックの後半にある「メモ」を参照してください)

  • プロパティ バッグ

  • サイト定義構成へのフィーチャーのステープル (フィーチャー/サイト テンプレート関連付けとも呼ばれます)

注意

次の一般的な宣言型 SharePoint プロジェクト コンポーネントは、サンドボックス ソリューションで展開できません。

  • 委任コントロールのコントロール候補の登録 (Control 要素)。

  • ドキュメント コンバーターの登録 (DocumentConverter 要素)。ドキュメント コンバーターは、Web アプリケーション レベルで登録されます。サンドボックス ソリューションは、ホスティング サイト コレクションの外部にアクセスすることが許可されていません。

  • カスタム アクション グループの定義 (CustomActionGroup 要素)。

  • カスタム アクションの非表示 (HideCustomAction 要素)。

  • ワークフローの定義 (Workflow 要素)。この要素は、コード化ワークフローの一部としてのみ使用します。コード化ワークフローは、サンドボックス ソリューションで展開できません。

これらのコンポーネントをサンドボックス ソリューションで展開できない理由については、「サンドボックス ソリューションに対する制限」を参照してください。

コンポーネントを作成するには

  1. Microsoft Visual Studio SharePoint プロジェクトを開始します。空の SharePoint プロジェクトを含め、サンドボックス ソリューションで許可されている任意のプロジェクトの種類を使用できます (Business Data Connectivity モデルサイト テンプレート視覚的 Web パーツシーケンシャル ワークフロー、またはステート マシンのワークフローは使用できません)。

  2. ソリューションの種類を選択するように指示されたら、ファームではなくサンドボックスを選択します。

  3. Visual Studio によってプロジェクトが作成された後で、コンテンツ タイプリスト インスタンスリスト テンプレート、またはコンテンツ タイプからのリスト テンプレート プロジェクト アイテムを必要に応じてプロジェクトに追加します。

  4. ファーム ソリューションと同じ方法で、これらのプロジェクト アイテムで Elements.xml ファイル (および、存在する場合は Schema.xml ファイル) をカスタマイズします。

  5. ソリューションに、上記の箇条書きに示した種類以外のコンポーネントがある場合は、特定の Visual Studio プロジェクト アイテムはないので、空の要素アイテムをプロジェクトに追加します。

  6. 空の要素アイテムは、マークアップがルートの <Elements> 要素だけの 1 つの Elements.xml ファイルを含んでいます。

  7. ファーム ソリューションと同じ方法で Elements.xml ファイルをカスタマイズします。たとえば、コンポーネントが 1 つ以上のフィールドの場合は、1 つ以上の Field 要素を <Elements> 要素の子要素として追加し、その属性と子要素 (存在する場合) を構成します。

  8. ソリューションに、特定の Visual Studio プロジェクト アイテムがないコンポーネントが複数ある場合は、そのコンポーネントごとに個別の空の要素アイテムを追加するか、異なる種類の子要素を組み合わせて、同じ空の要素アイテムの <Elements> 要素に追加できます。子要素を <Elements> 要素に追加した後で、その属性と子要素を構成します。次の表に、サンドボックス ソリューションで使用でき、特定の Visual Studio プロジェクト アイテムがない完全に宣言型のコンポーネントを示します。

    コンポーネント

    要素

    コンテンツ タイプとリストのバインド

    ContentTypeBinding

    カスタム アクション

    CustomAction

    プロパティ バッグ

    PropertyBag

    フィーチャー ステープル

    FeatureSiteTemplateAssociation

    フィールド

    Field

  9. プロジェクトには、1 つ以上のフィーチャーが必要で、すべてのコンポーネントのすべての要素マニフェスト (Elements.xml ファイル) は、フィーチャーで参照される必要があります。Visual Studio を使用している場合は、最初のコンポーネントを追加したときに最初のフィーチャーが自動的に作成され、新しいコンポーネントはそれぞれそのフィーチャーに追加されます。複数のフィーチャーを追加した後で、Visual Studio フィーチャー デザイナーを使用して、フィーチャー間でコンポーネントを移動できます。サンドボックス ソリューションでは、そのソリューションをアップロードするサイト コレクションの外部にあるものを展開できないので、フィーチャーの対象範囲をファームまたは WebApplication にすることはできません。

  10. 開発 SharePoint インストールに構築、パッケージ化、および展開します。テストおよびデバッグの完了時に、サンドボックス ソリューション パッケージ (.wsp ファイル) をサイト コレクション管理者が利用できるようにします。

サンドボックス ソリューションの展開

サイト コレクション管理者は、サンドボックス ソリューションをサイト コレクションのソリューション ギャラリーにインストールできます。この処理は、2 つの手順で実行されます。まず、ソリューション パッケージがギャラリーにアップロードされ、その後、展開されます。この展開処理は、サンドボックス ソリューションでは "アクティブ化" と呼ばれ、パッケージ内のすべてのフィーチャーを自動的にアクティブ化します。ソリューションの検証機能がサイト コレクションに登録されている場合は、その機能もアクティブ化ステージで実行されます。ソリューションが検証を通過し、ファーム管理者によってブロックされていない場合、そのソリューションはサイト コレクションで使用する準備ができています。

関連項目

タスク

[方法] サンドボックス ソリューションでイベント レシーバーを作成および展開する

[方法] サンドボックス ソリューションでフィーチャー レシーバーを作成および展開する

[方法] サンドボックス ソリューションで宣言型ワークフローを作成および展開する

[方法] サンドボックス ソリューションでワークフロー アクションを作成および展開する