ワークフロー タスク フォームをデザインしてタスク データを使用する
最終更新日: 2010年5月7日
適用対象: SharePoint Server 2010
Microsoft SharePoint Server 2010 が、ワークフロー タスク用の Microsoft Office InfoPath 2007 カスタム フォームを表示するときに、SharePoint Server 2010 はフォームに、タスク データを XML として渡します。InfoPath タスク フォームで、タスク データの XML を認識して解析できるようにするには、セカンダリ データ ソースとしてフォームにタスクのスキーマを追加する必要があります。
このためには、タスクのスキーマを表す ItemMetadata.xml という名前のファイルを作成し、そのファイルをセカンダリ データ ソースとしてフォームに追加する必要があります。その後、フォーム コントロールのデータを、タスクのスキーマ XML の特定の要素にバインドできます。
注意
SharePoint Server 2010 は読み込み時には常に、タスク編集フォームにタスク データの XML を送信します。このため、タスク データをまったく使用しない予定であっても、フォームには常に ItemMetadata.xml ファイルをセカンダリ データ ソースとして追加する必要があります。そのようにしないと、SharePoint Server 2010 でエラーが生成されます。
ワークフロー タスクのスキーマ用のスキーマ ファイルを作成するには
任意のテキスト エディタで、ItemMetadata.xml という名前のファイルを作成します。
注意
ファイル名 ItemMetadata.xml の大文字と小文字は区別されます。
ファイルに次の要素を追加します。
<z:row xmlns:z="#RowsetSchema"/>
ファイル内では、フォーム内で使用する予定のタスクのプロパティをそれぞれ定義します。それには、ows というプレフィックスと、タスク フィールドの名前から成る属性を追加します。属性は、空の文字列に設定します。
たとえば、フォームで使用する予定のタスク フィールドとして、instructions と comments の 2 つがあるとします。完成した ItemMetadata.xml ファイルには、次の記述が含まれることになります。
<z:row xmlns:z="#RowsetSchema" ows_instructions="" ows_comments="" />
注意
データを取得しようとするフォームでは、各タスク フィールドの ows 属性を定義する必要があります。これは、Title、Assigned To などの、すべてのタスクに含まれる標準のタスク フィールドについても同様です。
データを取得する必要のないフォームでは、タスク フィールドの属性を定義する必要はありません。
- 完成した ItemMetadata.xml ファイルをハード ディスクに保存します。
タスクのスキーマをセカンダリ データ ソースとしてワークフロー フォームに追加するには
Microsoft InfoPath 2010 で、[デザイン タスク] の [データ ソース] を選択し、[データ接続の管理] をクリックします。
[データ接続] ダイアログ ボックスで、[追加] をクリックします。
データ接続ウィザードで、[Add a new connection to]、[データの受信]、[次へ] の順にクリックします。
[XML ドキュメント] を選択します。作成した ItemMetadata.xml ファイルを保存した場所に移動し、このファイルを選択して、[次へ] をクリックします。
[フォーム テンプレートのリソース ファイルとしてデータを含める] を選択し、[OK] をクリックします。
データ接続名として「ItemMetadata」と入力し、[フォームを開くとき自動的にデータを取得する] が選択されていることを確認します。[完了] をクリックします。
ItemMetadata.xml ファイルをリソース ファイルとしてフォーム テンプレートに含めたら、ItemMetadata.xml ファイル自体は不要になります。このファイルをワークフロー ソリューションに含める必要はありません。
フォーム コントロールのデータをタスクのスキーマにバインドするには
InfoPath 2010 で、データをバインドするフォーム上のコントロールをダブルクリックします。
[プロパティ]ダイアログ ボックスの [データ]タブで、[既定値] の下にある数式のボタンをクリックします。
[数式の挿入] ダイアログ ボックスで、[フィールドまたはグループの挿入] をクリックします。
[フィールドまたはグループの選択]ダイアログ ボックスで、目的の ItemMetadata データ接続を選択してから、コントロールのデータのバインド先にする、そのデータ接続のフィールドを選択します。[OK] をクリックします。
[数式の挿入]ダイアログ ボックスで、[OK] をクリックします。次に、[プロパティ] ダイアログ ボックスで [OK] をクリックします。
フォームのコントロールのデータをデータ ソースにバインドすることの詳細については、InfoPath 2010 のヘルプを参照してください。
関連項目
タスク
[方法] InfoPath ワークフロー フォームをデザインする
[方法] ワークフロー内のワークフロー タスク フォーム データにアクセスする