次の方法で共有


ワークフローの関連付けと初期化フォーム (Office SharePoint Server 2007)

ワークフローを開始する前に、ユーザーが事前にワークフローのパラメータとその他の情報を設定できるように、ユーザーに対して関連付けと初期化フォームを表示することができます。関連付けフォームは、特定のリスト、ライブラリ、またはコンテンツ タイプに適用されるようにワークフローを設定し、初期化フォームは、特定の SharePoint アイテムに適用されるようにワークフローを設定します。

また、ワークフロー テンプレート定義に事前関連付けデータを含めることもできます。たとえば、関連付けフォームのフィールドに既定値をあらかじめ入力することもできます。

関連付けと初期化フォームに関する概念的な説明については、Windows SharePoint Services 3.0 SDK の「ワークフローの関連付けおよび開始フォーム (Windows SharePoint Services)」を参照してください。

関連付けフォームを指定する

すべてのワークフロー フォームと同様に、ワークフロー テンプレート定義 XML でワークフローの関連付けフォームを指定します。実行するには、2 つの XML 要素を編集します。

  1. 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 は、ワークフロー テンプレート定義のリンクの修正をサポートしません。

  2. 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 つの要素を編集する必要があります。

  1. 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 は、ワークフロー テンプレート定義のリンクの修正をサポートしません。

  2. 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 フォームを特定します。また、ページは、適切な SPWorkflowAssociationAssociationData プロパティに保存された関連付けデータを 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 でのワークフロー

ワークフローの InfoPath フォーム

ワークフロー変更フォーム (Office SharePoint Server 2007)

ワークフロー タスク フォーム (Office SharePoint Server 2007)

その他のリソース

Workflow Definition Schema for InfoPath Forms