Adding UCM as a search source in Windows Explorer

A customer recently pointed out to me that Windows 7 supports federated search within Windows Explorer. This means you can perform searches to external sources such as Google, Flickr, YouTube, etc right from within Explorer.

While we do have the Desktop Integration Suite which offers searching within Explorer, I thought it would be interesting to look into this method which would not require any client software to implement.

Basically, federated searching hooks up in Windows Explorer through the OpenSearch protocol. A Search Connector Descriptor file is run and it installs the search provider. The file is a .osdx file which is an OpenSearch Description document. It describes the search provider you are hooking up to along with the URL for the query. If those results can come back as an RSS or ATOM feed, then you're all set.

So the first step is to install the RSS Feeds component from the UCM Samples page on OTN. If you're on 11g, I've found the RSS Feeds works just fine on that version too.

Next, you want to perform a Quick Search with a particular search term and then copy the RSS link address for that search result.

rss_link.png

Here is what an example URL might looks like:

http://server:16200/cs/idcplg?IdcService=GET_SCS_FEED&feedName=search_results&QueryText=%28+%3cqsch%3eoracle%3c%2fqsch
%3e+%29&SortField=dInDate&SortOrder=Desc&ResultCount=20&SearchQueryFormat=
Universal&SearchProviders=server&

Now you want to create a new text file and start out with this information:


<?xml version="1.0" encoding="UTF-8"?><OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:ms-ose="http://schemas.microsoft.com/opensearchext/2009/">
<ShortName></ShortName>
<Description></Description>
<Url type="application/rss+xml" template=""/>
<Url type="text/html" template=""/>
</OpenSearchDescription>

Enter a ShortName and Description. The ShortName will be the value used when displaying the search provider in Explorer.

In the template attribute for the first Url element, enter the URL copied previously. You will then need to convert the ampersand symbols to '&' to make them XML compliant. Finally, you'll want to switch out the search term with '{searchTerms}'.

For the second Url element, you can do the same thing except you want to copy the UCM search results URL from the page of results. That URL will look something like:


http://server:16200/cs/idcplg?IdcService=GET_SEARCH_RESULTS&SortField=dInDate&SortOrder=Desc&ResultCount=20&QueryText=%3Cqsch%3Eoracle%3C%2Fqsch%3E&listTemplateId=
&ftx=1&SearchQueryFormat=Universal&TargetedQuickSearchSelection=
&MiniSearchText=oracle

Again, convert the ampersand symbols and replace the search term with '{searchTerms}'.

When complete, save the file with the .osdx extension. The completed file should look like:


<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:ms-ose="http://schemas.microsoft.com/opensearchext/2009/">
<ShortName>Universal Content Management</ShortName>
<Description>OpenSearch for UCM via Windows 7 Search Federation.</Description>
<Url type="application/rss+xml" template="http://server:16200/cs/idcplg?IdcService=GET_SCS_FEED&amp;feedName=search_results&amp;QueryText=%28+%3Cqsch%3E{searchTerms}%3C%2fqsch%3E+%29&amp;SortField=dInDate&amp;SortOrder=Desc&amp;ResultCount=200&amp;SearchQueryFormat=Universal"/>
<Url type="text/html" template="http://server:16200/cs/idcplg?IdcService=GET_SEARCH_RESULTS&amp;SortField=dInDate&amp;SortOrder=Desc&amp;ResultCount=20&amp;QueryText=%3Cqsch%3E{searchTerms}%3C%2Fqsch%3E&amp;listTemplateId=&amp;ftx=1&amp;SearchQueryFormat=Universal&amp;TargetedQuickSearchSelection=&amp;MiniSearchText={searchTerms}"/>
</OpenSearchDescription>

After you save the file, simply double-click it to create the provider. It will ask if you want to add the search connector to Windows.

add_connector.png

Click Add and it will add it to the Searches folder in your user folder as well as your Favorites. Now just click on the search icon and in the upper right search box, enter your term. As you are typing, it begins executing searches and the results will come back in Explorer.

results2.png

Now when you double-click on an item, it will try and download the web viewable for viewing.

You also have the ability to save the search, just as you would in UCM. And there is a link to Search On Website which will launch your browser and go directly to the search results page there.

And with some tweaks to the RSS component, you can make the results a bit more interesting. It supports the Media RSS standard, so you can pass along the thumbnail of the documents in the results.

tn_results1.png

tn_results2.png

To enable this, edit the rss_resources.htm file in the RSS Feeds component. In the std_rss_feed_begin resource include, add the namespace 'xmlns:media="http://search.yahoo.com/mrss/' to the rss definition:


<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:media="http://search.yahoo.com/mrss/">

Next, in the rss_channel_item_with_thumb include, below the closing image element, add this element:


</images>
<media:thumbnail url="<$if strIndexOf(thumbnailUrl, "@t") > 0 or strIndexOf(thumbnailUrl, "@g") > 0 or strIndexOf(thumbnailUrl, "@p") > 0$><$rssHttpHost$><$thumbnailUrl$><$elseif dGif$><$HttpWebRoot$>images/docgifs/<$dGif$><$endif$>" />
<description>

This and lots of other tweaks can be done to the RSS component to help extend it for optimum use in Explorer. Hopefully this can get you started.

*Note: This post also applies to Universal Records Management (URM).

Comments:

Nice! I will definitely configure this on my host machine. Cool stuff.

Posted by Al on February 11, 2011 at 06:30 AM CST #

Kyle, Great post! I can see that coming in handy for a lot of people.

Posted by Jonathan Hult on February 11, 2011 at 01:27 PM CST #

Kyle, A great Post. Just a small question. WIll this search only work for Windows 7 ..or it will work for XP as well??? Regards, Anika

Posted by anika on March 14, 2011 at 03:08 AM CDT #

Hello Anika, This was a feature that Microsoft introduced in Windows 7 specifically. So this is not available in XP or older versions of Windows. Thanks, -Kyle

Posted by kyle.hatlestad on March 22, 2011 at 11:28 PM CDT #

Can this be an authenticated search? it seems to only return public documents.

Posted by Ron on April 29, 2011 at 03:39 AM CDT #

Hey Ron, According to Microsoft, federated search supports single sign-on through the desktop (NTLM or Kerberos for example) but not forms based authentication. If you do have UCM configured with one of those, you could most likely append '&Auth=Internet' to the end of the query string to force an authenticated search. Thanks, -Kyle

Posted by kyle.hatlestad on April 29, 2011 at 03:57 AM CDT #

*According to Microsoft, federated search supports single sign-on through the desktop (NTLM or Kerberos for example) but not forms based authentication.*

Wonder if you changed the URL used to connect to Content Server to include the "_dav" port instead of the straight /cs/ entry? There's a Windows tweak you'd probably have to add to the registry to allow the use of basic authentication, but it may be worth a shot.

Posted by William Phelps on March 06, 2012 at 10:12 AM CST #

Post a Comment:
  • HTML Syntax: NOT allowed
About

Kyle Hatlestad is a Solution Architect in the WebCenter Architecture group (A-Team) who works with WebCenter Content and other products in the WebCenter & Fusion Middleware portfolios. The WebCenter A-Team blog can be found at: https://blogs.oracle.com/ ateam_webcenter/

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today