このチュートリアルでは、プロジェクト タスクを追跡するための SharePoint リスト定義を、Visual Studio 2010 を使用して作成、カスタマイズ、デバッグ、および配置する方法について説明します。
このチュートリアルでは、次の作業について説明します。
タスクが含まれる SharePoint リスト定義プロジェクトの作成
SharePoint フィーチャーへのリスト定義の追加
リストへのイベント レシーバーの追加
フィーチャーを配置する SharePoint パッケージの作成とカスタマイズ
SharePoint ソリューションのビルドと配置
注意
お使いのマシンで、Visual Studio ユーザー インターフェイスの一部の要素の名前や場所が、次の手順とは異なる場合があります。 これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。 詳細については、「Visual Studio の設定」を参照してください。
必須コンポーネント
このチュートリアルを実行するには、次のコンポーネントが必要です。
サポート対象エディションの Microsoft Windows および SharePoint。 詳細については、「SharePoint ソリューションの開発要件」を参照してください。
Visual Studio 2010 Professional または Visual Studio アプリケーション ライフサイクル管理 (ALM) のエディション
SharePoint リスト定義の作成
SharePoint リスト定義プロジェクトを作成して、そのリスト定義をタスクに関連付けます。
SharePoint リスト定義プロジェクトを作成するには
[新しいプロジェクト] ダイアログ ボックスを開き、[SharePoint] ノードを展開して、[2010] をクリックします。
[テンプレート] ペインで [ListDefinition] を選択し、プロジェクトに「ProjectTaskList」という名前を付けて、[OK] をクリックします。
SharePoint カスタマイズ ウィザードが表示されます。
デバッグに使用するローカルの SharePoint サイトを入力して、[次へ] をクリックします。
リストの [表示名] に「Project Task List」と入力します。
[リスト定義の種類] ボックスの一覧の [タスク] をクリックし、[完了] をクリックします。
ソリューション エクスプローラーに、リスト定義、リスト インスタンス、フィーチャー、およびパッケージが表示されます。
イベント レシーバーの追加
タスク リスト定義には、タスクの期限と説明を自動的に設定するイベント レシーバーを追加できます。 次の手順では、イベント レシーバーとして単純なイベント ハンドラーをリスト インスタンスに追加します。
イベント レシーバーを追加するには
プロジェクト ノードを右クリックし、[追加] をポイントして、[新しい項目] をクリックします。
SharePoint 2010 のテンプレート一覧から、[イベント レシーバー] を選択し、「ProjectTaskListEventReceiver」という名前を付けます。
SharePoint カスタマイズ ウィザードが表示されます。
[イベント レシーバー設定の選択] ページで、イベント レシーバーの種類として [リスト項目イベント] を選択します。
[イベント ソース項目] を ProjectTaskList に設定します。
処理するイベントの一覧で、[項目が追加されました] の横のチェック ボックスをオンにし、[完了] をクリックします。
新しいイベント レシーバー ノードが、ProjectTaskListEventReceiver という名前のコード ファイルと共にプロジェクトに追加されます。
ProjectTaskListEventReceiver コード ファイルで、ItemAdded メソッドにコードを追加します。 新しいタスクが追加されるたびに、既定の期限および説明がタスクに追加されます。 既定の期限は 2009 年 7 月 1 日です。
Public Overrides Sub ItemAdded(ByVal properties As SPItemEventProperties) MyBase.ItemAdded(properties) Dim web As SPWeb = properties.OpenWeb() properties.ListItem("Due Date") = "July 1, 2009" properties.ListItem("Description") = "This is a critical task." properties.ListItem.Update() End Sub
public override void ItemAdded(SPItemEventProperties properties) { base.ItemAdded(properties); SPWeb web = properties.OpenWeb(); properties.ListItem["Due Date"] = "July 1, 2009"; properties.ListItem["Description"] = "This is a critical task."; properties.ListItem.Update(); }
プロジェクト タスク リスト フィーチャーのカスタマイズ
SharePoint ソリューションを作成すると、既定のプロジェクト項目のフィーチャーが自動的に作成されます。 SharePoint サイトのプロジェクト タスク リスト設定をカスタマイズするには、フィーチャー デザイナーを使用します。
プロジェクト タスク リスト フィーチャーをカスタマイズするには
ソリューション エクスプローラーで、[フィーチャー] を展開します。
[Feature1] をダブルクリックします。
[タイトル] フィールドに「Project Task List Feature」と入力します。
[スコープ] ドロップダウン メニューの [Web] を選択します。
[プロパティ] ウィンドウで、[バージョン] プロパティの値に「1.0.0.0」と入力します。
プロジェクト タスク リスト パッケージのカスタマイズ
SharePoint プロジェクトを作成すると、既定のプロジェクト項目を含んだフィーチャーが、Visual Studio によって自動的にパッケージへと追加されます。 SharePoint サイトのプロジェクト タスク リスト設定をカスタマイズするには、パッケージ デザイナーを使用します。
プロジェクト タスク リスト パッケージをカスタマイズするには
ソリューション エクスプローラーで、[パッケージ] をダブルクリックします。
[名前] フィールドに、「ProjectTaskListPackage」と入力します。
[Web サーバーのリセット] を選択します。
プロジェクト タスク リストのビルドとテスト
プロジェクトを実行すると、SharePoint サイトが開きます。 ただし、タスク リストの場所には手動で移動する必要があります。
プロジェクト タスク リストをテストするには
F5 キーを押して、プロジェクト タスク リストをビルドおよび配置します。
SharePoint サイトが開きます。
[ホーム] をクリックします。
左サイドバーで [ProjectTaskList - ListInstance1] をクリックします。
[プロジェクト タスク リスト] ページが表示されます。
[リスト ツール] タブで、[項目] をクリックします。
[新しい項目] をクリックします。
[タスク] をクリックします。
[タイトル] ボックスに「Task1」と入力します。
[保存] をクリックします。
サイトを更新すると、2009 年 7 月 1 日を期限とする Task1 というタスクが表示されます。
[Task1] をクリックします。
タスクの詳細表示になり、"This is a critical task." という説明が表示されます。
プロジェクト タスク リストの配置
ビルドおよびテストが済んだプロジェクト タスク リストは、ローカル システムまたはリモート システムに配置できます。 ローカル システムはソリューションの開発に使用したコンピューターであり、リモート システムはそれとは別のコンピューターです。
プロジェクト タスク リストをローカル システムに配置するには
[ビルド] メニューの [配置] をクリックします。
Visual Studio によって IIS アプリケーション プールがリサイクルされ、ソリューションの既存のバージョンがすべて取り消され、ソリューション パッケージ (.wsp) ファイルが SharePoint にコピーされ、そのフィーチャーがアクティブ化されます。 これで、SharePoint でソリューションを使用する準備が整いました。 配置構成手順の詳細については、「方法: SharePoint の配置構成を編集する」を参照してください。
プロジェクト タスク リストをリモート システムに配置するには
[ビルド] メニューの [パッケージ] をクリックします。
プロジェクトのバイナリ デバッグ フォルダー (…\<Project Name>\<Project Name>\bin\Debug) にソリューションの .wsp ファイルが作成されます。
.wsp ファイルをリモートの SharePoint システムにコピーします。
PowerShell の Add-SPUserSolution コマンドを使用して、リモートの SharePoint インストール環境にパッケージをインストールします (ファーム ソリューションの場合は Add-SPSolution コマンドを使用します)。
たとえば、Add-SPUserSolution C:\MyProjects\ProjectTaskList\ProjectTaskList\bin\Debug\ProjectTaskList.wsp のようにします。
PowerShell の Install-SPUserSolution コマンドを使用して、ソリューションを配置します (ファーム ソリューションの場合は Install-SPSolution コマンドを使用します)。
たとえば、Install-SPUserSolution –Identity ProjectTaskList.wsp –Site http://NewSiteName のようにします。
リモート配置の詳細については、「ソリューションの使用」および「Adding and Deploying Solutions with PowerShell in SharePoint 2010 (SharePoint 2010 で PowerShell を使用してソリューションを追加および配置する)」を参照してください。
次の手順
SharePoint ソリューションのカスタマイズ方法と配置方法の詳細については、次のトピックを参照してください。