Federated Search for a Single-Multi Server SharePoint Portal Server 2001 for Phillips Petroleum Corporation

Version 1, November 25, 2001

Author: Dino Dato-on, Ricardo Herrera This document describes the overview, installation and configuration for Federated Search for Phillips Petroleum Corporation of SharePoint Portal Server 2001.

Page 1/19

Table of Contents
1 OVERVIEW.........................................................................................................................................3 FEDERATED SEARCH...................................................................................................................................3 2 ARCHITECTURAL OVERVIEW......................................................................................................4 SEARCH WEB SERVICE...............................................................................................................................4 FEDERATED SEARCH WEB PARTS.................................................................................................................5 Simple Search Web Part....................................................................................................................5 Advanced Search Web Part...............................................................................................................6 Matching Documents Web Part........................................................................................................7 3 FEDERATED SEARCH INSTALLATION.......................................................................................8 PRE-REQUISITES.........................................................................................................................................8 INSTALLATION FILES...................................................................................................................................9 SERVER INSTALLATION..............................................................................................................................10 Creating and Configuring the SOAP Virtual Directory..................................................................10 Using RegisterComps.vbs...............................................................................................................11 Registering SPSWebService............................................................................................................12 Registering SPSSearchService........................................................................................................12 Registering PhillipsSPS..................................................................................................................12 Creating and Configuring COM+ Security Application................................................................13 Configuring the federatedSearch.WSDL File.................................................................................13 Configuring SearchConfig.xml.......................................................................................................14 Configuring searchserver.xml.........................................................................................................15 WORKSPACE INSTALLATION.......................................................................................................................16 Adding Resource folder files to workspace.....................................................................................16 Configuring the Workspace Resource folder to a Virtual Directory...............................................16 Importing and Configuring the Federated Search Web Parts .......................................................17 Simple Search Web Part..............................................................................................................17 Advanced Search and Matching Documents Web Parts.............................................................17 4 FEDERATED SEARCH MAINTENANCE.....................................................................................18 CONFIGURATION MAINTENANCE.................................................................................................................18 Managing SearchConfig.xml..........................................................................................................18 Managing searchserver.xml............................................................................................................18 SECURITY MAINTENANCE.........................................................................................................................18 Maintaining the Search Service Account for Searching the Enterprise.........................................18 Refreshing MS Exchange Information Store to Release SharePoint Portal Server Cached Credentials.......................................................................................................................................19

Page 2/19

1 Overview
The following document contains the architectural overview and installation procedures, configuration and maintenance tasks for the Federated Search feature for the SharePoint Portal Server 2001. This document is intended for SharePoint Coordinators and/or Knowledge Management technical personnel who are well familiar with administering SharePoint Portal Server. To become more familiar with SharePoint Portal Server please go to the online documentation found on http://microsoft.com/sharepoint/portalserver.asp .

Federated Search
The Federated Search feature uses the term federated due to the extensibility of its search options. A federated search allows a user to span multiple search engines throughout the intranet. Each search engine is represented by a SharePoint Portal server at a different location destination. The following picture depicts a federated Search:

Search Request
Local Workspaces/Portals
Search Requests

Search Server

Other Locations

Searching Other Locations Document Mgmt Server

Search Requests from Other Locations Other SharePoint Portals

Other Locations

The federated search allows users to search multiple locations as well as its own locations. Other locations can also search within each others location. These searches are all conducted on document management servers which can also be search servers depending on their defined server configuration.

Page 3/19

2 Architectural Overview
The Federated Search feature encompasses several technologies to allow users to access the correct workspace information for each location and to search for content at specific locations.

Search Web Service
The search web service resides on the document server which consists of two main tasks 1) retrieving the workspace information for building the search call and 2) making the search call to the appropriate search server. These two tasks make up the core functionality of the federated search feature. The document server contains all the workspaces where the users will be using the federated Search. Each of the workspaces will contain the federated search web parts which will be covered in the next sections. These web parts are the user entry points for the federated search and interact with the web service to dynamically populate content on the client side for locations, workspaces and document profiles. The web service is used as a proxy to other document servers for retrieving workspace names and document profile information for each of the workspaces. The location allows the web service to pull information from the appropriate document server. Building Search Call
Document Server User selects a location/workspace Location workspaces and/or document profiles returned from Web Service Web service Other Locations Web Service will go to other locations to retrieve Workspaces and Document Profiles based on request.

XML Data

Making Search Call
User submits search entry by location, workspace and/or document profile. Search Results by Location Document Server Web service

Other Locations

XML Data Local Search Server Web Service will search other locations to retrieve document data in xml.

Page 4/19

Federated Search Web Parts
The Federated Search feature is a custom solution that allows users from a workspace to access multiple workspaces on the same server or other SharePoint Portal Servers. It consists of three new custom web parts which include the Simple Search Web Part, Advanced Search Web Part and the Matching Documents Web Part. These web parts interact with the search web service for building a search call and making the search call.

Simple Search Web Part
The simple search web part allows a user to search for content in the workspace they are currently working in. The web part is located on the home dashboard, categories dashboard and the document library dashboard. It consists of a text entry field for search criteria, the location label where the SharePoint Portal Server resides and the workspace label of the current workspace name. Upon submission using the Go button, the results will appear in the Search dashboard in the Matching Documents Web Part. The Simple Search Web Part is as follows:

Page 5/19

Advanced Search Web Part
The Advanced Search web part allows a user to further search for content outside of the workspace as well as the current workspace. The Advanced search allows for a more detailed search which includes multiple locations. Each location consists of multiple workspaces and each workspace consists of multiple document profiles pre-defined by SharePoint Administrators. The Advanced Search Web Part is as follows:

Page 6/19

Matching Documents Web Part
The Matching Documents web part displays the results from the Simple Search and Advanced Search web parts. It emulates the same look and feel as the out-of-box solution. If a user selected multiple locations, each location will be displayed with the total number of results find for that location. A user will then be able to select the location to further refine the location search. The Matching Document Web Part is as follows:

Page 7/19

3 Federated Search Installation
Installation of the federated Search consists of two installations, a server instance install which is only done once per server and a workspace level instance which is done for every workspace on the Document Server. *Note: It is important to follow this installation in the order the document follows. This will ensure a correct installation.

Pre-requisites
The document entitled Design Architecture and Deployment of SharePoint Portal Server 2001 using a three server configuration for Phillips Petroleum contains the configuration needed prior to installing the Federated Search Functionality. Setting up the environment is a requirement for the federated search functionality. The following items must be installed prior to installing Federated Search: Microsoft SOAP Toolkit 2.0 or higher Microsoft Visual Basic 6.0 Runtime The install files for the items above can be found in the Federated Search/Installs folder.

Page 8/19

Installation Files
The installation files consist of the Federated Search directory which includes four folders. These folders are the Installs folder, Soap folder, Resource folder and Web Parts folder. The files for each folder are as follows: Installs folder files SoapToolkit20.exe (Soap Toolkit 2.0 Installation file) VBRun60sp5.exe (Visual Basic 6.0 Runtime files) Soap folder files entClientFunctions.js entSearchFunctions.js federatedSearch.asp federatedSearch.WSDL federatedSearch.WSML RegisterComps.vbs SearchConfig.xml Searchserver.xml SPSWebservice.dll SPSSearchService.dll PhillipsSPS.dll Resource folder files DashboardExtensions.vbs EntSearchResultsPart.xsl FileTypes.xml Strings.xml Webservice.htc (HTC Component file) Web Parts folder files Federated Advanced Search.dwp Federated Matching Documents.dwp Simple Search.dwp Make sure to verify that the above files are available. These files are needed to continue installation.

Page 9/19

Server Installation
The following procedure should only be done once on the document server instance for a location. This installation procedure will serve for both a multi-server scenario and a single server scenario. Any installation differences for the single and multi-server will be clarified during the installation process.

Creating and Configuring the SOAP Virtual Directory
• • • • • • • • • • • • • • • • • • • Under the Federated Search Install directory copy the entire Soap directory to <DRIVE>:\inetpub\wwwroot folder. This will be the location where the virtual directory will be located. Go to StartProgramsAdministrative ToolsInternet Services Manager. Selecting the Internet Service Manager will open the IIS Administrative Console. Expand the Server Name and then the Default Web site. Right-Click on the Default Web Site and select NewVirtual Directory. The Virtual Directory Wizard appears. Hit Next. Enter soap in the alias entry field. Hit Next. Browse to the <DRIVE>:\inetpub\wwwroot folder and select the soap folder that was copied their. In the directory field, <DRIVE>:\inetpub\wwwroot\Soap should appear. Hit Next. In the Access Permissions section, make sure the Read, Run Scripts and Execute are checked, if not select them. Hit Next. Hit Finish, you have successfully created the soap virtual directory. Under the Default Web site the soap virtual directory should appear. Right-Click on the soap virtual directory and select properties. Under the Virtual Directory Tab change the Application Protection select field to display Low (IIS Process) Under the Directory Security Tab, click Edit in the Anonymous access and authentication control section. The Authentication Methods menu appears. Deselect Anonymous access. Select Integrated Windows Authentication if not already selected. Hit OK. Soap virtual directory creation and configuration is complete.

Page 10/19

Using RegisterComps.vbs
The RegisterComps.vbs file is an installation. It registers the SPSWebService.dll, SPSSearchService.dll and PhillipsSPS.dll. It also creates and configure the COM+ Application. The RegisterComps.vbs file must be configured to the environment it will be used in. *Note: If you do not wish to use the RegisterComps.vbs, skip this section. If this script is used the sections Registering SPSWebService, RegisteringSearchService, Registering PhillipsSPS and Creating and Configuring COM+ Security Application may be skipped. The RegisterComps.vbs script is equivalent to using these sections. Configuring the RegisterComps.vbs: • Using a text editor, open the RegisterComps.vbs file located in the <Drive>:\inetpub\wwwroot\soap folder. • At the beginning of the file, look for the Const variables sDLL_PATH, sUser and sPassword. • Modify the sDDL_PATH to the physical SOAP directory on the local machine. • Modify the sUser and sPassword to a coordinator account that has access to search. • Save the changes and exit the text editor. • RegisterComps.vbs configuration is complete. Executing the script Double-click on the RegisterComps.vbs. Message windows displaying current state of script will appear until the completion of execution. *Note: After execution of script, it is recommended to change the account information to a dummy account or empty string in the RegisterComps.vbs.

Page 11/19

Registering SPSWebService
• • • • • • Go to StartRun. Enter cmd and Hit OK. A command prompt will appear. If the inetpub\wwwroot\Soap directory is not on the c:\, then type <Drive letter>: to change to correct drive. Type cd \ (Takes you to drive root directory ) Type cd inetpub\wwwroot\Soap (You are now in the soap directory) To register the SPSWebService.DLL type the following:

<Drive>:\inetpub\wwwroot\soap> regsvr32.exe SPSWebservice.dll A window should appear that says DLL has been registered successfully. • Registering SPSWebservice is complete.

Registering SPSSearchService
• • • • • • Go to StartRun. Enter cmd and Hit OK. A command prompt will appear. If the inetpub\wwwroot\Soap directory is not on the c:\, then type <Drive letter>: to change to correct drive. Type cd \ (Takes you to drive root directory ) Type cd inetpub\wwwroot\Soap (You are now in the soap directory) To register the SPSWebService.DLL type the following:

<Drive>:\inetpub\wwwroot\soap> regsvr32.exe SPSSearchService.dll A window should appear that says DLL has been registered successfully. • Registering SPSWebservice is complete.

Registering PhillipsSPS
• • • • • • Go to StartRun. Enter cmd and Hit OK. A command prompt will appear. If the inetpub\wwwroot\Soap directory is not on the c:\, then type <Drive letter>: to change to correct drive. Type cd \ (Takes you to drive root directory ) Type cd inetpub\wwwroot\Soap (You are now in the soap directory) To register the SPSWebService.DLL type the following:

<Drive>:\inetpub\wwwroot\soap> regsvr32.exe PhillipsSPS.dll A window should appear that says DLL has been registered successfully. • Registering PhillipsSPS is complete.

Page 12/19

Creating and Configuring COM+ Security Application
A COM+ Security Application will be needed for searching across from location to location. COM+ propagates security credentials of an authorized search against other SharePoint Portal Servers. To Create and Configure the COM+ Application • Go to StartProgramsAdministrative ToolsComponent Services. • The Component Services Console will appear. Expand Component ServicesComputers MyComputerCOM+ Applications. Select COM+ Applications. • Right-click on COM+ Applications and select NewApplication. The COM Application Install Wizard will appear. • Hit Next. • Select Create an Empty Application. • Enter “SPSSearchService” in the entry text field. Select Server Application. • Hit Next. • Select This User and enter the credentials of a coordinator with search rights to other locations. • Hit Next. • Hit Finish. You have successfully created a new COM+ Application. Adding SPSSearchService.dll to the COM+ Application • Expand the SPSSearchService Application. Select Components. • Right-click on components and select NewComponent. The Component install Wizard will appear. • Hit Next. • Select Install New Components. • Browse to the Soap folder created and select SPSSearchService.dll. The wizard should load the component details. • Hit Next. • Hit Finish. The COM+ Application has been configured.

Configuring the federatedSearch.WSDL File
• • • • • Using a text editor, open the federatedSearch.WSDL file located in the <Drive>:\inetpub\wwwroot\soap folder. Scroll to the bottom of the file and look for <soap:address location= node. Change the address to match the installation server address. It should appear closely to the following: <soap:address location=’http://<install server>/soap/federatedSearch.asp’/> Save the changes and exit the text editor. federatedSearch.WSDL configuration is complete.

Page 13/19

Configuring SearchConfig.xml
• Using a text editor, open the SearchConfig.xml file located in the <Drive>:\inetpub\wwwroot\soap folder.

The contents of the file are as follows: <?xml version="1.0" ?> <SearchConfig> <Location name="Bartlesville"> <DocumentServer>BVLSPS01</DocumentServer> <SearchServer>BVLSEARCH01</SearchServer> </Location> </SearchConfig> The Location name specifies the desired name for a location. The Document and Search Server must contain a valid server name. *Note: For a single server the SearchServer is also the DocumentServer so you must specify the server name twice. • • Change the Location name, DocumentServer and SearchServer values to the appropriate servers. For each additional location, you must append a new Location Node. The following is an example of such:

<?xml version="1.0" ?> <SearchConfig> <Location name="Alaska"> <DocumentServer>ALASPS01</DocumentServer> <SearchServer>ALASEARCH01</SearchServer> </Location> <Location name="Bartlesville"> <DocumentServer>BVLSPS01</DocumentServer> <SearchServer>BVLSEARCH01</SearchServer> </Location> <Location name="Houston"> <DocumentServer>HOUSPS01</DocumentServer> <SearchServer>HOUSPS01</SearchServer> </Location> </SearchConfig> *Note: The Houston location is configured as a single server. • Save the changes and exit the text editor. Before saving verify all the information is correct and spelled correctly. The XML file is case sensitive so any XML node changes such as Documentserver as compared to DocumentServer will cause the reading program to error. SearchConfig.xml configuration is complete.

Page 14/19

Configuring searchserver.xml
• Using a text editor, open the SearchConfig.xml file located in the <Drive>:\inetpub\wwwroot\soap folder.

The contents of the file are as follows: <?xml version="1.0" ?> <SearchServer>BVLSEARCH01</SearchServer> *Note: For a single server the SearchServer is also the DocumentServer so you must specify the server name twice. *Important: The searchserver.xml should only contain one entry, the entry for the current location. The Search Server entry must also match the Search Server entry in the SearchCofig.xml. If the SearchConfig.xml contains the Search Server “BVLSPS01” then the searchserver.xml should contain “BVLSPS01”. • • Change the SearchServer value to the appropriate server. Save the changes and exit the text editor. Before saving verify all the information is correct and spelled correctly. The XML file is case sensitive so any XML node changes such as Searchserver as compared to SearchServer will cause the reading program to error. searchserver.xml configuration is complete.

Page 15/19

Workspace Installation
The following procedure should be repeated for every workspace needing installation. This installation procedure will serve for both a multi-server scenario and a single server scenario. Any installation differences for the single and multi-server will be clarified during the installation process.

Adding Resource folder files to workspace
• Expand My Network Places and then Expand the workspace needing installation. The workspace item follows the form <Workspace Name> on <Server Name>.

*Note: If the workspace name is not under My Network Places then you must add a shortcut to the web folder. To Add a shortcut o Right Click on My Network Places and select Map Network Drive. o Click on the link “Create a Shortcut to a Web Folder or ftp site” o In the Location of the Network Place field, enter http://<server_name>/<workspace_name> o Hit Next. o Hit Finish. The shortcut should now appear under My Network Places. • • • Expand Portal and then click on the resources folder. Copy all files from the Federated Search/Resources directory to this resources folder. Adding resource folder files is complete.

Configuring the Workspace Resource folder to a Virtual Directory
• • • • • • • • • • Go to StartProgramsAdministrative ToolsInternet Services Manager. Selecting the Internet Service Manager will open the IIS Administrative Console. Expand the Server Name and expand the Default Web site. Expand the <workspace_name>  Portal and select the resources folder. Right-Click on the resources folder and select Properties. The Virtual Directory Properties Window appears. In the Application Settings under the Directory tab, Hit the Create Button. This converts the folder to a Virtual Directory. Select Low (IIS Process) in the Application Protection select list. Under the Directory Security tab in the Anonymous access and authentication control, Hit the Edit button. Authentication Methods Window appears. Deselect Anonymous, if not already deselected. Check the Integrated Windows Authentication. Hit OK to close Authentication Methods Window. Hit Apply to propagate all changes. Hit OK to close Properties Window.

Page 16/19

Workspace Resource folder configuration is complete.

Importing and Configuring the Federated Search Web Parts
Simple Search Web Part • • • • • • • • • • • On the workspace homepage dashboard (http://<server_name>/<workspace_name>) select the Content Link. In the Contents page, select the Search Web Part. In the settings for Search, select Delete. Yes it is OK to delete the Web Part. In the Contents page, select import a web part file. A file browser window appears. Browse to the Federated Search/Web Parts directory and select Simple Search.dwp. It should now appear in the web parts section. Select Simple Search. In the General Settings, scroll down and select Show Advanced Settings. In the embedded content section, inside the GetContent function look for the variable s_SoapDirectory. Change the value to the physical path of the Soap directory if not already correct. Scroll Down and Hit Save. Hit Save again to view Web Part on Dashboard. Repeat all the above steps for the Categories dashboard (http://<server_name>/<workspace_name>/Portal/Categories) and the Document Library dashboard (http://<server_name>/<workspace_name>/Portal/Document Library)

Advanced Search and Matching Documents Web Parts • • • • • • • • • • • • Go to the Search Dashboard (http://<server_name>/<workspace_name>/Portal/Search) and select the Content Link. In the Contents page, remove all the Web Parts currently being displayed. In the Contents page, select import a web part file. A file browser window appears. Browse to the Federated Search/Web Parts directory and select Matching Documents.dwp. It should now appear in the web parts section. In the Contents page, select import a web part file. A file browser window appears. Browse to the Federated Search/Web Parts directory and select Advanced Search.dwp. It should now appear in the web parts section. In the Contents page, Select Matching Documents. In the General Settings, scroll down and select Show Advanced Settings. In the embedded content section, inside the Init function look for the variable search_soap_physical_dir. Change the value to the physical path of the Soap directory if not already correct. Scroll Down and Hit Save. In the Contents page, Select Advanced Search. In the General Settings, scroll down and select Show Advanced Settings.

Page 17/19

• •

In the embedded content section, inside the GetContent function look for the variable s_SoapDirectory. Change the value to the physical path of the Soap directory if not already correct. Scroll Down and Hit Save.

4 Federated Search Maintenance
Configuration Maintenance
Managing SearchConfig.xml
The brain of the federated search operation is the SearchConfig.xml so it is essential that Server Administrators keep this file up to date. The Server Administrators must collaborate with other Server Administrators from other locations of any changes to their environments. Not updating the file will cause locations not to be found causing an invalid search request. *Important: When adding an existing location to the SearchConfig.xml, the location name entry must match the existing location name entry of the destination location. This means that if the location name “Bartlesville” exists, then when adding this location to the configuration file the location name must also be “Bartlesville” and not “Bville”. This allows Federated Search to standardize a location name throughout the enterprise.

Managing searchserver.xml
The searchserver.xml needs to be up to date per location. The Server Administrators does not need to collaborate with other Server Administrators for other locations on this configuration file. This file only pertains to the location and will not affect other locations. *Important: The searchserver.xml should only contain one entry, the entry for the current location.

Security Maintenance
Maintaining the Search Service Account for Searching the Enterprise
The search service account password should be updated in case the account password expires. It is recommended to use a service account with a no password expiration rule. This will keep maintenance to a minimal. To Update Search Service Account: • Go to StartProgramsAdministrative ToolsComponent Services.

Page 18/19

• • • • •

The Component Services Console will appear. Expand Component ServicesComputers MyComputerCOM+ Applications. Right-click on the SPSSearchService Application and select Shut Down. This temporarily shuts the the application to make changes. Right-click on the SPSSearchService Application and select Properties. Under the Identity Tab, update the user account as necessary. After updating the information, you may restart the package by right-clicking on the SPSSearchService Application and select Start. The package will automatically start on first use, so it is not necessary to start.

*Note: Any configuration changes made to the COM+ Application will require the user to enter the Identity Account Password to propagate changes.

Refreshing MS Exchange Information Store to Release SharePoint Portal Server Cached Credentials
When users are added and deleted to the workspaces, SharePoint Portal Server will cache the user credentials. This means that a user that is deleted from a workspace may still be cached and have access to workspaces they should not have access to. The solution is to refresh the MS Exchange Information Store to release the cached credentials. It is recommended that users be added and deleted by administrators at non-peak hours to allow this procedure to take place. This will not cause users to lose any data transactions that may be taking place during peak hours. To Refresh Exchange Information Store: • Right-click on my computer (or computer the name) on the desktop and select manage. The computer management console appears. • Expand services and applications and select services. Services should appear on the right panel. • In the right panel scroll down and select MS Exchange Information Store. • Right-click on MS Exchange Information Store and select restart. It will display a warning message stating that these services will also be restarted. This will restart the SharePoint Portal Server service. Select yes to restarting these services. *Note: If user is an administrator on the server, he will have access to all workspaces even though he is not configured to by the SharePoint Portal Server Administrative console. The local server admin rights will override the SharePoint Portal Server security rights.

Page 19/19