Skip to content

Piconix

pico pico nix piconix

タイマージョブを作成する機会があったので、メモがてら記録しておきます。

はじめる

  1. Visual Studio 2010 で、” 空のSharePointプロジェクト” から始めます。
    • デバッグの設定は、サンドボックスではなく、”ファーム” にします。
    • 特定のサイトに対するジョブを作成する場合は、デバッグの設定でそのサイトを指定します。
  2. Features の下にフィーチャを追加します。
    • タイトル、説明、スコープを設定します。スコープについては、後述。
    • そのフィーチャを右クリックして、イベントレシーバを追加します。イベントレシーバについては、後述。
  3. パッケージの名前、タイトル、および説明を必要に応じて設定します。
    • パッケージにフィーチャを追加します。(というか、既定で追加されています)
  4. プロジェクトにクラスを追加します。このクラスがジョブの本体になります。後述。

continue reading…

SharePoint 2010 でサイトを構築するときの話です。

検索センターをどこに作成していますか?
独立したWebアプリケーション下のサイト コレクションとして作成していますか? それともホームページとなるサイト コレクションの下に作成していますか?

まあ、いずれの場合でも、検索センターを作成すると、ナビゲーションが一般的な他のサイトとは異なってしまいます。

これは、通常のサイトは v4.master というマスターページが使用されているのに対して、検索センターでは minimal.master というマスターページが使用されているためです。
ではマスターページを v4.master にすればよいかというと、それはそれで検索ボックスが非表示になってしまいうまくいきません。

おそらく、検索センターは Google 検索のように、ポータルサイトとして独立して機能するような意図で minimal.master が適用されているのかもしれません。
しかし実際には、 というかアタクシのケースでは、検索の機能はホームページの下に他のサイトや機能と同様に並列にぶらさがる、サイトの機能の一部としてユーザーに提供しています。

そこで、なんとかv4.masterを適用できないかと調べたら、次のサイトに答えがありました。

他にもいくつか参考になるサイトがあります。

SharePoint 2010 で検索を構成していて、はまりました。

通常の検索は問題なく行えます。しかし、ユーザー (ひと) を検索しようとしてもヒットしません。

User Profile 専用のクロール ルールを作成し、

https://somewhere.com
sps3://somewhere.com

といったように、検索先アドレスを指定していたのですが…。もう、ピンと来ましたか?

イベント ログには、次のように記録されています。

ログの名前: Application
ソース: Microsoft-SharePoint Products-SharePoint Server Search
イベント ID: 14
タスクのカテゴリ: Gatherer
レベル: 警告
説明:
開始アドレス sps3://somewhere.comをクロールできません。
コンテキスト: アプリケーション ‘Search_アプリケーション’、カタログ ‘Portal_Content’
詳細 :
指定されたタイムアウト時間内にリポジトリからの応答がなかったので、このアイテムをクロールできませんでした。しばらくしてからリポジトリのクロールを再試行するか、検索管理の [プロキシとタイムアウト] ページでタイムアウトの値を長めに指定してください。オフピーク時にこのリポジトリのクロールを実行することもできます。(0x80040d7b)

さて原因ですが、プロトコル ハンドラの名前 sps3 を、sps3s にすべきだったのです。そう、サイトを SSL で保護していたのです。

脱力しました….。数時間が…..。

あと、検索の構成に関しては、こちらのエントリが、非常に役に立ちました。

Successful SharePoint 2010 People Search

また、プロトコル ハンドラの一覧は、こちら。

http://technet.microsoft.com/ja-jp/library/dd695731(office.12).aspx