Welcome!

Microsoft Cloud Authors: Nick Basinger, Kevin Benedict, Pat Romanski, Liz McMillan, Lori MacVittie

Related Topics: Microsoft Cloud, Cognitive Computing

Microsoft Cloud: Blog Feed Post

How to: Create an OpenSearch Provider for SharePoint

Certain web sites can be searched in Google Chrome using the syntax <ur> query in the address bar

A while back, Kevin Williams pointed out to me that certain web sites could be searched in Google Chrome using the syntax <ur> query in the address bar.  For example, once I have been to youtube.com, I can later type in youtube to initiate a search query.

ChromeOpenSearchYouTube

Pressing tab, give you a spot to enter your query or you can just type a space and put in your keyword.

ChromeOpenSearchYouTube2

As someone that does a lot of work with SharePoint Enterprise Search, this got me thinking.  I want my SharePoint site to show up in my browser too.  I did some research and discovered this is part of OpenSearch and that I can achieve the same result with any OpenSearch compatible search engine (which SharePoint is), so I knew this would be relatively easy to research.  I figured this kind of thing might already be included in SharePoint 2010 (and maybe it is and I just haven’t found it), but from what I can tell it’s not.  If anything, you can use this technique in SharePoint 2007 as well.  If this file is auto generated somehow, I would love to hear about it.

To get started, you must first create an XML file which describes where to point search queries on your web server.  The filename does not matter (search.xml in my case).  The syntax is pretty simple, but there are a couple of things to watch out for.  I started with Microsoft’s description of how to create a file on MSDN.  However, it appears there is an issue in the documentation (or maybe something changed in a different version).  The issue I saw is that on the URL element, it says you an attribute called format.  I could not get this to work so I looked at working examples on site and discovered they had the attribute listed at type.  The other issue I ran into in this file is apparently the ShortName element cannot have capital letters in it.  Here is what my entire file looks like for my server called sp2010.

<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">

<ShortName>sp2010</ShortName>

<Description>sp2010</Description>

<Url

type="text/html"

method="get"

template="http://sp2010/search/results.aspx?k={searchTerms}" />

<Url

type="application/rss+xml"

method="get"

template="http://sp2010/_layouts/srchrss.aspx?k={searchTerms}&amp;start={startIndex}&amp;cnt={count}" />

<Image height="16" width="16" type="image/vnd.microsoft.icon">http://sp2010/_layouts/images/favicon.ico</Image>

</OpenSearchDescription>

The ShortName element specifies the keyword to type into Chrome to prompt you to do a search (i.e.: youtube.com up above, sp2010 in our case).  You need to already have a search center created.  In my case I have a site called Search and I will point to a results page in there called results.aspx.  You will change this according to your environment.  For browser based search results, we use a type of text/html.   We use the keyword URL syntax here so the browser passes in what you searched for as the {searchTerms} token to the k query string parameter.   You will notice I have a second Url element present.  This is here in case you want to use this same while to do Windows 7 federated search.  I’ll talk briefly about that in the end, but it uses the path to the RSS feed of your search results.  You can also include a custom image icon with the search results as well along with many other things.  Read the MSDN article for more information on what you can put in this file.

The next thing we need to do is put this XML file somewhere on the SharePoint server.  You can just open SharePoint designer and drag it to the root of the server or put it in a document library somewhere.  It doesn’t matter as long as you know the URL to it.  The next thing we have to do is put a link tag in your master page file specifying where this XML file is.  You should normally deploy master pages via solution package and feature, but for today’s purposes, I just opened SharePoint Designer and customized v4.master (gasp!).  Remember v4.master is the new default master page for sites running on v4.  Add the following line somewhere in the head tag and change the URL to your XML file.

<link rel="search" type="application/opensearchdescription+xml" href="/XmlLibrary/search.xml" title="SP2010" />

Remember to check the file in when you are done.  One thing to point out about SharePoint 2010 is that it won’t serve up some file type directly to the browser (it forces a download).  I think this may cause issues, so at the suggestion of @danluciano, I changed the browser file handling of my Web Application in central admin (Central Admin –> Web Applications –> General Settings).  It’s set to Strict by default and I changed it to Permissive.  You don’t need to worry about this in SharePoint 2007.  Honestly, it may work in SharePoint 2010 without changing this but when I was running into issues getting things working earlier this seemed to be a possible issue.  If you try it without, let me know. :-)

WebApplicationGeneralSettingsFileHandling

At this point, if you did everything right, you should be able to use your new keyword in Chrome after visiting your SharePoint site.  Here is what mine looks like after type in sp2010.

ChromeOpenSearchSharePoint

Hitting enter I get my usual search results page.

OpenSearchResults

I think this is pretty cool.  You should be able to use this in other browsers as well such as IE8, but I really like how Chrome handles it.  Now I mentioned Windows 7 federated search.  You can take the file you created above, save it to your desktop as .odcx file extension and install it. What makes this possible is the second URL element we specified using the application/rss+xml type.

OpenSearchInstallODCX

 

You will see the following prompt.

OpenSearchConnectorPrompt

When you open Windows Explorer, it will show your SharePoint site in the list of Searches.  It also adds it to your favorites.

Windows7FederatedSearchList

Clicking on the SP2010 search connector here allows us to search the SharePoint site directly.  You will be prompted for authentication if necessary.  Executing the same search query above looks like this.

Windows7FederatedSearch

Clicking on any of the links takes you directly to SharePoint.  Remember you can implement this now with SharePoint 2010 or SharePoint 2007.  It’s definitely cool and another great way to get data out of SharePoint.

Read the original blog entry...

More Stories By Corey Roth

Corey Roth, a SharePoint Server MVP, is an independent consultant specializing in Cloud technologies such as Azure and Office 365. He also specializes in mobile development. Corey serves as the product manager for two cloud-first mobile app platforms: BrewZap and HappenZap.

IoT & Smart Cities Stories
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
Cloud-enabled transformation has evolved from cost saving measure to business innovation strategy -- one that combines the cloud with cognitive capabilities to drive market disruption. Learn how you can achieve the insight and agility you need to gain a competitive advantage. Industry-acclaimed CTO and cloud expert, Shankar Kalyana presents. Only the most exceptional IBMers are appointed with the rare distinction of IBM Fellow, the highest technical honor in the company. Shankar has also receive...
Nicolas Fierro is CEO of MIMIR Blockchain Solutions. He is a programmer, technologist, and operations dev who has worked with Ethereum and blockchain since 2014. His knowledge in blockchain dates to when he performed dev ops services to the Ethereum Foundation as one the privileged few developers to work with the original core team in Switzerland.
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science," is responsible for setting the strategy and defining the Big Data service offerings and capabilities for EMC Global Services Big Data Practice. As the CTO for the Big Data Practice, he is responsible for working with organizations to help them identify where and how to start their big data journeys. He's written several white papers, is an avid blogge...
René Bostic is the Technical VP of the IBM Cloud Unit in North America. Enjoying her career with IBM during the modern millennial technological era, she is an expert in cloud computing, DevOps and emerging cloud technologies such as Blockchain. Her strengths and core competencies include a proven record of accomplishments in consensus building at all levels to assess, plan, and implement enterprise and cloud computing solutions. René is a member of the Society of Women Engineers (SWE) and a m...
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
Whenever a new technology hits the high points of hype, everyone starts talking about it like it will solve all their business problems. Blockchain is one of those technologies. According to Gartner's latest report on the hype cycle of emerging technologies, blockchain has just passed the peak of their hype cycle curve. If you read the news articles about it, one would think it has taken over the technology world. No disruptive technology is without its challenges and potential impediments t...
If a machine can invent, does this mean the end of the patent system as we know it? The patent system, both in the US and Europe, allows companies to protect their inventions and helps foster innovation. However, Artificial Intelligence (AI) could be set to disrupt the patent system as we know it. This talk will examine how AI may change the patent landscape in the years to come. Furthermore, ways in which companies can best protect their AI related inventions will be examined from both a US and...
Bill Schmarzo, Tech Chair of "Big Data | Analytics" of upcoming CloudEXPO | DXWorldEXPO New York (November 12-13, 2018, New York City) today announced the outline and schedule of the track. "The track has been designed in experience/degree order," said Schmarzo. "So, that folks who attend the entire track can leave the conference with some of the skills necessary to get their work done when they get back to their offices. It actually ties back to some work that I'm doing at the University of San...