Dynamics CRM 2011 と SharePoint 2010 連携 その 3

みなさん、こんにちは。

今回は SharePoint 2010 エンタープライズ検索の結果に、Microsoft Dynamics
CRM 2011 のレコードを表示させる方法について紹介します。環境は前回まで
のものをそのまま利用します。

Dynamics CRM 2011 と SharePoint 2010 連携 その 1
Dynamics CRM 2011 と SharePoint 2010 連携 その 2

SharePoint 2010 エンタープライズ検索

SharePoint 2010 エンタープライズ検索を利用することで、SharePoint サーバー
内のコンテンツだけでなく、外部のカタログも検索できるようになります。今回は
外部のシステムとして Microsoft Dynamics CRM 2011 を利用します。

では早速今回のシナリオを紹介しましょう。

シナリオ 3

要件
1. SharePoint ポータルでの検索結果に Microsoft Dynamics CRM 2011 に
格納した、取引先企業の情報を表示すること。
2. 取引先企業名を表示結果に表示し、ユーザーが検索結果をクリックした際、
Microsoft Dynamics CRM 2011 の該当レコードのフォームを開くこと。
3. ノンコーディングで実現すること。
4. SharePoint ユーザーが CRM ユーザーであるかによらず検索の結果は
表示するが、実際のレコードを開く場合にはセキュリティを順守すること。

ソリューション

要件を満たすため、検索のコンテンツソースとして再度 BCS を利用します。
では早速手順を見ていきましょう。

BCS と操作の作成

1. SharePoint デザイナーを起動します。

2. サイトを開くより https://crm2011 を開きます。

3. ナビゲーションより外部コンテンツタイプをクリックします。

4. 新規作成リボンより新規の外部コンテンツタイプを作成します。

image

5. 名称に AccountSearch と入力して、スクリーンショット下部にある
外部システムのリンクをクリックします。

image

6. 接続の追加をクリックして、データソースタイプから SQL Server を選択し、
OK をクリックします。

image

7. 以下のように設定を入力して、OK をクリックします。

image

8. 追加されたデータソースよりビューを展開し、FilteredAccount
を右クリックし、リストの読み取り操作の新規作成をクリックします。

image

9. ウィザードが起動するので、戻り値パラメーター構成の画面まで
次へボタンをクリックして進めます。

10. 戻り値パラメーター構成画面は既定ですべての項目が選択
されているため、一番上のチェックボックスをクリックしてすべての
選択を解除し、accountid のみにチェックを入れます。

11. 右側の画面より識別子へのマップにチェックを入れます。

image

12. さらに name を選択後、完了ボタンをクリックします。

13. 再度 FilteredAccount を右クリックし、項目の読み取り操作の
新規作成をクリックします。

14. ウィザードが起動するので、次へを一度クリックします。

15. 入力パラメーター 構成の画面で accountid を選択し、右画面
より識別子へのマップにチェックを入れて、次へをクリックします。

image

16. 戻り値パラメーター構成画面は既定ですべての項目が選択
されているため、一番上のチェックボックスをクリックしてすべての
選択を解除し、accountid のみにチェックを入れます。

17. 右側の画面より識別子へのマップにチェックを入れます。また 
name を選択し、完了をクリックします。

18. リボンメニューより概要ビューボタンをクリックします。フィールドの
一覧より name を選択し、リボンよりタイトルとして設定をクリックします。

19. 保存します。

アクションの追加

1. SharePoint 2010 サーバーの全体管理を開きます。

2. アプリケーション構成の管理からサービスアプリケーションの管理を
選択し、Business Data Connectivity Service をクリックします。

3. 追加された AccountSearch にアクションを追加します。

image

4. アクション名に Redirect と入力し、移動先 URL に以下のものを入力します。
https://crm2011:5555/ADW/main.aspx?etn=account&pagetype=entityrecord&id=%7B{0}%7D
このアドレスは取引先企業のフォームを開く URL です。

5. パラメータの追加ボタンをクリックし、パラメーター 0 に accountid を指定します。

6. 既定のアクションにチェックを入れて、OK をクリックします。

image

検索の設定

1. アプリケーションの全般設定からファームの検索設定を選択します。

2. Search Application をクリックします。

3. クロールメニューよりコンテンツソースをクリックします。

4. 新しいコンテンツソースリンクをクリックします。

5. 名前に CRMSearch と入力し、基幹業務のデータをクロールの対象
として選択します。

6. 選択した外部データ ソースをクロールするにチェックを入れ、
CRMSerach のみにチェックを入れます。

image

7. このコンテンツソースのフルクロールを開始にチェックして、OK をクリックします。

image

8. フルクロールが完了するまで待ちます。結果はクロール ログで確認できます。

image

 

検索ページの作成

1. https://crm2011 を開きます。

2. サイトの操作より、新しいサイトをクリックします。

3. 検索カテゴリを選択し、エンタープライズ検索センターを選択、タイトルとアドレスに
CRMSearch と入力します。作成ボタンをクリックします。

4. サイトが作成されたら検索画面が表示されます。検索を実行します。
検索結果のタイトルおよびリンクが意図したとおりになっていることを確認します。

image

まとめ

SharePoint 2010 の検索対象として Microsoft Dynamics CRM 2011 を
指定できることは、状況により非常に強力です。性質上、リアルタイムに
レコードの状態を反映しないため、すでに削除されたレコードが検索の
結果に表示される等、運用上の工夫は必要ですが、是非トライしてください。

- Dynamics CRM サポート 中村 憲一郎