<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.dotnetmafia.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Corey Roth [MVP] : SPC11</title><link>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SPC11/default.aspx</link><description>Tags: SPC11</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>How to: Query People Search in SharePoint Online (and other SharePoint platforms too!)</title><link>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2012/01/03/how-to-query-people-search-in-sharepoint-online-and-other-sharepoint-platforms-too.aspx</link><pubDate>Wed, 04 Jan 2012 04:38:12 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:5417</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=5417</wfw:commentRss><comments>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2012/01/03/how-to-query-people-search-in-sharepoint-online-and-other-sharepoint-platforms-too.aspx#comments</comments><description>&lt;p&gt;At my Search talk at SPC11, I demoed how to build a Silverlight application that could &lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2011/11/07/building-a-sharepoint-advanced-search-application-with-silverlight-4.aspx"&gt;query search in SharePoint Online&lt;/a&gt;.&amp;#160; I also built a separate application that could query people search, but I haven’t posted on it yet until today.&amp;#160; To query people search, we have to know a few things about how SharePoint operates.&amp;#160; It all starts with understanding the scopes involved.&amp;#160; If you take a look at your &lt;em&gt;Search Scopes&lt;/em&gt; link in your site collection settings, you’ll see a similar list to the one below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/SharePointOnlineSearchScopes_2AF2FFA4.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="SharePointOnlineSearchScopes" border="0" alt="SharePointOnlineSearchScopes" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/SharePointOnlineSearchScopes_thumb_051CD941.png" width="495" height="131" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;What’s funny here is that SPO actually returns item counts for the entire (non-partitioned index).&amp;#160; This tells me that there are 205,000 items and 96,000 people on my particular Office 365 SharePoint host.&amp;#160; &lt;/p&gt;  &lt;p&gt;Ultimately, querying people search is just a matter of executing a query against the scope &lt;em&gt;People&lt;/em&gt;, but there are a few catches.&amp;#160; In SharePoint 2007, you could actually execute the query &lt;em&gt;Scope:”People”&lt;/em&gt; on a &lt;em&gt;results.aspx&lt;/em&gt; with a &lt;em&gt;CoreResultsWebPart &lt;/em&gt;and you would actually get results.&amp;#160; It wouldn’t display pictures or additional user information such as department or phone number, but it would work.&amp;#160; With the introduction of federated search in SharePoint 2010, people search now gets executed by it’s own federated location named &lt;em&gt;LocalPeopleSearchIndex &lt;/em&gt;(see my post on the &lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/08/15/how-to-use-the-querymanager-class-to-query-sharepoint-2010-enterprise-search.aspx"&gt;QueryManager&lt;/a&gt; class for more information).&amp;#160; This means that a regular &lt;em&gt;CoreResultsWebPart&lt;/em&gt; will not return results for &lt;em&gt;Scope:”People”&lt;/em&gt; no matter what you do.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/SharePointOnlinePeopleSearchNoResults_67C78176.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="SharePointOnlinePeopleSearchNoResults" border="0" alt="SharePointOnlinePeopleSearchNoResults" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/SharePointOnlinePeopleSearchNoResults_thumb_1404085B.png" width="507" height="315" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;However, a &lt;em&gt;PeopleCoreResultsWebPart&lt;/em&gt; will.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/SPOPeopleCoreResults_63F9B6D9.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="SPOPeopleCoreResults" border="0" alt="SPOPeopleCoreResults" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/SPOPeopleCoreResults_thumb_018B91D9.png" width="505" height="434" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Issuing the query &lt;em&gt;Scope:”People”&lt;/em&gt; will return every user in the user profile store.&amp;#160; Including service accounts like you see above.&amp;#160; The fact that I couldn’t issue a people search query to the regular &lt;em&gt;CoreResultsWebPart &lt;/em&gt;actually threw me off for quite some time.&amp;#160; It just didn’t make sense to me what was going on behind the scenes.&amp;#160; It didn’t become ultimately clear, until I tried issuing the query to &lt;em&gt;Search.asmx&lt;/em&gt;.&amp;#160; The &lt;em&gt;Scope:”People”&lt;/em&gt; query works just fine when calling the web service.&amp;#160; Today you will learn how to query people search using the web service.&amp;#160; I’m going to use the exact same application I have been using with my other search demos, we’ll just tweak the input a little bit.&lt;/p&gt;  &lt;p&gt;For today’s example, I am going to build off of the Silverlight 4 application I used at&lt;span class="Apple-converted-space"&gt;&amp;#160;&lt;/span&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2011/11/07/building-a-sharepoint-advanced-search-application-with-silverlight-4.aspx"&gt;SPC&lt;/a&gt;.&amp;#160; I’m using Silverlight, but you could just as well write a console application or call this web service from some other ASP.NET application.&amp;#160; We still want to start by creating a service reference to&lt;span class="Apple-converted-space"&gt;&amp;#160;&lt;/span&gt;&lt;em&gt;/_vti_bin/search.asmx&lt;/em&gt;. We then create an instance of the web service so that we can use it.&amp;#160; We also bind an event handling method to handle the results of the web service call.&lt;/p&gt;  &lt;div style="widows:2;text-transform:none;background-color:white;text-indent:0px;letter-spacing:normal;font:10pt consolas;white-space:normal;orphans:2;color:black;word-spacing:0px;-webkit-text-size-adjust:auto;-webkit-text-stroke-width:0px;background-origin:initial;background-clip:initial;"&gt;   &lt;p style="margin:0px;"&gt;&lt;span&gt;QueryServiceSoapClient&lt;/span&gt;&lt;span class="Apple-converted-space"&gt;&amp;#160;&lt;/span&gt;queryService =&lt;span class="Apple-converted-space"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;span class="Apple-converted-space"&gt;&amp;#160;&lt;/span&gt;&lt;span&gt;QueryServiceSoapClient&lt;/span&gt;();&lt;/p&gt;    &lt;p style="margin:0px;"&gt;queryService.QueryExCompleted +=&lt;span class="Apple-converted-space"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;span class="Apple-converted-space"&gt;&amp;#160;&lt;/span&gt;&lt;span&gt;EventHandler&lt;/span&gt;&amp;lt;&lt;span&gt;QueryExCompletedEventArgs&lt;/span&gt;&amp;gt;(QueryService_QueryExCompleted);&lt;/p&gt; &lt;/div&gt;  &lt;p style="widows:2;text-transform:none;text-indent:0px;letter-spacing:normal;font:13px arial, helvetica;white-space:normal;orphans:2;word-spacing:0px;-webkit-text-size-adjust:auto;-webkit-text-stroke-width:0px;"&gt;Once we have a reference to the web service, it’s just a matter of constructing the input XML document and sending it to the web service.&amp;#160; For SharePoint Online and SharePoint 2010, we actually don’t have to change any of the XML at all. We just need to change the query. That means our input will look like the following.&amp;#160; Note, we’re using a type of &lt;em&gt;STRING&lt;/em&gt; (even if using FAST Search for SharePoint).&lt;/p&gt;  &lt;p style="widows:2;text-transform:none;text-indent:0px;margin:0px;letter-spacing:normal;font:13px &amp;#39;courier new&amp;#39;;white-space:normal;orphans:2;word-spacing:0px;-webkit-text-size-adjust:auto;-webkit-text-stroke-width:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;QueryPacket&lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;span class="Apple-converted-space"&gt;&amp;#160;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:red;"&gt;xmlns&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;urn:Microsoft.Search.Query&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&lt;span class="Apple-converted-space"&gt;&amp;#160;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:red;"&gt;Revision&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;1000&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="widows:2;text-transform:none;text-indent:0px;margin:0px;letter-spacing:normal;font:13px &amp;#39;courier new&amp;#39;;white-space:normal;orphans:2;word-spacing:0px;-webkit-text-size-adjust:auto;-webkit-text-stroke-width:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span&gt;Query&lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;span class="Apple-converted-space"&gt;&amp;#160;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:red;"&gt;domain&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;QDomain&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="widows:2;text-transform:none;text-indent:0px;margin:0px;letter-spacing:normal;font:13px &amp;#39;courier new&amp;#39;;white-space:normal;orphans:2;word-spacing:0px;-webkit-text-size-adjust:auto;-webkit-text-stroke-width:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span&gt;SupportedFormats&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="widows:2;text-transform:none;text-indent:0px;margin:0px;letter-spacing:normal;font:13px &amp;#39;courier new&amp;#39;;white-space:normal;orphans:2;word-spacing:0px;-webkit-text-size-adjust:auto;-webkit-text-stroke-width:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span&gt;Format&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;urn:Microsoft.Search.Response.Document.Document&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Format&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="widows:2;text-transform:none;text-indent:0px;margin:0px;letter-spacing:normal;font:13px &amp;#39;courier new&amp;#39;;white-space:normal;orphans:2;word-spacing:0px;-webkit-text-size-adjust:auto;-webkit-text-stroke-width:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/&lt;/span&gt;&lt;span&gt;SupportedFormats&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="widows:2;text-transform:none;text-indent:0px;margin:0px;letter-spacing:normal;font:13px &amp;#39;courier new&amp;#39;;white-space:normal;orphans:2;word-spacing:0px;-webkit-text-size-adjust:auto;-webkit-text-stroke-width:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span&gt;Context&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="widows:2;text-transform:none;text-indent:0px;margin:0px;letter-spacing:normal;font:13px &amp;#39;courier new&amp;#39;;white-space:normal;orphans:2;word-spacing:0px;-webkit-text-size-adjust:auto;-webkit-text-stroke-width:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span&gt;QueryText&lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;span class="Apple-converted-space"&gt;&amp;#160;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:red;"&gt;language&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;en-US&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&lt;span class="Apple-converted-space"&gt;&amp;#160;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;STRING&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Scope:&amp;quot;People&amp;quot;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;QueryText&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="widows:2;text-transform:none;text-indent:0px;margin:0px;letter-spacing:normal;font:13px &amp;#39;courier new&amp;#39;;white-space:normal;orphans:2;word-spacing:0px;-webkit-text-size-adjust:auto;-webkit-text-stroke-width:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/&lt;/span&gt;&lt;span&gt;Context&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="widows:2;text-transform:none;text-indent:0px;margin:0px;letter-spacing:normal;font:13px &amp;#39;courier new&amp;#39;;white-space:normal;orphans:2;word-spacing:0px;-webkit-text-size-adjust:auto;-webkit-text-stroke-width:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;/&lt;/span&gt;&lt;span&gt;Query&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="widows:2;text-transform:none;text-indent:0px;margin:0px;letter-spacing:normal;font:13px &amp;#39;courier new&amp;#39;;white-space:normal;orphans:2;word-spacing:0px;-webkit-text-size-adjust:auto;-webkit-text-stroke-width:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;QueryPacket&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;      &lt;p&gt;If we are using FAST Search for SharePoint, we need to add to a &lt;em&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff394470.aspx"&gt;ResultProvider&lt;/a&gt;&lt;/em&gt; element inside the &lt;em&gt;Query&lt;/em&gt; element.&amp;#160; Remember, People Search is handled by the SharePoint 2010 search engine in &lt;a href="https://www.nothingbutsharepoint.com/sites/devwiki/articles/Pages/Understanding-the-Service-Applications-of-FAST-Search-for-SharePoint.aspx"&gt;FAST Search for SharePoint&lt;/a&gt;.&lt;/p&gt;  &lt;p style="widows:2;text-transform:none;text-indent:0px;margin:0px;letter-spacing:normal;font:13px &amp;#39;courier new&amp;#39;;white-space:normal;orphans:2;word-spacing:0px;-webkit-text-size-adjust:auto;-webkit-text-stroke-width:0px;"&gt;   &lt;p style="widows:2;text-transform:none;text-indent:0px;margin:0px;letter-spacing:normal;font:13px &amp;#39;courier new&amp;#39;;white-space:normal;orphans:2;word-spacing:0px;-webkit-text-size-adjust:auto;-webkit-text-stroke-width:0px;"&gt;&lt;span style="color:blue;"&gt;&lt;/span&gt;&lt;/p&gt;   &lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;ResultProvider&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;SharePointSearch&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;ResultProvider&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;Just like before, I assemble this XML string using a &lt;em&gt;StringBuilder&lt;/em&gt;.&amp;#160; I allow the user to type in a query and I just automatically append &lt;em&gt;Scope:”People”&lt;/em&gt; to the query ensuring we only get people results.&lt;/p&gt;  &lt;div style="font-family:consolas;background:white;color:black;font-size:10pt;"&gt;   &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;StringBuilder&lt;/span&gt; queryXml = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StringBuilder&lt;/span&gt;();&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;QueryPacket xmlns=\&amp;quot;urn:Microsoft.Search.Query\&amp;quot; Revision=\&amp;quot;1000\&amp;quot;&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;Query domain=\&amp;quot;QDomain\&amp;quot;&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;SupportedFormats&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;Format&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;urn:Microsoft.Search.Response.Document.Document&amp;quot;&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;/Format&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;/SupportedFormats&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;Context&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;QueryText language=\&amp;quot;en-US\&amp;quot; type=\&amp;quot;STRING\&amp;quot;&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;queryXml.AppendFormat(&lt;span style="color:#a31515;"&gt;&amp;quot;{0} Scope:\&amp;quot;People\&amp;quot;&amp;quot;&lt;/span&gt;, SearchTextBox.Text);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;/QueryText&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;/Context&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;/Query&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;/QueryPacket&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;queryService.QueryExAsync(queryXml.ToString());&lt;/p&gt; &lt;/div&gt;   &lt;p&gt;We’ll then bind the resulting XML to a textbox so that we can look at the results.&lt;/p&gt;  &lt;div style="font-family:consolas;background:white;color:black;font-size:10pt;"&gt;   &lt;p style="margin:0px;"&gt;ResultsTextBox.Text = e.Result.Nodes[1].ToString();&lt;/p&gt; &lt;/div&gt;   &lt;p&gt;That’s all that is involved in this first round of code.&amp;#160; Compile the code and upload the Silverlight application to a document library and use the Silverlight web part just like before.&amp;#160; If you want more details on how the above code works, be sure and check out the original &lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2011/11/07/building-a-sharepoint-advanced-search-application-with-silverlight-4.aspx"&gt;Search with Silverlight 4&lt;/a&gt; post.&amp;#160;&amp;#160; Let’s take a look at the results.&amp;#160; Here’s the application running.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/SPOPeopleSearchSilverlight1_5A70D296.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="SPOPeopleSearchSilverlight1" border="0" alt="SPOPeopleSearchSilverlight1" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/SPOPeopleSearchSilverlight1_thumb_63E9910C.png" width="369" height="250" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I issues a query and I got results.&amp;#160; Let’s look at the XML in the results a bit more though.&lt;/p&gt;  &lt;div style="font-family:consolas;background:white;color:black;font-size:10pt;"&gt;   &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;diffgr:diffgram&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;xmlns:msdata&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;urn:schemas-microsoft-com:xml-msdata&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;xmlns:diffgr&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;urn:schemas-microsoft-com:xml-diffgram-v1&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Results&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;xmlns&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RelevantResults&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;diffgr:id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;RelevantResults1&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;msdata:rowOrder&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;0&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;WorkId&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;72787&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;WorkId&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Rank&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;100000000&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Rank&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Craig Johnson&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Size&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;0&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Size&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Path&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;https://dotnetmafia-my.sharepoint.com/Person.aspx?accountname=i%3A0%23.f|membership|craig.johnson%40dotnetmafia.onmicrosoft.com&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Path&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Write&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;2011-09-09T18:20:05-07:00&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Write&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;SiteName&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;https://dotnetmafia-my.sharepoint.com&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;SiteName&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;CollapsingStatus&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;0&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;CollapsingStatus&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;HitHighlightedSummary&lt;/span&gt;&lt;span style="color:blue;"&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;HitHighlightedProperties&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:red;"&gt;&amp;amp;lt;&lt;/span&gt;HHTitle&lt;span style="color:red;"&gt;&amp;amp;gt;&lt;/span&gt;Craig Johnson&lt;span style="color:red;"&gt;&amp;amp;lt;&lt;/span&gt;/HHTitle&lt;span style="color:red;"&gt;&amp;amp;gt;&amp;amp;lt;&lt;/span&gt;HHUrl&lt;span style="color:red;"&gt;&amp;amp;gt;&lt;/span&gt;https://dotnetmafia-my.sharepoint.com/Person.aspx?accountname=i%3A0%23.f|membership|craig.johnson%40dotnetmafia.onmicrosoft.com&lt;span style="color:red;"&gt;&amp;amp;lt;&lt;/span&gt;/HHUrl&lt;span style="color:red;"&gt;&amp;amp;gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;HitHighlightedProperties&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ContentClass&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;urn:content-class:SPSPeople&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ContentClass&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;IsDocument&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;false&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;IsDocument&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;PictureThumbnailURL&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;https://dotnetmafia-my.sharepoint.com/User Photos/Profile Pictures/i_0_.f_membership_craig.johnson@dotnetmafia.onmicrosoft.com_MThumb.jpg&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;PictureThumbnailURL&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RelevantResults&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;/div&gt;   &lt;p&gt;We have the user’s name in the Title field and we have some links to a picture and the user’s profile.&amp;#160; For the most part though, these fields aren’t entirely useful.&amp;#160; That’s because SharePoint treats this result as a regular document result instead of a person.&amp;#160; If we want useful information about the user, we have to ask for that information in our original query.&amp;#160; Specifically, we need to specify the names of the managed properties that we want returned (i.e.: &lt;em&gt;JobTitle &lt;/em&gt;and &lt;em&gt;Department&lt;/em&gt;).&amp;#160; How do we know what the names of those properties are?&amp;#160; In SharePoint 2010, we can just go look in the search service application.&amp;#160; However, we don’t have that option in SharePoint Online.&amp;#160; There’s another way though.&amp;#160; Go back to your &lt;em&gt;PeopleResults.aspx&lt;/em&gt; page in your Search Center and edit it.&amp;#160; Then, you need to modify the &lt;em&gt;PeopleCoreResultsWebPart&lt;/em&gt;.&amp;#160; Expand &lt;em&gt;Display Properties&lt;/em&gt; and then uncheck &lt;em&gt;Use Location Visualization&lt;/em&gt;.&amp;#160; The contents of the XML in &lt;em&gt;Fetched Properties&lt;/em&gt; has the answer.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/SPOPeopleCoreResultsDisplayProperties_3AFE7C03.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="SPOPeopleCoreResultsDisplayProperties" border="0" alt="SPOPeopleCoreResultsDisplayProperties" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/SPOPeopleCoreResultsDisplayProperties_thumb_199ED667.png" width="174" height="368" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Here is what the XML looks like.&lt;/p&gt;  &lt;div style="font-family:consolas;background:white;color:black;font-size:10pt;"&gt;   &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Columns&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;WorkId&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;UserProfile_GUID&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;AccountName&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;PreferredName&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;HitHighLight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;YomiDisplayName&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;HitHighLight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;JobTitle&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;HitHighLight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;Department&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;HitHighLight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;WorkPhone&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;HitHighLight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;OfficeNumber&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;HitHighLight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;PictureURL&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;HierarchyUrl&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;WorkEmail&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;HitHighLight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;Path&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;HitHighlightedSummary&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;HitHighlightedProperties&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;Responsibility&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;HitHighLight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;Skills&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;HitHighLight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;SipAddress&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;HitHighLight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;Schools&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;HitHighLight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;PastProjects&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;HitHighLight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;Interests&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;HitHighLight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;OrgNames&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;HitHighLight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;OrgUrls&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;OrgParentNames&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;HitHighLight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;OrgParentUrls&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;Memberships&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;HitHighLight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;AboutMe&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;HitHighLight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;BaseOfficeLocation&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;HitHighLight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;ServiceApplicationID&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Column&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;SocialDistance&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Columns&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;/div&gt;   &lt;p&gt;This gives you quite a few choices to display in your results.&amp;#160; The column names are pretty self explanatory.&amp;#160; Now, we just have modify our input XML to specify which managed properties we want.&amp;#160; Do you remember how to specify &lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/09/29/how-to-specify-the-properties-returned-in-a-keyword-query-when-using-the-search-web-service.aspx"&gt;managed properties with the Search web service&lt;/a&gt;?&amp;#160; If not, we start by adding a &lt;em&gt;Properties &lt;/em&gt;element inside the &lt;em&gt;Query&lt;/em&gt; element.&amp;#160; We then add a &lt;em&gt;Property&lt;/em&gt; element for each managed property.&amp;#160; One thing to remember is that the managed properties &lt;em&gt;must&lt;/em&gt; be specified in lower case.&amp;#160; You will get a &lt;em&gt;NotFound&lt;/em&gt; exception if they are not.&amp;#160; Here is an example:&lt;/p&gt;  &lt;div style="font-family:consolas;background:white;color:black;font-size:10pt;"&gt;&lt;span style="color:blue;"&gt;     &lt;div style="font-family:consolas;background:white;color:black;font-size:10pt;"&gt;&lt;span style="color:blue;"&gt;         &lt;div style="font-family:consolas;background:white;color:black;font-size:10pt;"&gt;           &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Properties&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;            &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Property&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;accountname&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;            &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Property&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;preferredname&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;            &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Property&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;jobtitle&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;            &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Property&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;department&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;            &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Property&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;workphone&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;            &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Property&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;officenumber&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;            &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Property&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;pictureurl&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;            &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Property&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;workemail&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;            &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Properties&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;         &lt;/div&gt; &lt;/span&gt;&lt;/div&gt; &lt;/span&gt;&lt;/div&gt;   &lt;p&gt;Remember, once you specify any column, you must specify every column you want.&amp;#160; The default columns will no longer be returned.&amp;#160; When we recompile, upload the new application, and execute a query again, we now get much better results.&lt;/p&gt;  &lt;div style="font-family:consolas;background:white;color:black;font-size:10pt;"&gt;   &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;diffgr:diffgram&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;xmlns:msdata&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;urn:schemas-microsoft-com:xml-msdata&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;xmlns:diffgr&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;urn:schemas-microsoft-com:xml-diffgram-v1&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Results&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;xmlns&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RelevantResults&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;diffgr:id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;RelevantResults1&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;msdata:rowOrder&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;0&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;accountname&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;i:0#.f|membership|craig.johnson@dotnetmafia.onmicrosoft.com&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;accountname&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;preferredname&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Craig Johnson&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;preferredname&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;jobtitle&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Accountant&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;jobtitle&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;department&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Accounts Receivable&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;department&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;workphone&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;123-555-1215&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;workphone&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;officenumber&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;123455&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;officenumber&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;pictureurl&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;https://dotnetmafia-my.sharepoint.com/User Photos/Profile Pictures/i_0_.f_membership_craig.johnson@dotnetmafia.onmicrosoft.com_MThumb.jpg&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;pictureurl&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;workemail&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;craig.johnson@dotnetmafia.onmicrosoft.com&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;workemail&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RelevantResults&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;/div&gt;   &lt;p&gt;You can query with these same managed properties as well.&amp;#160; For example, I could use the &lt;em&gt;department &lt;/em&gt;managed property to see who is in &lt;em&gt;Accounting &lt;/em&gt;with the following query.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;department:”accounting”&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/SPOPeopleSearchSilverlightDepartment_658A3713.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="SPOPeopleSearchSilverlightDepartment" border="0" alt="SPOPeopleSearchSilverlightDepartment" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/SPOPeopleSearchSilverlightDepartment_thumb_56072544.png" width="421" height="289" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Maybe, you want to look up who the CEO of the company is.&amp;#160; To do that use the j&lt;em&gt;obtitle&lt;/em&gt; managed property.&amp;#160; Resist the urge to capitalize the words in the managed property.&amp;#160; They must be in lower case.&amp;#160; Note: that the t&lt;em&gt;itle&lt;/em&gt; managed property is reserved for personal titles such as Jr., Sr. etc.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;jobtitle:”CEO”&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/SPOPeopleSearchSilverlightJobTitle_2FC4CBEC.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="SPOPeopleSearchSilverlightJobTitle" border="0" alt="SPOPeopleSearchSilverlightJobTitle" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/SPOPeopleSearchSilverlightJobTitle_thumb_600BA0A2.png" width="426" height="287" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now, that we can query with all of these properties, we can make a nice advanced people search application.&amp;#160; In my demo at SPC11, I used the &lt;a href="http://www.telerik.com/products/silverlight/overview.aspx"&gt;Telerik&lt;/a&gt; RadGridView control to display the user information along with the picture from the user profile.&amp;#160; Here’s a screenshot of what the application looked like.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/SPOPeopleSearchApplication_501C5BDE.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="SPOPeopleSearchApplication" border="0" alt="SPOPeopleSearchApplication" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/SPOPeopleSearchApplication_thumb_224E9319.png" width="542" height="482" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can use the same techniques that I detailed in the &lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2011/11/07/building-a-sharepoint-advanced-search-application-with-silverlight-4.aspx"&gt;Advanced Search with Silverlight 4&lt;/a&gt; post to build a people search application like the one above.&amp;#160; This code will work on-premises (SharePoint 2010 or FAST Search for SharePoint) or in the cloud with SharePoint Online.&amp;#160; I’ve confirmed this works with both the P1 and E3 SKUs of Office 365.&lt;/p&gt;&lt;img src="http://www.dotnetmafia.com/aggbug.aspx?PostID=5417" width="1" height="1"&gt;</description><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Enterprise+Search/default.aspx">Enterprise Search</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/FAST+Search+for+SharePoint/default.aspx">FAST Search for SharePoint</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Office+365/default.aspx">Office 365</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Office+365+Grid/default.aspx">Office 365 Grid</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SPC11/default.aspx">SPC11</category></item><item><title>Building a SharePoint advanced search application with Silverlight 4</title><link>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2011/11/07/building-a-sharepoint-advanced-search-application-with-silverlight-4.aspx</link><pubDate>Mon, 07 Nov 2011 20:29:00 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:5272</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>10</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=5272</wfw:commentRss><comments>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2011/11/07/building-a-sharepoint-advanced-search-application-with-silverlight-4.aspx#comments</comments><description>&lt;p&gt;At SharePoint Conference 2011, I showed off a great looking advanced search application using Silverlight 4.&amp;#160; This application queried the Search web service at /_vti_bin/search.asmx to retrieve results and display them directly inside the application.&amp;#160; A couple of years ago, I demonstrated how to build an &lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/08/03/calling-the-enterprise-search-web-service-from-silverlight-3.aspx"&gt;advanced search application with Silverlight 3&lt;/a&gt;.&amp;#160; This application is very similar to that one except that I take it a step further and show you more of the possibilities of what the user interface could look like.&amp;#160; &lt;/p&gt;  &lt;p&gt;The code you will see today was intended for Office 365 / SharePoint Online but will work quite well with SharePoint 2010 (and to a degree SharePoint 2007).&amp;#160; Everything from the pervious article pretty much applies.&amp;#160; We create a reference to search.asmx, we build an XML input document, and then we make an asynchronous call to the web service.&amp;#160; One thing I will point out is that I have been unsuccessful in getting the ClientAccessPolicy.xml file to work with SharePoint Online.&amp;#160; This means that the application cannot run locally to allow us to debug it.&amp;#160; I’ve posted to the Office 365 forums but have had no luck.&amp;#160; If anyone figures this out, please let me know.&lt;/p&gt;  &lt;p&gt;The way we build the input XML document and call the web service is exactly the same as the pervious post.&amp;#160; However, what is different is the actual keyword query we construct.&amp;#160; Let’s take a look at what the interface looks like first.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/image_09BE402E.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/image_thumb_3ADD7ACE.png" width="650" height="241" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;There is a number of things going on here in this interface.&amp;#160; We first provide the user to do a simple keyword query search.&amp;#160; However, we also give the user the ability to query by File Size, Modified Date, Author, and by Document Only.&amp;#160; To do this, we use the following built-in managed properties respectively &lt;em&gt;FileSize, Write, Author, &lt;/em&gt;and &lt;em&gt;IsDocument&lt;/em&gt;.&amp;#160; The user can select any combination of the above to get a more specific query.&amp;#160; When the user clicks the &lt;em&gt;SearchButton, &lt;/em&gt;our code builds a custom keyword query and sends it to the search web service.&amp;#160; The &lt;em&gt;QueryTextBox&lt;/em&gt; displays the query that was constructed by the code.&amp;#160; However, it can also be modified by the user to test out a query manually.&amp;#160; This serves as a great search query testing tool.&amp;#160; After the user searches, the returned XML document is displayed in the large multiline textbox.&amp;#160; Beneath the textbox, I have added a &lt;a href="http://www.telerik.com/products/silverlight/gridview.aspx"&gt;Telerik GridView&lt;/a&gt; control.&amp;#160; I had this available to me so I decided to use it.&amp;#160; I think you could just as well have used a &lt;em&gt;DataGrid&lt;/em&gt; control to bind the data too.&lt;/p&gt;  &lt;p&gt;The code for the Silverlight application is surprisingly simple.&amp;#160; When the user clicks the &lt;em&gt;SearchButton&lt;/em&gt;, we begin to construct the keyword query we want to pass to the web service.&amp;#160; To do this, we need a &lt;strong&gt;StringBuilder &lt;/strong&gt;class so be sure and add a reference to &lt;em&gt;System.Text&lt;/em&gt;.&amp;#160; We then check each control to see if it has a value.&amp;#160; For example, for &lt;em&gt;SearchTextBox&lt;/em&gt;, if it has a value we simply append it to the StringBuilder named &lt;em&gt;searchQuery&lt;/em&gt;.&lt;/p&gt;  &lt;div style="border-bottom:#000080 1px solid;border-left:#000080 1px solid;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:#000;font-size:10pt;border-top:#000080 1px solid;border-right:#000080 1px solid;"&gt;   &lt;div style="padding-bottom:2px;background-color:#ffffff;padding-left:5px;padding-right:5px;overflow:auto;padding-top:2px;"&gt;&lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (!&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;.IsNullOrEmpty(SearchTextBox.Text))       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; searchQuery.AppendFormat(&lt;span style="color:#a31515;"&gt;&amp;quot;{0} &amp;quot;&lt;/span&gt;, SearchTextBox.Text);&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;The &lt;em&gt;FileSize&lt;/em&gt; managed property has an operator with values such as &amp;gt;, &amp;gt;=, &amp;lt; and, &amp;lt;=.&amp;#160; These are contained in the &lt;em&gt;ModifiedDateOperatorComboBox&lt;/em&gt;.&amp;#160; If there is a value then we append it to &lt;em&gt;searchQuery&lt;/em&gt;.&lt;/p&gt;  &lt;div style="border-bottom:#000080 1px solid;border-left:#000080 1px solid;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:#000;font-size:10pt;border-top:#000080 1px solid;border-right:#000080 1px solid;"&gt;   &lt;div style="padding-bottom:2px;background-color:#ffffff;padding-left:5px;padding-right:5px;overflow:auto;padding-top:2px;"&gt;&lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (FileSizeOperatorComboBox.SelectedItem != &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;)       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; searchQuery.AppendFormat(&lt;span style="color:#a31515;"&gt;&amp;quot;Size{0}\&amp;quot;{1}\&amp;quot; &amp;quot;&lt;/span&gt;,       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ((&lt;span style="color:#2b91af;"&gt;ComboBoxItem&lt;/span&gt;)FileSizeOperatorComboBox.SelectedItem).Content.ToString(),       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FileSizeTextBox.Text);&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;We continue to this for the rest of the controls on the page in the &lt;em&gt;SearchButton&lt;/em&gt; click event handling method.&amp;#160; Here is the entire method.&lt;/p&gt;  &lt;div style="border-bottom:#000080 1px solid;border-left:#000080 1px solid;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:#000;font-size:10pt;border-top:#000080 1px solid;border-right:#000080 1px solid;"&gt;   &lt;div style="padding-bottom:2px;background-color:#ffffff;padding-left:5px;padding-right:5px;overflow:auto;padding-top:2px;"&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; SearchButton_Click(&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; sender, &lt;span style="color:#2b91af;"&gt;RoutedEventArgs&lt;/span&gt; e)       &lt;br /&gt;{       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#2b91af;"&gt;StringBuilder&lt;/span&gt; searchQuery = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StringBuilder&lt;/span&gt;();       &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (!&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;.IsNullOrEmpty(SearchTextBox.Text))       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; searchQuery.AppendFormat(&lt;span style="color:#a31515;"&gt;&amp;quot;{0} &amp;quot;&lt;/span&gt;, SearchTextBox.Text);       &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (FileSizeOperatorComboBox.SelectedItem != &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;)       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; searchQuery.AppendFormat(&lt;span style="color:#a31515;"&gt;&amp;quot;Size{0}\&amp;quot;{1}\&amp;quot; &amp;quot;&lt;/span&gt;,       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ((&lt;span style="color:#2b91af;"&gt;ComboBoxItem&lt;/span&gt;)FileSizeOperatorComboBox.SelectedItem).Content.ToString(),       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FileSizeTextBox.Text);       &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (ModifiedDateOperatorComboBox.SelectedItem != &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;)       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; searchQuery.AppendFormat(&lt;span style="color:#a31515;"&gt;&amp;quot;Write{0}\&amp;quot;{1}\&amp;quot; &amp;quot;&lt;/span&gt;,       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ((&lt;span style="color:#2b91af;"&gt;ComboBoxItem&lt;/span&gt;)ModifiedDateOperatorComboBox.SelectedItem).Content.ToString(),       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ModifiedDatePicker.SelectedDate.ToString());       &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (!&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;.IsNullOrEmpty(AuthorTextBox.Text))       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; searchQuery.AppendFormat(&lt;span style="color:#a31515;"&gt;&amp;quot;Author:\&amp;quot;{0}\&amp;quot; &amp;quot;&lt;/span&gt;, AuthorTextBox.Text);       &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (DocumentsOnlyCheckBox.IsChecked.Value)       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; searchQuery.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;IsDocument:1 &amp;quot;&lt;/span&gt;);       &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#008000;"&gt;// pass the search query to the method to actually call the search service&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; QuerySearchService(searchQuery.ToString());       &lt;br /&gt;}&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;The &lt;em&gt;QuerySearchService&lt;/em&gt; method makes the actual call to the web service.&amp;#160; Since we’re dealing with Silvelright, we have to call the web service method asynchronously.&amp;#160; We do this by binding an event handling method to the &lt;em&gt;QueryExCompleted&lt;/em&gt; event.&amp;#160; Again for more details on how the XML is constructed see my information from the Silverlight 3 post.&lt;/p&gt;  &lt;div style="border-bottom:#000080 1px solid;border-left:#000080 1px solid;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:#000;font-size:10pt;border-top:#000080 1px solid;border-right:#000080 1px solid;"&gt;   &lt;div style="padding-bottom:2px;background-color:#ffffff;padding-left:5px;padding-right:5px;overflow:auto;padding-top:2px;"&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; QuerySearchService(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; searchQuery)       &lt;br /&gt;{       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#2b91af;"&gt;QueryServiceSoapClient&lt;/span&gt; queryService = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;QueryServiceSoapClient&lt;/span&gt;();       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; queryService.QueryExCompleted += &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;EventHandler&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;QueryExCompletedEventArgs&lt;/span&gt;&amp;gt;(QueryService_QueryExCompleted);       &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; QueryTextBox.Text = searchQuery;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#2b91af;"&gt;StringBuilder&lt;/span&gt; queryXml = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StringBuilder&lt;/span&gt;();       &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;QueryPacket xmlns=\&amp;quot;urn:Microsoft.Search.Query\&amp;quot; Revision=\&amp;quot;1000\&amp;quot;&amp;gt;&amp;quot;&lt;/span&gt;);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;Query domain=\&amp;quot;QDomain\&amp;quot;&amp;gt;&amp;quot;&lt;/span&gt;);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;SupportedFormats&amp;gt;&amp;quot;&lt;/span&gt;);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;Format&amp;gt;&amp;quot;&lt;/span&gt;);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;urn:Microsoft.Search.Response.Document.Document&amp;quot;&lt;/span&gt;);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;/Format&amp;gt;&amp;quot;&lt;/span&gt;);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;/SupportedFormats&amp;gt;&amp;quot;&lt;/span&gt;);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;Range&amp;gt;&amp;quot;&lt;/span&gt;);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;Count&amp;gt;50&amp;lt;/Count&amp;gt;&amp;quot;&lt;/span&gt;);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;/Range&amp;gt;&amp;quot;&lt;/span&gt;);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;Context&amp;gt;&amp;quot;&lt;/span&gt;);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;QueryText language=\&amp;quot;en-US\&amp;quot; type=\&amp;quot;STRING\&amp;quot;&amp;gt;&amp;quot;&lt;/span&gt;);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; queryXml.Append(searchQuery);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;/QueryText&amp;gt;&amp;quot;&lt;/span&gt;);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;/Context&amp;gt;&amp;quot;&lt;/span&gt;);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;/Query&amp;gt;&amp;quot;&lt;/span&gt;);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; queryXml.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;/QueryPacket&amp;gt;&amp;quot;&lt;/span&gt;);       &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; BusyIndicator.IsBusy = &lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; queryService.QueryExAsync(queryXml.ToString());       &lt;br /&gt;}&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;The last line passed the XML input document to the web service method.&amp;#160; Now, it’s just a matter of handling the return results in the event handling method.&amp;#160; The first thing we need to do is get the XML document with the results.&amp;#160; We can always find this in the &lt;em&gt;Result.Nodes[1]&lt;/em&gt; object available in &lt;em&gt;QueryExCompletedEventArgs.&lt;/em&gt;&amp;#160; For convenience, I write this value to a TextBox so that I can view it.&amp;#160; &lt;/p&gt;  &lt;div style="border-bottom:#000080 1px solid;border-left:#000080 1px solid;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:#000;font-size:10pt;border-top:#000080 1px solid;border-right:#000080 1px solid;"&gt;   &lt;div style="padding-bottom:2px;background-color:#ffffff;padding-left:5px;padding-right:5px;overflow:auto;padding-top:2px;"&gt;ResultsTextBox.Text = e.Result.Nodes[1].ToString();&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;However, I want to bind this XML to our nice looking RadGridView.&amp;#160; To do this I must extract the data from the XDocument and expose it in a custom type. Here is where the LINQ to XML comes in.&amp;#160; Normally, I would just use an anonymous type for this, but that doesn’t work in Silverlight.&amp;#160; This means I have to create a new class to hold our search results.&amp;#160; I call this class &lt;em&gt;SearchResult&lt;/em&gt;.&lt;/p&gt;  &lt;div style="border-bottom:#000080 1px solid;border-left:#000080 1px solid;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:#000;font-size:10pt;border-top:#000080 1px solid;border-right:#000080 1px solid;"&gt;   &lt;div style="padding-bottom:2px;background-color:#ffffff;padding-left:5px;padding-right:5px;overflow:auto;padding-top:2px;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SearchResult&lt;/span&gt;       &lt;br /&gt;{       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; Title { &lt;span style="color:#0000ff;"&gt;get&lt;/span&gt;; &lt;span style="color:#0000ff;"&gt;set&lt;/span&gt;; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; Path { &lt;span style="color:#0000ff;"&gt;get&lt;/span&gt;; &lt;span style="color:#0000ff;"&gt;set&lt;/span&gt;; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; Author { &lt;span style="color:#0000ff;"&gt;get&lt;/span&gt;; &lt;span style="color:#0000ff;"&gt;set&lt;/span&gt;; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; Size { &lt;span style="color:#0000ff;"&gt;get&lt;/span&gt;; &lt;span style="color:#0000ff;"&gt;set&lt;/span&gt;; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;DateTime&lt;/span&gt;? Write { &lt;span style="color:#0000ff;"&gt;get&lt;/span&gt;; &lt;span style="color:#0000ff;"&gt;set&lt;/span&gt;; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; SiteName { &lt;span style="color:#0000ff;"&gt;get&lt;/span&gt;; &lt;span style="color:#0000ff;"&gt;set&lt;/span&gt;; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; HitHighlightedSummary { &lt;span style="color:#0000ff;"&gt;get&lt;/span&gt;; &lt;span style="color:#0000ff;"&gt;set&lt;/span&gt;; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; ContentClass { &lt;span style="color:#0000ff;"&gt;get&lt;/span&gt;; &lt;span style="color:#0000ff;"&gt;set&lt;/span&gt;; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;bool&lt;/span&gt; IsDocument { &lt;span style="color:#0000ff;"&gt;get&lt;/span&gt;; &lt;span style="color:#0000ff;"&gt;set&lt;/span&gt;; }       &lt;br /&gt;}&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;I then use LINQ to XML to write the value of each property in.&amp;#160; Since nulls are a real possibility, I use &lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/02/06/how-to-check-for-nulls-when-using-linq-to-xml.aspx"&gt;.Any()&lt;/a&gt; before assigning each value to ensure we don’t get an exception.&amp;#160; To understand the LINQ we use, let’s take a quick look at the result XML document.&lt;/p&gt;  &lt;div style="border-bottom:#000080 1px solid;border-left:#000080 1px solid;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:#000;font-size:10pt;border-top:#000080 1px solid;border-right:#000080 1px solid;"&gt;   &lt;div style="padding-bottom:2px;background-color:#ffffff;padding-left:5px;width:996px;padding-right:5px;height:324px;overflow:auto;padding-top:2px;"&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;diffgr:diffgram&lt;/span&gt;&lt;span style="color:#0000ff;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;xmlns:msdata&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff;"&gt;urn:schemas-microsoft-com:xml-msdata&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;xmlns:diffgr&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff;"&gt;urn:schemas-microsoft-com:xml-diffgram-v1&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Results&lt;/span&gt;&lt;span style="color:#0000ff;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&lt;/span&gt;&amp;quot;&amp;quot;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RelevantResults&lt;/span&gt;&lt;span style="color:#0000ff;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;diffgr:id&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff;"&gt;RelevantResults1&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;msdata:rowOrder&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff;"&gt;0&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;WorkId&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;2799582&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;WorkId&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Rank&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;78969610&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Rank&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Title&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;Sales&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Title&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Size&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;65211&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Size&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Path&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;https://dotnetmafia.sharepoint.com/sites/fabrikam/teamsites/sales&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Path&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Write&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;2011-08-11T07:11:59-07:00&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Write&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;SiteName&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;https://dotnetmafia.sharepoint.com/sites/fabrikam/teamsites&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;SiteName&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;CollapsingStatus&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;0&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;CollapsingStatus&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;HitHighlightedSummary&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;Site Actions &lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;ddd/&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt; This page location is: &lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;ddd/&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt; Home &lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;ddd/&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt; Team Sites &lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;ddd/&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt; Pages &lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;ddd/&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt; default &lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;ddd/&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt; Employee &lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;ddd/&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt; Resources &lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;ddd/&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt; Facilities &lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;ddd/&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt; News &lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;ddd/&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt; I Like It &lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;ddd/&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt; Tags &lt;span style="color:#ff0000;"&gt;&amp;amp;amp;&lt;/span&gt;amp; Notes &lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;ddd/&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt; Libraries &lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;ddd/&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt; Shared Documents &lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;ddd/&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt; Flyers &lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;ddd/&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt; Presentations &lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;ddd/&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt; Proposals &lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;ddd/&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;c0&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt;Sales&lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;/c0&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt; Forecasts &lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;ddd/&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt; Lists &lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;ddd/&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt; Calendar &lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;ddd/&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt; Tasks &lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;ddd/&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt; &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;HitHighlightedSummary&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;HitHighlightedProperties&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;HHTitle&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&amp;amp;lt;&lt;/span&gt;c0&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt;Sales&lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;/c0&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&amp;amp;lt;&lt;/span&gt;/HHTitle&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&amp;amp;lt;&lt;/span&gt;HHUrl&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt;https://dotnetmafia.sharepoint.com/sites/fabrikam/teamsites/&lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;c0&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt;sales&lt;span style="color:#ff0000;"&gt;&amp;amp;lt;&lt;/span&gt;/c0&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&amp;amp;lt;&lt;/span&gt;/HHUrl&lt;span style="color:#ff0000;"&gt;&amp;amp;gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;HitHighlightedProperties&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ContentClass&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;STS_Web&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ContentClass&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;IsDocument&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;false&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;IsDocument&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RelevantResults&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Each search result is contained inside a &lt;em&gt;ReleventResults&lt;/em&gt; node inside of the &lt;em&gt;Results&lt;/em&gt; element.&amp;#160; So we look inside there to create our query.&lt;/p&gt;  &lt;div style="border-bottom:#000080 1px solid;border-left:#000080 1px solid;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:#000;font-size:10pt;border-top:#000080 1px solid;border-right:#000080 1px solid;"&gt;   &lt;div style="padding-bottom:2px;background-color:#ffffff;padding-left:5px;padding-right:5px;overflow:auto;padding-top:2px;"&gt;&lt;span style="color:#0000ff;"&gt;var&lt;/span&gt; results = &lt;span style="color:#0000ff;"&gt;from&lt;/span&gt; result &lt;span style="color:#0000ff;"&gt;in&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; e.Result.Nodes[1].Descendants(&lt;span style="color:#a31515;"&gt;&amp;quot;RelevantResults&amp;quot;&lt;/span&gt;)       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;select&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SearchResult&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Title = (result.Elements(&lt;span style="color:#a31515;"&gt;&amp;quot;Title&amp;quot;&lt;/span&gt;).Any())       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ? result.Element(&lt;span style="color:#a31515;"&gt;&amp;quot;Title&amp;quot;&lt;/span&gt;).Value : &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;.Empty,       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Path = (result.Elements(&lt;span style="color:#a31515;"&gt;&amp;quot;Path&amp;quot;&lt;/span&gt;).Any())       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ? result.Element(&lt;span style="color:#a31515;"&gt;&amp;quot;Path&amp;quot;&lt;/span&gt;).Value : &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;.Empty,       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Author = (result.Elements(&lt;span style="color:#a31515;"&gt;&amp;quot;Author&amp;quot;&lt;/span&gt;).Any())       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ? result.Element(&lt;span style="color:#a31515;"&gt;&amp;quot;Author&amp;quot;&lt;/span&gt;).Value : &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;.Empty,       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Size = (result.Elements(&lt;span style="color:#a31515;"&gt;&amp;quot;Size&amp;quot;&lt;/span&gt;).Any())       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ? result.Element(&lt;span style="color:#a31515;"&gt;&amp;quot;Size&amp;quot;&lt;/span&gt;).Value : &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;.Empty,       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Write = (result.Elements(&lt;span style="color:#a31515;"&gt;&amp;quot;Write&amp;quot;&lt;/span&gt;).Any())       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ? &lt;span style="color:#2b91af;"&gt;DateTime&lt;/span&gt;.Parse(result.Element(&lt;span style="color:#a31515;"&gt;&amp;quot;Write&amp;quot;&lt;/span&gt;).Value) : &lt;span style="color:#2b91af;"&gt;DateTime&lt;/span&gt;.MinValue,       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SiteName = (result.Elements(&lt;span style="color:#a31515;"&gt;&amp;quot;SiteName&amp;quot;&lt;/span&gt;).Any())       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ? result.Element(&lt;span style="color:#a31515;"&gt;&amp;quot;SiteName&amp;quot;&lt;/span&gt;).Value : &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;.Empty,       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HitHighlightedSummary = (result.Elements(&lt;span style="color:#a31515;"&gt;&amp;quot;HitHighlightedSummary&amp;quot;&lt;/span&gt;).Any())       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ? result.Element(&lt;span style="color:#a31515;"&gt;&amp;quot;HitHighlightedSummary&amp;quot;&lt;/span&gt;).Value : &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;.Empty,       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ContentClass = (result.Elements(&lt;span style="color:#a31515;"&gt;&amp;quot;ContentClass&amp;quot;&lt;/span&gt;).Any())       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ? result.Element(&lt;span style="color:#a31515;"&gt;&amp;quot;ContentClass&amp;quot;&lt;/span&gt;).Value : &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;.Empty,       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; IsDocument = (result.Elements(&lt;span style="color:#a31515;"&gt;&amp;quot;IsDocument&amp;quot;&lt;/span&gt;).Any())       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ? &lt;span style="color:#0000ff;"&gt;bool&lt;/span&gt;.Parse(result.Element(&lt;span style="color:#a31515;"&gt;&amp;quot;IsDocument&amp;quot;&lt;/span&gt;).Value) : &lt;span style="color:#0000ff;"&gt;false&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; };&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;We simply assign each property after verifying that it’s not null.&amp;#160; Most values are strings but we did do some casting for DateTime and Boolean values.&amp;#160; The last thing we do is bind to the RadGridView.&lt;/p&gt;  &lt;div style="border-bottom:#000080 1px solid;border-left:#000080 1px solid;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:#000;font-size:10pt;border-top:#000080 1px solid;border-right:#000080 1px solid;"&gt;   &lt;div style="padding-bottom:2px;background-color:#ffffff;padding-left:5px;padding-right:5px;overflow:auto;padding-top:2px;"&gt;ResultsRadGridView.ItemsSource = results;&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;The next section applies to the Telerik specific content.&amp;#160; If you don’t have those controls available to you, you can skip this section and you can configure the built-in grid in a similar manner.&amp;#160; RadGridView has some column types that allow us to format links and checkboxes in a nice manner.&amp;#160; Telerik has free trials available if you are interested.&amp;#160; Here is what that code looks like.&lt;/p&gt;  &lt;div style="border-bottom:#000080 1px solid;border-left:#000080 1px solid;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:#000;font-size:10pt;border-top:#000080 1px solid;border-right:#000080 1px solid;"&gt;   &lt;div style="padding-bottom:2px;background-color:#ffffff;padding-left:5px;width:995px;padding-right:5px;height:196px;overflow:auto;padding-top:2px;"&gt;&lt;span style="color:#a31515;"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;telerik&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RadGridView&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; HorizontalAlignment&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Left&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; Margin&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;13,227,0,0&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; Name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;ResultsRadGridView&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; VerticalAlignment&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Top&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; Width&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;776&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; AutoGenerateColumns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;False&amp;quot;&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#a31515;"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;telerik&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RadGridView.Columns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#a31515;"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;telerik&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GridViewDynamicHyperlinkColumn&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; Header&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Title&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; DataMemberBinding&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; Title}&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; NavigateUrlFormatString&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;{} {0}&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; NavigateUrlMemberPaths&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Path&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; TargetName&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;_blank&amp;quot; /&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#a31515;"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;telerik&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GridViewDataColumn&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; Header&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Author&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; DataMemberBinding&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; Author}&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;quot; /&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#a31515;"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;telerik&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GridViewDataColumn&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; Header&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Write&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; DataMemberBinding&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; Write}&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; DataFormatString&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;{} {0:MMM, dd, yyyy}&amp;quot; /&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#a31515;"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;telerik&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GridViewDataColumn&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; Header&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Size&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; DataMemberBinding&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; Size}&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;quot; /&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#a31515;"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;telerik&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GridViewDataColumn&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; Header&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;HitHighlightedSummary&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; DataMemberBinding&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; HitHighlightedSummary}&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;quot; /&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#a31515;"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;telerik&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GridViewDataColumn&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; Header&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;ContentClass&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; DataMemberBinding&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; ContentClass}&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;quot; /&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#a31515;"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;telerik&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GridViewHyperlinkColumn&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; Header&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;SiteName&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; DataMemberBinding&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; SiteName}&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; TargetName&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;_blank&amp;quot; /&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#a31515;"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;telerik&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;GridViewCheckBoxColumn&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; Header&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;IsDocument&amp;quot;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; DataMemberBinding&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; IsDocument}&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;quot; /&amp;gt;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#a31515;"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;telerik&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RadGridView.Columns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;       &lt;br /&gt;&lt;span style="color:#a31515;"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;telerik&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;RadGridView&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;That’s all the code that is involved.&amp;#160;&amp;#160; Here is a screenshot of it in action.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/image_11ED65F0.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://www.dotnetmafia.com/blogs/dotnettipoftheday/image_thumb_6F492774.png" width="611" height="515" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I’ve attached the code to this post (minus the Telerik controls). This code will work on-premises or in the cloud with SharePoint Online.&amp;#160; I’ve confirmed this works with both the P1 and E3 SKUs of Office 365. I just used built-in managed properties in my example, but if you create custom properties of your own you can add those as well. Try it out and see what you think.&lt;/p&gt;&lt;img src="http://www.dotnetmafia.com/aggbug.aspx?PostID=5272" width="1" height="1"&gt;</description><enclosure url="http://www.dotnetmafia.com/blogs/dotnettipoftheday/attachment/5272.ashx" length="24762" type="application/octet-stream" /><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Enterprise+Search/default.aspx">Enterprise Search</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Office+365/default.aspx">Office 365</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Office+365+Grid/default.aspx">Office 365 Grid</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SPC11/default.aspx">SPC11</category></item><item><title>Using SharePoint Online (Office365) for Extranets</title><link>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2011/10/05/using-sharepoint-online-office365-for-extranets.aspx</link><pubDate>Wed, 05 Oct 2011 20:39:27 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:5185</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=5185</wfw:commentRss><comments>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2011/10/05/using-sharepoint-online-office365-for-extranets.aspx#comments</comments><description>&lt;p&gt;This week at SharePoint Conference (&lt;a href="https://twitter.com/#!/search/realtime/%23spc11"&gt;#SPC11&lt;/a&gt;), I had the pleasure of giving a talk about the benefits of using SharePoint as an Extranet platform.&amp;#160; I discuss the benefits and considerations of using SharePoint for an Extranet when it comes to on-premises solutions.&amp;#160; I know I am likely to get the question, “What about SharePoint Online though?”&amp;#160; It’s a great question and the more you think about it SharePoint Online is a great option for serving up an Extranet to your customers, partners, and vendors.&amp;#160; Why you say?&amp;#160; Well, let’s break it down to the things we have to think about when implementing an Extranet on-premises.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Target audience&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The target audience of an extranet is typically, customers, partners, and vendors.&amp;#160; It is also useful for remote employees when you don’t want them to have to log in to a VPN every time they need to view a document.&amp;#160; The types of documents you often see on an extranet are reports, invoices, contracts, and anything else that you might need to collaborate on.&amp;#160; As you will see, SharePoint Online is a great fit for this and quite possibly could be the fastest way to launch an Extranet for you organization.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The Network&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In order to make an Extranet happen, one of the things that must occur is that you get that SharePoint environment exposed to the Internet in whatever way works for your organization.&amp;#160; This is a huge consideration.&amp;#160; It involves you getting network architects involved and various other people to find a way to poke a hole through your firewalls to allow SharePoint to work externally.&amp;#160; There are simple solutions to this and extremely advanced solutions.&amp;#160; The more stringent your network requirements are the more you have to consider this.&amp;#160; With SharePoint Online, Microsoft has already made all of the hard decisions about getting SharePoint onto the Internet so you don’t have to.&amp;#160; You just sign up, create your users, put some content out there and you are good to go.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Authentication&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;SharePoint provides many different ways to authenticate On-Premises.&amp;#160; You can use Active Directory with NTLM or Kerberos, Forms Based Authentication (FBA) with the ASP.NET membership provider, LDAP provider, Active Directory, or something custom.&amp;#160; You can also use a trusted identity provider with Windows Live or ADFS 2.0&amp;#160; That’s a lot of options and that’s not even close to all of them.&amp;#160; Each one has its own set of considerations.&amp;#160; When I am doing an Extranet, I prefer a solution where we don’t have to manage the users credentials or password resets.&amp;#160; That makes Windows Live ID and other Trusted Identity Providers very attractive.&amp;#160; There are so many options, but why should you have to worry about it.&amp;#160; Office 365 makes it easy.&lt;/p&gt;  &lt;p&gt;What does SharePoint Online provide?&amp;#160; Well, it uses a flavor of Windows Live.&amp;#160; You can create users easily using the administration portal.&amp;#160; However, you don’t have to.&amp;#160; Probably the coolest feature in SharePoint Online is the option to share with external users.&amp;#160; I wrote a post a while back on how to configure this that you should check out.&amp;#160; All you have to do is type the users E-mail address in.&amp;#160; When the user receives an E-mail, they click on it and they sign in with their Windows Live account.&amp;#160; You can assign permissions on this users Windows Live account just like they were a regular user.&amp;#160; Out-of-the-box (cloud), SharePoint Online allows you to share with up to 50 external users. If you need more external users, you can purchase more (in 50 packs I believe).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SharePoint Functionality&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;SharePoint Online probably has most of the functionality you probably need out-of-the-box when it comes to sharing documents with partners.&amp;#160; You can obviously create document libraries, set up content types, use search, and even apply some policies.&amp;#160; Various licenses even include Office Web Apps for read (and optionally write) functionality which makes it really easy for users to view content without even having to download it.&amp;#160; It really is a great platform for sharing documents with people outside your company.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Going “around” your IT department&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;IT people will hate this.&amp;#160; However, business users who have to deal with slowly reacting IT departments will love it.&amp;#160; A business user can sign up for Office 365 and have a SharePoint Online site in under an hour.&amp;#160; I assure you no IT department out there will be able to match that.&amp;#160; Even if your IT department reacts quickly, more than likely someone in the food chain will want to hold it up to “evaluate it” and make themselves feel important.&amp;#160; I’m not saying to go out and not get IT buy in, but it really is an option for unresponsive IT departments.&amp;#160; Of course, with SharePoint Online you have governance considerations as well and I could see companies making policies stating that all SharePoint Online usage needs to go through IT.&amp;#160; Your business users may do what they need to do though.&amp;#160; I can definitely see this being a challenge.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;You’ve seen the considerations for running an Extranet now.&amp;#160; SharePoint Online is a great fit and can be provisioned quickly.&amp;#160; Hopefully this post will help you make the right decision when it comes to provisioning an Extranet.&amp;#160; &lt;/p&gt;  &lt;p&gt;I’m also giving two talks at this year’s conference and I would love for you to see them. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="https://twitter.com/#!/search/realtime/%23spc348"&gt;#SPC348&lt;/a&gt; – &lt;a href="http://www.mssharepointconference.com/pages/sessiondetailsShort.aspx?sessionguid=9ce707cc-464f-41f5-880b-8f8d49a56cfd"&gt;Extending SharePoint 2010 for your customers and partners&lt;/a&gt; will cover everything you wanted to know about creating an Extranet with SharePoint 2010. Although, this topic is nothing new, this is a great talk for people just now looking to consider an extranet for his or her organization. &lt;/li&gt;    &lt;li&gt;&lt;a href="https://twitter.com/#!/search/realtime/%23spc364"&gt;#SPC364&lt;/a&gt; – &lt;a href="http://www.mssharepointconference.com/pages/sessiondetailsShort.aspx?sessionguid=3d64497f-0d38-4e35-9280-4d0095dea22d"&gt;Making the most of Search in SharePoint Online&lt;/a&gt;. I am beyond excited about this talk because I get to talk about Search and SharePoint Online in the same talk. You might just be amazed at what you can do with Search in the cloud. I’ve got some great demos built using Silverlight and the Search API that you will want to see whether you want to extend search off-premises or on-premises. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Enough with the shameless plug. :) Get ready and I’ll see you at the conference. You can follow me on twitter &lt;a href="http://twitter.com/coreyroth"&gt;@coreyroth&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://www.dotnetmafia.com/aggbug.aspx?PostID=5185" width="1" height="1"&gt;</description><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Office+365/default.aspx">Office 365</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Office+365+Grid/default.aspx">Office 365 Grid</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SPC11/default.aspx">SPC11</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Extranet/default.aspx">Extranet</category></item><item><title>SPC11 Readiness Checklist</title><link>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2011/09/28/spc11-readiness-checklist.aspx</link><pubDate>Wed, 28 Sep 2011 16:55:23 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:5164</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=5164</wfw:commentRss><comments>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2011/09/28/spc11-readiness-checklist.aspx#comments</comments><description>&lt;p&gt;SharePoint Conference 2011 (#SPC11) is coming fast.&amp;#160; This promises to be a great conference and I’m excited to see everyone again and meet some new friends.&amp;#160; With any conference, it’s always best to be prepared.&amp;#160; You want to make sure you bring the right things and get everything done before you step foot on a plane.&lt;/p&gt;  &lt;p&gt;Here are some of the things I’ll be packing that might also be useful for you as well:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Laptop – &lt;/strong&gt;As a presenter this one is obvious.&amp;#160; However as an attendee, you might not want to lug one around.&amp;#160; It can be worth it though.&amp;#160; You will find that you want some type of computing device so that you can keep up on twitter, follow the latest gossip, and find out about any impromptu &lt;a href="https://twitter.com/#!/search/%23SharePint"&gt;#SharePint&lt;/a&gt; events that might occur.&amp;#160; Maybe even read a few E-mails.&amp;#160; As a presenter, I’m also having a colleague bring his laptop as well with my demos loaded on it in the event of an emergency / disaster.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Netbook / Slate / Tablet / iPad – &lt;/strong&gt;In lieu of carrying around your heavy laptop, I find carrying my netbook at conferences to be quite handy.&amp;#160; I can keep up on twitter, the battery will last me all day.&amp;#160; Bring whatever device or combination thereof you prefer, but keeping up on what’s going on at the conference using one of these small devices is much easier than trying to look things up on your phone.&amp;#160; You also can use these to fill out session evaluations.&amp;#160; There are usually incentives for filling out evaluations so I try to complete each evaluation right before the end of the session so I don’t forget.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;AirCard – &lt;/strong&gt;The wireless networks at conferences are rarely good.&amp;#160; They are jammed with geeks trying to post updates on Twitter and check out what’s happening on Facebook.&amp;#160; If you have access to a wireless AirCard bring one.&amp;#160; See if your company has any that you can check out temporarily.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Cash – &lt;/strong&gt;Just a little (more if you drink a lot :) ).&amp;#160; There are a lot of free events but you might go to something before or after the conference and I am not a fan of running tabs at busy restaurants and bars.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Chargers&lt;/strong&gt; – I remember when I went to PDC05, I forgot my laptop charger.&amp;#160; I was quite bummed.&amp;#160; Don’t forget the chargers to your laptop, netbook, iPad, phones, etc.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Bail Money – &lt;/strong&gt;The &lt;a href="http://h-spug.org/SitePages/Home.aspx"&gt;Houston SharePoint Users Group&lt;/a&gt; has a running joke about always keeping a stash of bail money around when attending a &lt;a href="https://twitter.com/#!/search/%23SharePint"&gt;#SharePint&lt;/a&gt;.&amp;#160; With past history of SharePoint conferences, maybe it’s not such a bad idea. :)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Some other things you should remember to do before going.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Set your schedule on My SPC&lt;/strong&gt;&amp;#160; - This will make your SPC organizers happy when it comes to capacity planning.&amp;#160; You aren’t required to go to that session you schedule, but it will help you pick from the 10+ sessions going on at any given time slot.&amp;#160; Go to &lt;a href="http://www.mssharepointconference.com/Pages/Secure/myspc-03-mycalendarpage.aspx"&gt;My SPC&lt;/a&gt;&amp;#160; and set your schedule now!&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Create your Bio on My SPC – &lt;/strong&gt;Whether you are an end user or a SharePoint rock star, take a few minutes to write about yourself.&amp;#160; Include where you work if you want along with what you typically do with SharePoint and what you want to get out of the conference.&amp;#160; Upload a picture of yourself to make things more personal.&amp;#160; Set your &lt;a href="http://www.mssharepointconference.com/pages/secure/myspc-02-EditProfile.aspx"&gt;My SPC&lt;/a&gt; bio now.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Arrange for Ground Transportation&lt;/strong&gt;&amp;#160; - Don’t forget to arrange for ground transportation.&amp;#160; You really don’t need a car once you get to Anaheim, but you do need a way to get there.&amp;#160; Taking a Taxi can be quite costly, so I opted to take one of the many available shuttle services from the Airport.&amp;#160; It’s relatively inexpensive at $15 each way.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Create a #SPC11 Search in Twitter – &lt;/strong&gt;There is no question you want to keep an eye on the activity of the &lt;a href="https://twitter.com/#!/search/%23SPC11"&gt;#SPC11&lt;/a&gt; hash tag.&amp;#160; You will find out about sessions, events, and it will generally give you an idea of what is happening at the conference.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Follow &lt;a href="http://twitter.com/spconf"&gt;@SPConf&lt;/a&gt; on Twitter – &lt;/strong&gt;This is the official twitter account for SPC.&amp;#160; This account often posts useful stuff about the conference.&amp;#160; I’ve also used it to ask questions or provide general feedback and I’ve had good luck getting a response.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Learn hash tags for the sessions you are attending&lt;/strong&gt; – Every session you are attending has an associated hash tag that you can follow.&amp;#160; For example, my Search Session is number 364, so the hash tag for it is &lt;a href="https://twitter.com/#!/search/realtime/%23spc364"&gt;#SPC364&lt;/a&gt;.&amp;#160; You can go ahead and save a search for that one now. :)&amp;#160; I hear &lt;a href="https://twitter.com/#!/search/realtime/%23spc348"&gt;#SPC348&lt;/a&gt; is also a good one!&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Reach out to your local SharePoint User Group – &lt;/strong&gt;Find out what your local SharePoint User Group is doing while at SPC.&amp;#160; Many of them are having meetings or socials.&amp;#160; For example, &lt;a href="http://www.h-spug.org"&gt;H-SPUG&lt;/a&gt;&amp;#160;&lt;a href="https://twitter.com/#!/search/realtime/%23HSPUG"&gt;(#HSPUG&lt;/a&gt;) is having a happy hour on Sunday night.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;RSVP for Parties – &lt;/strong&gt;There are a lot of them this year.&amp;#160; Many of them require that you RSVP or stop by a booth so be sure and find out before hand.&amp;#160; Mark Freeman put together an &lt;a href="http://sharepointmagic.wordpress.com/2011/09/07/sharepoint-2011-conference-connections/"&gt;excellent list&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Leave space in your bag&lt;/strong&gt; – Between the conference materials and the vendors you are going to end up with a heap of product information, trinkets, and T-shirts.&amp;#160; Make sure you have room in your bag to bring them home.&amp;#160; Otherwise you’ll be hand carrying them on the plane or leaving things behind.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;That’s my list.&amp;#160; I’m sure there are other things to remember.&amp;#160; Do you have anything else to add?&amp;#160; Leave a comment.&amp;#160; This probably goes without saying, but if you are not on twitter, now is the time to join.&amp;#160; It’s the best way to keep up with what’s happening at the conference.&amp;#160; &lt;/p&gt;  &lt;p&gt;I’m also giving two talks at this year’s conference and I would love for you to see them. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="https://twitter.com/#!/search/realtime/%23spc348"&gt;#SPC348&lt;/a&gt; – &lt;a href="http://www.mssharepointconference.com/pages/sessiondetailsShort.aspx?sessionguid=9ce707cc-464f-41f5-880b-8f8d49a56cfd"&gt;Extending SharePoint 2010 for your customers and partners&lt;/a&gt; will cover everything you wanted to know about creating an Extranet with SharePoint 2010.&amp;#160; Although, this topic is nothing new, this is a great talk for people just now looking to consider an extranet for his or her organization.&lt;/li&gt;    &lt;li&gt;&lt;a href="https://twitter.com/#!/search/realtime/%23spc364"&gt;#SPC364&lt;/a&gt; – &lt;a href="http://www.mssharepointconference.com/pages/sessiondetailsShort.aspx?sessionguid=3d64497f-0d38-4e35-9280-4d0095dea22d"&gt;Making the most of Search in SharePoint Online&lt;/a&gt;.&amp;#160; I am beyond excited about this talk because I get to talk about Search and SharePoint Online in the same talk.&amp;#160; You might just be amazed at what you can do with Search in the cloud.&amp;#160; I’ve got some great demos built using Silverlight and the Search API that you will want to see whether you want to extend search off-premises or on-premises.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Enough with the shameless plug. :)&amp;#160; Get ready and I’ll see you at the conference.&amp;#160; You can follow me on twitter &lt;a href="http://twitter.com/coreyroth"&gt;@coreyroth&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://www.dotnetmafia.com/aggbug.aspx?PostID=5164" width="1" height="1"&gt;</description><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Presentations/default.aspx">Presentations</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SPC11/default.aspx">SPC11</category></item><item><title>Speaking at SharePoint Conference 2011 (#SPC11)</title><link>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2011/09/15/speaking-at-sharepoint-conference-2011-spc11.aspx</link><pubDate>Fri, 16 Sep 2011 04:02:47 GMT</pubDate><guid isPermaLink="false">ceb7fe2a-c56b-4d85-99e6-8dd548580538:5134</guid><dc:creator>CoreyRoth</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.dotnetmafia.com/blogs/dotnettipoftheday/rsscomments.aspx?PostID=5134</wfw:commentRss><comments>http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2011/09/15/speaking-at-sharepoint-conference-2011-spc11.aspx#comments</comments><description>&lt;p&gt;Since I first stepped foot at #SPC09, I knew I wanted to speak at a SharePoint Conference some day..&amp;#160; This year that dream has finally become a reality.&amp;#160; I have the honor to present two different sessions at &lt;a href="http://www.mssharepointconference.com/Pages/default.aspx"&gt;SharePoint Conference 2011&lt;/a&gt;.&amp;#160; I am speaking on subjects that are both old and new to me and I am excited to see how they turn out.&amp;#160; &lt;/p&gt;  &lt;p&gt;My first talk is &lt;a href="https://twitter.com/#!/search/realtime/%23spc348"&gt;#SPC348&lt;/a&gt; – &lt;a href="http://www.mssharepointconference.com/pages/sessiondetailsShort.aspx?sessionguid=9ce707cc-464f-41f5-880b-8f8d49a56cfd"&gt;Extending SharePoint 2010 for your customers and partners&lt;/a&gt; will cover everything you wanted to know about creating an Extranet with SharePoint 2010.&amp;#160; Although, this topic is nothing new, this is a great talk for people just now looking to consider an extranet for his or her organization.&lt;/p&gt;  &lt;p&gt;My second talk is &lt;a href="https://twitter.com/#!/search/realtime/%23spc364"&gt;#SPC364&lt;/a&gt; – &lt;a href="http://www.mssharepointconference.com/pages/sessiondetailsShort.aspx?sessionguid=3d64497f-0d38-4e35-9280-4d0095dea22d"&gt;Making the most of Search in SharePoint Online&lt;/a&gt;.&amp;#160; I am beyond excited about this talk because I get to talk about Search and SharePoint Online in the same talk.&amp;#160; You might just be amazed at what you can do with Search in the cloud.&amp;#160; I’ve got some great demos built using Silverlight and the Search API that you will want to see whether you want to extend search off-premises or on-premises.&lt;/p&gt;  &lt;p&gt;I’m looking forward to giving my sessions and seeing all of my friends out there in the SharePoint community.&amp;#160; I’m excited to meet some new friends out there as well.&amp;#160; If you’re going to be in Anaheim this year for the conference, feel free to say hi and check out my sessions.&amp;#160; Thanks for all of your support especially for all my friends at the &lt;a href="http://h-spug.org/SitePages/Home.aspx"&gt;Houston SharePoint Users Group&lt;/a&gt; (&lt;a href="https://twitter.com/#!/search/%23hspug"&gt;#HSPUG&lt;/a&gt;)&amp;#160; I’ll see you all in Cali.&lt;/p&gt;&lt;img src="http://www.dotnetmafia.com/aggbug.aspx?PostID=5134" width="1" height="1"&gt;</description><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Presentations/default.aspx">Presentations</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SharePoint+Online/default.aspx">SharePoint Online</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Office+365/default.aspx">Office 365</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/Office+365+Grid/default.aspx">Office 365 Grid</category><category domain="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/tags/SPC11/default.aspx">SPC11</category></item></channel></rss>