2007/06/29

コンテンツ クエリの限界値

動作は未確認ですが、コンテンツクエリの限界点っぽいので。

フィルタをかける対象になるリストやサイトが1,000件以上の場合、エラーになるようです。

【参考KB】

http://support.microsoft.com/kb/935502/ja

--引用--

error message:

The query cannot be completed because the number of lists in the query exceeded the allowable limit. For better results, limit the scope of the query to the current site or list or use a custom column index to help reduce the number of lists.

CAUSE

This issue occurs if the Content Query Web Part is configured to query more than 1000 lists. The Content Query Web Part does not support more than 1000 lists at the same time.

RESOLUTION

To resolve this issue, configure the Content Query Web Part to query fewer than 1000 lists.

--------

気になるのが、「1,000件以上」のターゲットが

・リストだけの数?

・リスト+サイトの数?

・サイトだけでも発生する?

のどれなのか。あと、返ってくる結果自体には限界値はないのか。。

さすがに1,000件での検証はしんどいな。

パブリックフォルダのクロールに失敗する

Exchange 2003 のパブリックフォルダのクロールの検証を行っていて、なぜか失敗してました。

クロールのログを見ていると、ルート フォルダなんかは問題ないけれど、アイテム レベルでは、次のようなエラーが記録されてました。

==================

rb://Exchangeサーバー名/public/~.eml

アクセスが拒否されました。既定のコンテンツ アクセス アカウントにこのコンテンツへのアクセス権が付与されていることを確認するか、このコンテンツをクロールするためのクロール ルールを追加してください。 (このアイテムは、見つからなかったか、クローラからアクセスできなかったため、削除されました。)

==================

もちろん、クロール アカウントで指定しているユーザーで直接見に行けば、問題なく表示されてます。

これが、どうもバグだったらしい。

■SharePoint Server 2007 cannot index a Microsoft Exchange public folder.

http://support.microsoft.com/kb/934793/ja

Hotfixは未入手なので、これでほんとにうまくいくかは未確認ですが。。

2007/06/11

SharePoint の Web アプリケーションのURLを変更する

SharePoint (WSS 3.0、MOSSともに)のポータルサイトで使用するWeb アプリケーションのURL名を既定値(NetBios名+ポート)で作成してしまった後に、URL名を変更したい!と思った場合、今まで作りなおすしかないのかと思っていたのですが、「代替アクセスマッピング」という機能を使えば、変更することが可能です。たとえば仮想NLBクラスタ名やFQDN名に変更することができます。

#代替アクセスのマッピング機能の本来の使い方ではないかもしれませんが。

代替アクセスマッピングは、サーバーの全体管理の、[サーバー構成の管理]ページ内「グローバル構成」セクションにあります。

代替アクセスマッピングで、代替アクセスマッピングコレクションから変更したいWeb アプリケーションを選択して、「パブリックURL」のゾーン「既定」のURL値を変更してあげればOKです。

#実は、SPS 2003の場合もこの機能は使えたんですね。。代替アクセス自体は設定していましたが、ポータルの既定のURLの設定変更はしたことがありませんでした。。未だにSPS 2003は未知なことが多い。。

SPS 2003でのユーザー検索

SPS 2003では、人の検索結果だけを表示するような機能は標準では提供されておらず、強いて言えば、高度な検索結果の範囲で「人」を指定、

http://PortalName/Search.aspx?tp=Person

といった方法でやるのが一番手っ取り早いと思っていたんですが。 ようやく判明しました。 (MOSSではこのあたりの機能は強化されているので、不要な情報ですが。。 )

手順は次の通り。 コンテンツ インデックスを追加するために、高度な検索管理モードを有効化していますが、特に必須ではありません。 ただ、エクスクルードまたはインクルードのルールを変更/追加するので、影響があるようであれば、既存のコンテンツ インデックスとは分けた方が無難です。

(1). SPS ポータルのサイトの設定から、検索とインデックス作成の構成にて高度な検索管理モードの有効化 (→省略化)

(2). コンテンツインデックスの追加する。 たとえば、名前=Portal_User、説明=ユーザープロファイル、ソースグループ=ユーザープロファイルグループ (→(1)を省略した場合は不要)

(3). (2)で作成したPortal_User、もしくは、既存のPortal_Contentの「コンテンツをエクスクルードまたはインクルードするルールの管理」画面を表示 →高度な検索管理モードが有効か無効かでオペレーションが異なります。高度な検索管理モードを有効化していない場合は、ここでは行わずに、コンテンツ ソースを追加した後にコンテンツ ソースの編集画面から行った方が簡単。

(4). 「コンテンツをエクスクルードまたはインクルードするルールの管理」画面で、既定のポータル名のプルダウンメニューから編集をクリック。 クロールの構成で「このサイトのアイテムをすべてインクルードする」を選択し、「複合 URL (疑問符 (?) が含まれる URL) をインクルードする」をオンにする。 →このあたりが、既存のルールに影響すると思うので、環境に応じての影響範囲は要検証

(5). 「エクスクルードまたはインクルードするコンテンツ」画面で新しいルールを作成。ルールは次の通り。 ・パス=sts2://ポータル名/personal/* ・クロールの構成=このパスにあるアイテムをすべてエクスクルードする ・このルールをクロールされたアドレスおよび検索結果に表示されるアドレスの両方に適用するをオン

(6). 検索とインデックス作成の構成画面にて、コンテンツソースを追加する。 ・コンテンツインデックスの選択は、環境に応じて。コンテンツ インデックスを作成している場合は(2)で指定したもの、作っていない場合はPortal_Content。 ・コンテンツ ソースに、「Exchange Server パブリックフォルダ」を選択 →ここがミソらしい。なぜパブリック フォルダだとうまくいくのかは不明。。 ・アドレス=sps://ポータル名/site$$$people

(7). 検索範囲を追加。 ・トピックとエリア=トピックまたはエリアをインクルードしない ・コンテンツソースグループ=範囲を以下のコンテンツソースのグループに限定する、(6)で作成したコンテンツ ソースのみをオン

(8). インデックスをフル更新

テンプレート化可能なサイズを変更する

サイトやライブラリ、リストをテンプレート化する際の上限値ですが、SharePoint v2、v3ともに既定値が10MBだか20MBだかに設定されており、コンテンツを含めた形でテンプレート化もできますが、とてもこの上限値ではたりません。

ですが、SharePoint v3からは、上限値(というか設定値)を変えることができるようになっているようです。ただし、UIからではなく、コマンドを使う必要があります。

   

stsadm -o setproperty -propertyname max-template-document-size -pv サイズ(バイトで指定)

   

設定を変えると、サイト、リスト、ライブラリともに同じ値に設定されます。

   

#ただ気になるのが、普通、getpropertyで設定値を確認できるはずなんですが、ちょっとやった感じでは確認できなかったので、引き続き調査します。。

   

   

2007/06/08

SharePoint について

SharePoint を触っていると、ちょくちょく疑問に思うことが多いので、忘れないようにメモしておきます。

発行機能の謎

MOSS の発行機能には謎が多いんですが、ますます不思議なことがありました。

そもそもは、SharePoint を導入する時の悩みのタネとして、 ①Web アプリケーションの構成 ②サイト コレクションの構成 がありました。ちょっと思うところがあって、②について検証をしていたのですが、おかしな現象に遭遇しました。

まず、やりたいことは。

  • Web アプリケーションを作成した後、最初に作成するサイト コレクション( http://ServerName:ポート/ となるサイト)で、テンプレートに「個人用サイトのホスト」を指定。
  • 2 つ目以降のサイト コレクション(http://ServerName:ポート/sites/~ となるサイト コレクション)では、「空のチーム サイト」を指定。
  • 2つ目以降のサイト コレクションで、MOSSの全機能が有効化できること

で。何が起こったかというと。 2つ目以降のサイト コレクションで「発行機能」を有効に使用とすると・・・「アクセス拒否」というエラーが!

いろいろ試行錯誤した結果、次の手順であればOKでした。

  1. 最初のサイト コレクションは、テンプレートを発行サイトで作成しておく
  2. 2つ目以降のサイト コレクションを作成
  3. 最初のサイト コレクションを削除
  4. もう一度、サイト コレクションを、「個人用サイトのホスト」サイト テンプレートで作成
  5. (2)で作成したサイト コレクションにアクセスして、サイト コレクションの機能で発行機能を有効化

(4)でサイト コレクションを作るとき、(3)でhttp://ServerName:ポート/ となるサイト コレクションを削除しているので、 (4)で作成したものが、http://ServerName:ポート/ となるので、やりたかったことはこれでOKなんですが、 いったい何なんでしょうか。。 Web アプリケーションを作って、最初にサイト コレクション作る時って、何か特別なことが起きてるんですかね??そんなことはサイト コレクションを作るときではなくって、Web アプリケーションを作るときにしてほしい・・。