2006年06月17日

リストやライブラリでの列の作成時の制限について

 InfoPath フォームの発行時 (→ InfoPath フォームのフォームライブラリへの発行) にもっとも影響があるかな・・・

InfoPath フォームによるフォームライブラリの作成とフィールドと列の関連付けに限らず、リストやライブラリにて列を作成時に、列の数が多いと作成出来なくなる限界があります。
リストやライブラリで普通に使っている限り、ほとんどの場合にこの制限を超えることは少ないと思いますが、InfoPath フォームの場合はフィールドの数が多い複雑なフォームの場合は確実に該当することになると思います。
この制限に関しては、以下の技術情報に基づきます。

・SharePoint サービス リストに新しい列を追加すると、「列制限を超えた」メッセージ
<http://support.microsoft.com/kb/823555/ja>

ばりばりの機械翻訳なので判り辛いですね。 原文の方は遥かに判り易いと思います。
日本語版の表記に合わせると以下のようになります。
  • 「1 行テキスト」と「選択肢」 (「ドロップダウン メニュー」又は「ラジオ ボタン」)の組合せの合計: 64個
  • 「複数行テキスト」と「選択肢」 (「チェックボックス」)の組合せの合計: 31個
  • 「数値」と「通貨」: 32個
  • 「ハイパーリンクまたは画像」: 32個
  • 「日付と時刻」: 16個
  • 「参照」: 16個
  • 「はい/いいえ」: 16個
  • 「集計値」: 8個
ちなみに、なんでこのような制限が存在するのかご存知でしょうか?
答えは、この列が物理テーブルにどのように展開されて格納されているかという所にありました。

DBスキーマ構造は以下のホワイトペーパーの中の「コンテンツ データベース スキーマ」というトピックにあります。

・Windows SharePoint Services のアーキテクチャの概要
<http://www.microsoft.com/japan/msdn/sharepoint/server/ODC_WSSArchitecture.asp>

列の情報はユーザーデータ テーブルに格納されています。

・Content Database - UserData Table
<http://msdn.microsoft.com/library/en-us/spptsdk/html/tsdbtbUserData_SV01072542.asp>

見てびっくり! とんでもないスキーマ構造です。 確かに汎用性を保ちつつ性能を重視するとこんな形になってしまうのでしょうかね。 データ格納という観点では効率悪そうです。

posted by kunitaka at 01:38| Comment(0) | TrackBack(0) | 技術情報

InfoPath フォームのフォームライブラリへの発行

 ライブラリ3兄弟 (ドキュメント、画像、フォーム) のうちフォームライブラリは少々特殊ですね。 あ、画像ライブラリも特殊か・・・
基本的な機能 (ファイルを格納、バージョン管理、列やビューの設定など) は共通ですが、フォームライブラリは InfoPath フォームを格納するために最適化されています。

通常、ファイル属性を定義するためには、ライブラリの設定の中で列を定義する形になりますが、フォームライブラリの場合は InfoPath フォームをライブラリへ発行する際のフォーム内のフィールドと列の関連付けによって、フォームライブラリの列が定義されます。 但し、フォーム発行によって定義された列は、ライブラリの設定では確認出来ないんですよね。 ビューの設定で紐付けられた列は確認出来ますが・・・

ちなみに、InfoPath フォームからフォーム発行に関する手順については、以下のリソースで確認出来ます。

・Microsoft SharePoint 製品およびテクノロジと Microsoft Office InfoPath 2003 の統合
<http://www.microsoft.com/japan/msdn/sharepoint/general/
sharepoint_integrating_sps_and_infopath.asp
>
後半の「フォームライブラリ」のトピックにて、InfoPathフォームからチームサイト上にフォームの発行、フォームライブラリの作成に関する手順が含まれます。

・Microsoft Office InfoPath 2003 自習書
<http://www.microsoft.com/japan/office/infopath/downloads/default.mspx>
7.2 フォーム テンプレートを発行する
・InfoPath トレーニング
<http://www.microsoft.com/japan/msdn/office/understanding/infopath/training/>
演習 3 : InfoPath 2003 でのフォーム発行

でも、InfoPath のバイブルと言えば、やっぱりこちらでしょうか。

・Microsoft Office InfoPath 2003オフィシャルマニュアル
<http://www.microsoft.com/japan/learning/books/JPN_ViewMsPress.aspx?Book_id=1031&list_id=1>

posted by kunitaka at 00:03| Comment(2) | TrackBack(0) | 技術情報