With a session focused on "customizations that can be made to Fast Search for SharePoint both at the back-end and front-end to drive great search experiences," I probably should've realized that I'd picked an advanced, intended-for-developers session to wrap up my second day at TechEd. Since I hadn't realized that, it's tightrope-walking time again for me in my role as TechEd reporter, seeing as I'm a non-developer. Needless to say, the usual provisos in such circumstances apply here, and any errors herein are mine alone, but through vigorous note-taking, I hope that my efforts to capture Mark and Dan's session will prove useful to developers out there.
The first point Mark made was that "Search is a special thing when it comes to SharePoint, because so much of what we can do [to create great end user experiences] doesn't involve code." Mark went on to list user experience, technology, and content as being the three things to think about in creating great end user experiences.
Explaining that "Everything runs though the Federation Object Model," which allows for extensibility, Mark said that Pipeline extensibility would also be part of Dan's demo. Mark also explained that once the crawler has crawled content, it hands it off to the Fast Content SSA where the Fast Content Processing Pipeline "breaks down content to the smallest addressable chunks to build meaning."
Dan took over for his first demo at this point, noting that SharePoint, Fast Search for SharePoint, SQL Server, and Visual Studio were all running. Starting with configuration for Pipeline extensibility code in Visual Studio, Dan built an executable for a "Sentiment Analyzer." Creating a console application project type named Sentiment Analyzer, Dan noted that debug properties can be added as properties are defined. The Analyzer works by fetching the body property from an input file, setting a value to the result, determining if it's positive or negative (i.e., Like or Dislike), looping through list of pre-defined adjectives for good or bad, tallying them up and outputting an item called Sentiment which reflects whether it's a Like or a Dislike. It was also necessary to run three PowerShell commands and then deploy so that "Fast knows about it."
Mark took over again to provide an overview of the out-of-the-box Fast Search Center experience, explaining that "The Core Results Web Part is the Web Part that interacts with the Federation OM." Following a brief overview of a conceptual view of a search query (ultimately, "Search results return to Web Parts, Refiners to the Refiners Panel"), the reins were handed back to Dan for another demo.
In his second demo, Dan went through the search query process on his custom Sentiment search results. Editing the Web Part in the Refinement Panel, he chose which refiners to bring back for Fast Search in the Filter category definition. Adding XML to the Web Part configuration to replace the default code with his own, Dan then unchecked Use default configuration. Checking the results of the changes, we saw the desired returns. Editing the Core Results Web Part, Dan made a couple changes, including the addition of a Sentiment column to Fetched Properties. With a test, the new field was coming back for each document as expected. Dan then went back to edit the Web Part page to make some changes in the XSL Editor to pass the Sentiment string into his (previously created) Display Sentiment template to do an XSL choose and, if it's a Like, add the SharePoint "I Like It" icon, as well as the Like tag for Fast. With another test, we again see the expected results, including the display of the Like icon next to "Liked" results.
Wrapping up with an already prepared demo site, Mark explained that its purpose was to show the same kinds of customizations, combined with business requirements to create a new user experience, and "taking it to the next level" in the process. Examples included "visual navigators" in the left rail accompanying Fast Search results and, most impressive, the ability to drag individual slides from PowerPoint slide previews in the search results preview and drop them into the right rail to create a new, custom PowerPoint deck on the fly directly in the browser. The idea with this demo site was to give an idea of the extent of what's possible using the concepts Dan had demonstrated earlier.
In conclusion, Mark suggested checking out their team's site, the Enterprise Search Tech Center, for further resources and additional examples.
Read our complete coverage of Microsoft TechEd North America 2011:
- 'Applying Branding from an Existing Website to Microsoft SharePoint 2010' with Jon Flanders
- 'Creating Self-Service Analytic BI Applications with Microsoft SharePoint 2010' with Peter Myers
- 'The 10 Immutable Laws of Microsoft SharePoint Security' with Rick Taylor
- 'Integrating Microsoft SharePoint 2010 and Microsoft Dynamics CRM Online' with Girish Raja
- Daniel Benson & Mark Stone on 'Creating Great End User Experiences with Fast Search for SharePoint 2010'
- 'Claims Identity in Microsoft SharePoint 2010' with Paul Schaeflein
- Chris Mayo on 'Developing Collaboration Solutions in the Cloud with Microsoft SharePoint Online'
- 'Creating Custom SharePoint Service Applications 101' with Todd Bleeker
- Aftab Alam & Chris Hopkins on 'IT-Centric Dashboards in Minutes with Microsoft SharePoint 2010 Using Microsoft Visio/Visio Services'
- 'Plan and Deploy My Site for Microsoft SharePoint Server' with Chris Gideon