ワークフロー フォームの概要
最終更新日: 2009年10月7日
適用対象: SharePoint Foundation 2010
この記事の内容
ワークフロー フォーム テクノロジ
ワークフロー フォームを指定する
ワークフロー フォームの種類
ワークフローにフォームを追加すると、ワークフローをより動的で柔軟にすることができます。フォームは、ワークフローのライフサイクル内の事前定義されたタイミングでユーザーから情報を収集することを可能にし、さらにユーザーがそのワークスローのタスクと相互作用することも可能にします。
ワークフロー フォーム テクノロジ
Microsoft SharePoint Foundation 2010 のワークフローは、フォームについて関知しません。フォームが以下の機能を備えていれば、自分で選んだ任意のフォーム テクノロジを使用できます。
SharePoint Foundation 2010 オブジェクト モデルの起動。
SharePoint Foundation オブジェクト モデルに送信する必要のあるデータの収集。
必要なデータの SharePoint Foundation オブジェクト モデルからの取得と解析。
ユーザーがフォームを送信したときにフォームが SharePoint Foundation オブジェクト モデルに渡す必要のあるデータが文字列として形式化されている必要があるため、読み込み時にフォームに渡される情報はすべて文字列として形式化されます。この文字列は、通常、XML ですが、フォームがその形式で文字列を生成できて、なおかつ受け取った文字列を解析できさえすれば、文字列として形式化できるデータ形式であれば任意のデータ形式を使用できます。
たとえば、カスタム ASPX ページをユーザー設定フォームとして使用し、データを形式化するためのデータ形式として XML を使用したりできます。
ワークフロー フォームを指定する
使用するユーザー設定フォームの指定は、ワークフロー自体ではなくワークフロー テンプレート定義の中で行います。
ワークフロー フォームは、ワークフロー テンプレート定義の XML ファイル内で指定した情報を通じてワークフロー アセンブリに遅延バウンドされます。ワークフロー テンプレート定義スキーマには、Windows SharePoint Services ワークフローで使用できるさまざまな種類のフォームの URL を表す要素が含まれています。これには、任意のカスタム ワークフローに変更を加えるためのフォーム用の要素や、ワークフロー内で使用されるさまざまな種類の SharePoint タスク用のフォームを作成する機能が含まれます。
ほとんどの場合、ワークフロー アセンブリ自体には、ワークフロー フォーム自体に関する情報やそれへのリンクは含まれません。開発者は、ワークフロー 定義 XML を編集することにより、ワークフロー アセンブリ自体を再コンパイルすることなく、使用されるワークフロー フォームを変更できます。これの 1 つの例外は、ワークフローの修正です。ワークフローの修正を可能にする各アクティビティは、そのワークフロー修正のためのフォームの GUID を含んでいる必要があります。
ワークフロー フォームの種類
SharePoint Foundation ワークフローで使用されるフォームには、以下の 3 種類があります。
関連付けと初期化のフォーム 関連付けと初期化のフォームは、ワークフローが実際に開始されるよりも前に、ユーザーが記入するように表示されます。このフォームを使用すれば、ワークフローが開始する前に、ワークスローのためのパラメータやその他の情報をユーザーに設定させることができます。
詳細については、「ワークフローの関連付けおよび開始フォーム (Sharepoint Foundation)」を参照してください。
修正フォーム 修正は、アイテムに対してワークフローが実行されているときにユーザーがワークフローに変更を加えることができるように提供するオプションです。このため、変更フォームを作成して、ユーザーが変更のパラメータを指定できるようにすることができます。
詳細については、「ワークフロー変更フォーム (SharePoint Foundation)」を参照してください。
タスク フォーム ワークフロー内のタスクのためのユーザー設定フォームを指定することもできます。ただし、タスクはコンテンツ タイプが割り当てられる SharePoint アイテムなので、コンテンツ タイプによって、タスクの種類で使用できるユーザー設定フォームが決まります。
詳細については、「ワークフローのタスク フォーム (SharePoint Foundation)」を参照してください。