次の方法で共有


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

最終更新日: 2010年4月6日

適用対象: SharePoint Server 2010

この記事の内容
関連付けフォームを指定する
関連付けフォームの処理
初期化フォームの指定
初期化フォームを処理する

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

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

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

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

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

  1. Workflow 要素の AssociationURL 属性の値を "_layouts/CstWrkflIP.aspx" に設定します。これは、Microsoft SharePoint Server 2010 に含まれる .aspx ページです。このページには、Microsoft InfoPath 2010 ワークフロー関連付けフォームをホストする InfoPath Forms Services Web パーツが含まれています。

    AssociationURL ="_layouts/CstWrkflIP.aspx"
    

    注意

    SharePoint Server 2010 は、ワークフロー テンプレート定義の絶対パスまたはサーバーの相対パスをサポートします。すべてのフォーム パス 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 の「ワークフロー定義」を参照してください。

関連付けフォームの処理

管理者がワークフローを特定のリスト、ライブラリ、またはコンテンツ タイプと関連付けるように選択した場合、SharePoint Server 2010 には [新しいワークフローの追加] ページが表示されます。このページで、管理者はワークフロー定義、開始条件、およびアイテム、フォルダー、またはその両方で実行するかどうか、すべてのワークフローに共通の設定を指定できます。

このページで、管理者が [次へ] ボタンをクリックすると、SharePoint Server 2010 はワークフロー テンプレート定義内の Workflow 要素の AssociationURL 属性を検証して、読み込む適切な .aspx ページを特定します。InfoPath 2010 フォームでは、開発者はこの値を _layouts/CstWrkflIP.aspx に設定します。SharePoint Server 2010 は、カスタム フォームをホストしている Office InfoPath Forms Services Web パーツを含むこのページを読み込みます。次に、このページがワークフロー テンプレート定義 XML の Association_FormURN 要素を検証して、ホストする適切な InfoPath 2010 フォームを特定します。また、この Web パーツは AssocationData 要素に保存されたあらゆるデータを InfoPath 2010 フォームに渡します。

管理者がフォームに変更を送信すると、CstWrkflIP.aspx は XML 文字列として SharePoint Server 2010 に渡します。データは、そのワークフローの関連付けを表す SPWorkflowAssociation オブジェクトの AssociationData プロパティに保存されます。

初期化フォームの指定

InfoPath 2010 ワークフローの初期化フォームを指定するには、ワークフロー テンプレート定義の 2 つの要素を編集する必要があります。

  1. Workflow 要素の InstantiationURL 属性の値を "_layouts/IniWrkflIP.aspx" に設定します。これは、SharePoint Server 2010 に含まれる .aspx ページです。このページには、InfoPath 2010 ワークフロー初期化フォームをホストする Office InfoPath Forms Services Web パーツが含まれています。

    InstantiationURL="_layouts/IniWrkflIP.aspx"
    

    注意

    SharePoint Server 2010 は、ワークフロー テンプレート定義の絶対パスまたは相対パスをサポートします。すべてのフォーム パス URL をこれらの形式のどちらかで表す必要があります。たとえば、絶対パスでは "http://site/library/page.aspx"、相対パスでは "/layouts/page.aspx" のように表します。SharePoint Server 2010 は、ワークフロー テンプレート定義のリンクの修正をサポートしません。

  2. Instantiation_FormURN 要素をワークフロー テンプレート定義の Metadata 要素に追加します。この要素を使用して、ワークフローの初期化で使用する InfoPath 2010 フォームの URN を指定します。次に例を示します。

    <Instantiation_FormURN>urn:schemas-microsoft-
        com:office:infopath:workflow:ReviewRouting-Init:1033
    </Instantiation_FormURN> 
    

初期化フォームを処理する

ユーザーが特定のアイテムでワークフローを開始すると、SharePoint Server 2010 はワークフロー テンプレート定義 XML の Workflow 要素の InstantiationURL 属性を検証して、読み込む適切な .aspx ページを特定します。InfoPath 2010 フォームの場合、開発者はこの値を "_layouts/IniWrkflIP.aspx" に設定します。SharePoint Server 2010 は、カスタム フォームをホストする Office InfoPath Forms Services Web パーツを含むこのページを読み込みます。次に、このページはワークフロー テンプレート定義 XML の Instantiation_FormURN 要素を検証して、ホストする適切な InfoPath 2010 フォームを特定します。また、ページは、適切な SPWorkflowAssociationAssociationData プロパティに保存された関連付けデータを XML 文字列として InfoPath 2010 フォームに渡します。このデータは、フォームのプライマリ データ ソースとして使用されます。

ユーザーがフォームに変更を保存すると、IniWrkflIP.aspx は、StartWorkflow メソッドの呼び出しの一部として、SharePoint Foundation オブジェクト モデルにデータを渡します。

SharePoint Server 2010 のワークフロー マネージャーは、SharePoint アイテムのワークフローのインスタンスを作成します。ワークフロー マネージャーは、初期化フォームを使用して収集したデータをワークフロー自体の OnWorkflowActivated イベントに渡します。

関連項目

タスク

[方法] InfoPath ワークフロー フォームをデザインする

[方法] ワークフロー内の関連付けと開始のフォーム データにアクセスする

[方法] 関連付けデータと初期データを使用するワークフロー フォームを設計する

概念

SharePoint Server 2010 でのワークフロー

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

ワークフロー変更フォーム (Microsoft SharePoint Server 2010)

ワークフロー タスク フォーム (Microsoft SharePoint Server 2010)

その他の技術情報

Workflow Definition Schema for InfoPath Forms