Share via


Windows SharePoint Services のワークフロー オブジェクト モデルの概要

ワークフロー ソリューションを展開した後で、Windows SharePoint Services オブジェクト モデルを使用してワークフロー プロセスを照会し、リストにワークフローを追加したり、アイテムに応じてワークフローを開始するなど、プログラムを使用してワークフロー操作を実行できます。

主要な Microsoft.Windows.SharePoint.Workflow オブジェクト

Microsoft.SharePoint.Workflow 名前空間は、Windows SharePoint Services に含まれているワークフロー機能を表します。

SPWorkflowTemplateCollection オブジェクトは、現在サイトに展開されているワークフロー テンプレートを表します。SPWorkflowTemplate オブジェクトは、それぞれがワークフロー テンプレートを表します。このオブジェクトに含まれているプロパティを使用して、インスタンス化データや履歴、タスク リストなどのテンプレート情報の取得と設定を行うことができます。

ワークフローをリストまたはドキュメント ライブラリに関連付けるには、SPList オブジェクトの AddWorkflowAssociation メソッドを使用します。ワークフローをコンテンツ タイプに関連付けるには、SPContentType オブジェクトの AddWorkflowAssociation メソッドを使用します。どちらのメソッドも SPWorkflowAssociation オブジェクトを受け取り、それを指定されたリストまたはコンテンツ タイプに追加します。適切なワークフロー関連付けを作成するには、CreateListAssociation メソッド、CreateListContentTypeAssociation メソッド、または SPWorkflowAssociation オブジェクト自体の CreateSiteContentTypeAssociation メソッドを使用します。

ユーザー インターフェイスを経由してワークフローを追加するように、プログラムを使用して関連付けたワークフローが、リストにワークフローの状態の列を追加します。

ワークフローの関連付けをリストから削除するには RemoveWorkflowAssociation メソッドを使用し、サイトまたはリストのコンテンツ タイプからワークフローの関連付けを削除するには RemoveWorkflowAssociation メソッドを使用します。

それぞれの SPWorkflowAssociation オブジェクトは、特定のリストまたはコンテンツ タイプに関連付けられているワークフロー テンプレートを表します。そのテンプレートに含まれるプロパティにより、ワークフローと特定のリストまたはコンテンツ タイプとの関連付けに関するユーザー設定情報が返されます。この情報には、ワークフローが有効かどうか、ワークフローが自動で開始されるかどうか、そしてワークフローが関連付けられていたリストやコンテンツ タイプが含まれているか、などが含まれます。

SPWorkflowCollection は、ワークフロー インスタンスが与えられたリスト アイテムを実行済みであるのか、あるいは現在実行中なのかを表示します。それぞれの SPWorkflow オブジェクトには、ワークフローの完了状態や、内部の状態、ワークフロー履歴リストなど、ワークフロー インスタンスに関する情報を返すプロパティを含みます。さらに、各ワークフローにはワークフローのタスクのコレクションである SPWorkflowTaskCollection が含まれます。

Workflows プロパティを使用して、リスト アイテムを現在実行しているワークフローを表す SPWorkflowCollection オブジェクトを返します。

ワークフロー インスタンスのプログラムによって管理する

ユーザーは Windows SharePoint Services ユーザー インターフェイスを使用して、アイテムに対して実行されているワークフローを個別に操作します。一方、Windows SharePoint Services には、サイト コレクション全体でワークフローの実行中インスタンスをオブジェクト モデルを使用して集約的に制御する機能が用意されています。SPWorkflowManager オブジェクトを使用して、サイト コレクション全体でワークフローの実行中インスタンスを管理できます。SPWorkflowManager オブジェクトに相当する機能は、ユーザー インターフェイスにはありません。SPWorkflowManager オブジェクトを使用して、次の操作を実行できます。

  • ワークフローを開始、実行、または取り消す。

  • 特定のアイテムで現在実行されているすべてのワークフローを返す。

  • その他のワークフロー操作を実行する。

アイテムに対する特定のワークフローを手動で開始するには (自動的に開始するように設定されていないワークフローを開始するには)、StartWorkflow(SPListItem, SPWorkflowAssociation, String) メソッドまたは StartWorkflow(SPListItem, SPWorkflowAssociation, String, Boolean) メソッドを使用します。

See Also

概念

Windows SharePoint Services のワークフローの開発