SharePoint Applied-Search Your Legacy Data
Are you a Microsoft developer? Have you heard about SharePoint? Do you use SharePoint in your organization? If you answered “yes” to any of these questions, keep reading. In these series of articles, I intend to take on common everyday problems that face organizations and solve them using SharePoint. If you already use SharePoint, you will probably raise an eyebrow and think “Neat!” at the end of the article. If you don’t use SharePoint yet, maybe this will tip you over the edge.
Let me use a cliché that Microsoft uses annoyingly often: information workers. These employees deal with semi-organized information all the time. The amount of information the information worker (ugh!) deals with is increasing exponentially. The problem is, in spite of our best efforts, a lot of this information is not structured very well. Thus the information worker ends up being not so well informed.
Northwind Traders, a fictional company invented by Microsoft, seem to be running into a similar challenge. They have a historical Northwind SQL Server database that contains data about all their customers. In addition, there is this annoying bespectacled user in the basement, Milton, who insists on not using the SQL Server-based application; instead, he maintains his data in Excel spreadsheets on his local machine. In addition to his love for Excel, he also loves his red stapler and people fear that he may burn down the building one day. He insists that he can search through his Excel spreadsheets just as easily by pressing CTRL_F and that the newfangled SQL Server-based application doesn’t let him search through customer data very well.
Frankly, there is some dissension amongst the users of the SQL Server-based application. After all, there isn’t a unified way to search through Excel spreadsheets or the SQL Server-based application.
The Project Manager is getting worried!
You Are Hired
It seems you have landed onto the scene like a superhero, except your cape says “SharePoint” on it and you don’t like to wear your underwear outside like many other superheroes do.
In this article, I will walk you through how to create a unified search solution that searches not only those Excel spreadsheets, but also the Northwind SQL Server database. This solution is also extensible to other search sources that may sprout up within the organization afterwards. It does all this and presents users with a simple common search UI-exposed through SharePoint. Also, instead of filling these pages with code that I’ve copied and pasted from other sources, I am going to point you to the sources so you can write the code yourself and keep this article to the point.
To begin, you’ll index all those Excel spreadsheets on Milton’s desktop. You can do this using the following steps:
A domain administrator will share Milton’s C:\Excel Sheets location in such a way that the account that is running the MOSS Search account has read-only access to that location. Alternatively, if Milton is in a good mood, he can set up such a sharing policy himself.
Now under Shared Services > Search settings > Content Sources, add a content source called “Milton Excel Sheets” with the settings shown in Figure 1. Also, set up an Incremental crawl schedule.
Figure 1: Settings for the “Milton Excel Sheets” content source.
From the search page, issue a full crawl as shown in Figure 2. Assuming you’ve set up the security permissions appropriately, this crawl should succeed.
Figure 2: Issuing a Full Crawl on the Milton Excel Sheets content source.
Next, you’ll bring the Northwind customer data from the SQL Server application into SharePoint in such a way that it is searchable. The most logical way to do so is by importing a Business Data Catalog (BDC) application. Rather than copying and pasting mounds of XML data to describe the structure of such an application, instead, I will point you to the instructions to do so on my blog.
You can find a walkthrough of BDC at http://blah.winsmarts.com/2007-4-SharePoint_2007__BDC_-_The_Business_Data_Catalog.aspx. Also, you can find an example of importing customer data and making it searchable via a BDC application at http://blah.winsmarts.com/2007-4-SharePoint_2007__BDC_-_Enabling_Search_on_business_data.aspx.
Assuming that you have set up a BDC application that imports Northwind Customers, and is searchable, next go ahead and set up a content source that crawls the Northwind BDC application. You can see this in Figure 3.
Figure 3: Setting up the Northwind Customers BDC application.
Once you have set up such an application and you have set up the appropriate access rights, issue a full crawl for the “Northwind Customers” content source, similar to Figure 2.
By: Sahil Malik
Sahil Malik is a Microsoft MVP, INETA speaker, a .NET author, consultant, and trainer, and a well-rounded overweight geek. He has a passion for SharePoint, data access, and application architecture.
Sahil loves interacting with fellow geeks in real time. His talks are full of humor and practical nuggets. His talks tend to get very highly charged, fast moving, and highly interactive.
You should check out his blog at http://blah.winsmarts.com
SharePoint 2007 search is extremely extensible and flexible.