Just thought I would share something I knocked together earlier today...
This based partly on this from Mark Harrison and a sample from Greg Griffiths
So, you'd like the nice IE/Firefox search box to include searching your MOSS site(s)?? You can do Mark's registry manipulation (which if you control the desktops is easy enough through GPO) or something a little more elegant (IMO!). This works well for public facing or internal deployments (i.e. where authentication is seamless, because it's Windows Integrated or Anon!) but I would see issues with the user experience for an FBA deployment (be that SharePoint FBA or ISA FBA), but the functionality may be worthwhile enough to suffer with poor UX?? I guess "it depends" ...
Firstly, you need to know the URL's for your search result pages (one for "content" results and one for people) in MOSS, e.g. http://portal/searchcenter/pages/mainresult.aspx and http://portal/searchcenter/pages/staffresult.aspx (yours are likely to be different).
Then the need to know the format of the query passed to these pages, e.g. http://portal/searchcenter/Pages/Results.aspx?k=queryhere&s=All%20Sites note the query strings passed, in this example we have:
Then you need to build the XML file that you will later reference... use the sample below:
<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>Sample Search</ShortName>
<Description>Sample for searching your MOSS sites</Description>
<Url type="text/html" template="http://portal/searchcenter/Pages/Results.aspx?k={searchTerms}&s=All%20Sites"/>
</OpenSearchDescription>
Warning: be careful with reserved characters in the XML - e.g. & which is common when using query strings, replace this with & to avoid issues!
Edit the following fields to suit your environment:
ShortName
Description
URL template
You then need to upload this XML into a document library (for example) within MOSS or publish it to a URL by other means, whatever floats your boat, if using a MOSS library ensure you have checked in and published the file (if needed).
All you need to do then is reference the XML file in some java script, see example below:
<a href="javascript:window.external.AddSearchProvider('http://portal/resources/search_sample.xml');">Add Search (sample)</a>
This can be done either in a CEWP or a HTML FC, or in a normal HTML/ASP/ASPX/etc page (again, whatever floats your boat!)
There you have it, an installable search provider that searches your MOSS sites, you can, as shown above, have multiple result pages (e.g. dedicated to certain search functions like people search) or multiple scopes, this sample above allows you to leverage either method, depending on your own configuration. The only thing to be wary of is that each page/scope will require a different provider, also, if you have followed normal practice and have implemented tabbed searching in MOSS it's probably wise to include the "catch all" page in the provider and allow the users to filter the result base using tabs...
Hope this was useful...
There is a live and working example below:
XML:
<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>Search Matt Groves Blog</ShortName>
<Description>Sample for searching Matt Groves Blog</Description>
<Url type="text/html" template="http://www.sharepointblogs.com/search/SearchResults.aspx?q={searchTerms}&s=104"/>
</OpenSearchDescription>
Java script:
<a href="javascript:window.external.AddSearchProvider('http://samples.poweredbysharepoint.co.uk/Pages/src_mg_blog.xml');">
<img src="http://samples.poweredbysharepoint.co.uk/images1/com_serv_logo.jpg">Add Search Provider (Matt Groves Blog)</a>
Demo: http://samples.poweredbysharepoint.co.uk/Pages/searchblog.aspx (opens in new window)