ワークフローの関連付けと初期化フォーム (Office SharePoint Server 2007)
ワークフローを開始する前に、ユーザーが事前にワークフローのパラメータとその他の情報を設定できるように、ユーザーに対して関連付けと初期化フォームを表示することができます。関連付けフォームは、特定のリスト、ライブラリ、またはコンテンツ タイプに適用されるようにワークフローを設定し、初期化フォームは、特定の SharePoint アイテムに適用されるようにワークフローを設定します。
また、ワークフロー テンプレート定義に事前関連付けデータを含めることもできます。たとえば、関連付けフォームのフィールドに既定値をあらかじめ入力することもできます。
関連付けと初期化フォームに関する概念的な説明については、Windows SharePoint Services 3.0 SDK の「ワークフローの関連付けおよび開始フォーム (Windows SharePoint Services)」を参照してください。
関連付けフォームを指定する
すべてのワークフロー フォームと同様に、ワークフロー テンプレート定義 XML でワークフローの関連付けフォームを指定します。実行するには、2 つの XML 要素を編集します。
Workflow 要素の AssociationURL 属性の値を "_layouts/CstWrkflIP.aspx" に設定します。これは、Office SharePoint Server 2007 に含まれる .aspx ページです。このページには、Microsoft Office InfoPath 2007 ワークフロー関連付けフォームをホストする InfoPath Forms Services Web パーツが含まれています。
AssociationURL ="_layouts/CstWrkflIP.aspx"
注意
Office SharePoint Server 2007 は、ワークフロー テンプレート定義の絶対パスまたはサーバーの相対パスをサポートします。すべてのフォーム パス URL をこれらの形式のいずれかで表す必要があります。たとえば、絶対パスでは "http://site/library/page.aspx";、サーバーの相対パスでは "/layouts/page.aspx" のように表します。Office SharePoint Server 2007 は、ワークフロー テンプレート定義のリンクの修正をサポートしません。
Association_FormURN 要素をワークフロー テンプレート定義の Metadata 要素に追加します。この要素を使用して、ワークフローの関連付けで使用する Office InfoPath 2007 フォームの URN を指定します。次に例を示します。
<Association_FormURN>urn:schemas-microsoft- com:office:infopath:workflow:ReviewRouting-Assoc </Association_FormURN>
関連付けフォームにカスタム データを取り込む場合は、この情報を AssocationData 要素に保存することができます。たとえば、この要素を使用して、関連付けフォームが表示されたときにそのフォームに渡す既定値を保存することができます。AssocationData 要素には、有効な任意の XML を含めることができます。
ワークフロー定義スキーマの詳細については、Windows SharePoint Services 3.0 SDK の「ワークフロー定義スキーマ」を参照してください。
関連付けフォームの処理
管理者がワークフローを特定のリスト、ライブラリ、またはコンテンツ タイプと関連付けるように選択した場合、Office SharePoint Server 2007 には [Add a New Workflow] ページが表示されます。このページで、管理者はワークフロー定義、開始条件、およびアイテム、フォルダ、またはその両方で実行するかどうかなど、すべてのワークフローに共通の設定を指定できます。
このページで、管理者が [次へ] ボタンをクリックすると、Office SharePoint Server 2007 はワークフロー テンプレート定義内の Workflow 要素の AssociationURL 属性を検証して、読み込む適切な .aspx ページを特定します。Office InfoPath 2007 フォームでは、開発者はこの値を _layouts/CstWrkflIP.aspx に設定します。Office SharePoint Server 2007 は、カスタム フォームをホストしている Office InfoPath Forms Services Web パーツを含むこのページを読み込みます。次に、このページがワークフロー テンプレート定義 XML の Association_FormURN 要素を検証して、ホストする適切な Office InfoPath 2007 フォームを特定します。また、この Web パーツは AssocationData 要素に保存されたあらゆるデータを Office InfoPath 2007 フォームに渡します。
管理者がフォームに変更を送信すると、CstWrkflIP.aspx は XML 文字列として Office SharePoint Server 2007 に渡します。データは、そのワークフローの関連付けを表す SPWorkflowAssociation オブジェクトの AssociationData プロパティに保存されます。
初期化フォームの指定
Office InfoPath 2007 ワークフローの初期化フォームを指定するには、ワークフロー テンプレート定義の 2 つの要素を編集する必要があります。
Workflow 要素の InstantiationURL 属性の値を "_layouts/IniWrkflIP.aspx" に設定します。これは、Office SharePoint Server 2007 に含まれる .aspx ページです。このページには、Office InfoPath 2007 ワークフロー初期化フォームをホストする Office InfoPath Forms Services Web パーツが含まれています。
InstantiationURL="_layouts/IniWrkflIP.aspx"
注意
Office SharePoint Server 2007 は、ワークフロー テンプレート定義の絶対パスまたは相対パスをサポートします。すべてのフォーム パス URL をこれらの形式のいずれかで表す必要があります。たとえば、絶対パスでは "http://site/library/page.aspx"、相対パスでは "/layouts/page.aspx" のように表します。 Office SharePoint Server 2007 は、ワークフロー テンプレート定義のリンクの修正をサポートしません。
Instantiation_FormURN 要素をワークフロー テンプレート定義の Metadata 要素に追加します。この要素を使用して、ワークフローの初期化で使用する Office InfoPath 2007 フォームの URN を指定します。次に例を示します。
<Instantiation_FormURN>urn:schemas-microsoft- com:office:infopath:workflow:ReviewRouting-Init:1033 </Instantiation_FormURN>
初期化フォームを処理する
ユーザーが特定のアイテムでワークフローを開始すると、Office SharePoint Server 2007 はワークフロー テンプレート定義 XML の Workflow 要素の InstantiationURL 属性を検証して、読み込む適切な .aspx ページを特定します。Office InfoPath 2007 フォームの場合、開発者はこの値を "_layouts/IniWrkflIP.aspx" に設定します。Office SharePoint Server 2007 は、カスタム フォームをホストする Office InfoPath Forms Services Web パーツを含むこのページを読み込みます。次に、このページはワークフロー テンプレート定義 XML の Instantiation_FormURN 要素を検証して、ホストする適切な Office InfoPath 2007 フォームを特定します。また、ページは、適切な SPWorkflowAssociation の AssociationData プロパティに保存された関連付けデータを XML 文字列として Office InfoPath 2007 フォームに渡します。このデータは、フォームのプライマリ データ ソースとして使用されます。
ユーザーがフォームに変更を保存すると、IniWrkflIP.aspx は、StartWorkflow メソッドの呼び出しの一部として、Windows SharePoint Services オブジェクト モデルにデータを渡します。
Office SharePoint Server 2007 のワークフロー マネージャは、SharePoint アイテムのワークフローのインスタンスを作成します。ワークフロー マネージャは、初期化フォームを使用して収集したデータをワークフロー自体の OnWorkflowActivated イベントに渡します。
See Also
タスク
[方法] Office SharePoint Server 2007 におけるワークフローの InfoPath フォームをデザインする
[方法] ワークフロー内の関連付けと開始のフォーム データにアクセスする
[方法] 関連付けデータと初期データを使用するワークフロー フォームを設計する
概念
Office SharePoint Server 2007 でのワークフロー
ワークフロー変更フォーム (Office SharePoint Server 2007)
ワークフロー タスク フォーム (Office SharePoint Server 2007)