Customizing SharePoint 2013 search display templates


Published on

Customizing SharePoint 2013 search display templates

Published in: Technology, Business
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Customizing SharePoint 2013 search display templates

  1. 1. CustomizingSharePoint 2013Search forOn-premise andOffice365 environments TonyTesta
  2. 2. Bio  SharePointConsultant with Premier Logic  Former SharePoint MVP (2010)  Development focused    Twitter: @awtesta
  3. 3. What was available in SharePoint 2010?  Scopes / Rules / Crawled Properties / Managed Properties  Central Admin / Search Service  Some site/site collection specific options  Heavily XML/XSLT based to customize results  SQL Syntax and KQL syntax
  4. 4. What’s new for search in SharePoint 2013  Search greatly improved, FAST incorporated  Search Syntax  FQL – FAST Query Language  KQL – Keyword Query Language  SQL Syntax is gone  Continuous Crawling  Result Sources replace scopes  DisplayTemplates allow for HTML/JS customization  Results  Hover Panels  Search box  Refiners  No more XML/XSLT!  Site/SiteCollection/Cental Admin config options  Crawled properties auto promoted to Managed Properties
  5. 5. Anatomy of a search request 1. Applying anyWeb Part transforms. 2. Applying any query rules.A query rule action can either transform the original query or it can trigger a parallel query that is transformed for a result block. 3. Applying any query transforms on result sources. 4. Parsing the query and creating a query syntax tree for internal use. 5. Processing the query linguistically by performing word breaking, stemming, spelling correction, and synonym expansion. 6. Appending user-access information to the query.This specifies the user who is performing the query and the permissions that the user has. 7. Sending the query to the search index or another search provider. 8. Collecting and merging search results from all search providers and sending them back to the query processing component. 9. Evaluating the search results against result types. If a result matches a particular result type, the result is displayed by using the display template that you have specified for the result type. 10. Applying additional security trimming, if appropriate.
  6. 6. ResultSource  Replace 2010 Scopes  PerTechNet: "In SharePoint Server 2010, scopes and federated locations provided ways to limit searches to a certain set of content or subset of search results. In SharePoint Server 2013, result sources replace scopes and federated locations.“  When a user issues a query, the search system associates the query with a result source to provide search results.  There are 16 pre-configured result sources
  7. 7. Query Transforms  Part of Result Sources  Allows you to “transform” the users incoming query so that its more specific and returns only desired content  Example: LocalVideo Results  {searchTerms?} {?path:{Scope}} {?owstaxIdMetadataAllTagsInfo:{Tag}} (ContentTypeId:0x0120D520A808* OR (SecondaryFileExtension=wmv OR SecondaryFileExtension=avi OR SecondaryFileExtension=mpgOR SecondaryFileExtension=asf OR SecondaryFileExtension=mp4OR SecondaryFileExtension=oggOR SecondaryFileExtension=ogv OR SecondaryFileExtension=webm))
  8. 8. ResultTypes  Main point of this talk  PerTechNet: A rule that causes distinct kinds of search results to be displayed in different ways  One or more characteristics or conditions to compare each search result against, such as the result source or content type of the search result  A display template to use for search results that meet the conditions.The display template controls the way in which all results that meet the conditions appear and behave on a search results page.  31 OOTB result types  MicrosoftWord, Microsoft PowerPoint, Video,PDF,Person,SharePoint List
  9. 9. Query Rules  Allows admins to help respond to the intent of a users query  Help the users to help themselves  example  If a rule is met, additional actions can be performed  Add Promoted Results  Add Result Blocks  Change result rankings  Can be configured with publishing settings  Set rules to expire  Could be helpful in internet publishing site scenarios
  10. 10. Demo: ResultSource/Type
  11. 11. Display Templates  Allow for customizing search results granularly  Very extensible  Imagination is the only real barrier  Lots of 3rd party options; jQuery, Knockout, etc.  Types  Item  Hover Panel  Refiners  Search Box  HTML/Javascript based  No more XSLT !  Uses Client-side Rendering (CSR)  Similar to new masterpages, you edit the HTML and JS files is generated for you  Can be leveraged in search results as well as content search web part
  12. 12. Demo: DisplayTemplates Overview
  13. 13. What can/can’t be done in Display Templates  What can be done  Localization  Client side code  Calling web services  Css style  What can’t be done  I’ve noticed some issues when you want to use the tenant/site collection admin; have to leverage existing managed props if you want a refinable or sortable prop
  14. 14. Demo: DisplayTemplate
  15. 15. Demo: DisplayTemplate Modifications
  16. 16. What is the ctx object and what does it do?  Best explanation I have at the moment is that it’s a “context” object that has the properties for the result  Best to look at it in chrome by adding “debugger;” line  Where to go for documentation  ????Google seems to be of no use  Look at OOTB templates for MS uses
  17. 17. What is the Srch.U object / namespace  Similar to the ctx object, I don’t have a great answer  Best to look at it in chrome by adding “debugger;” line  Seems to have helper methods  You can learn a lot by looking at debugger output  Where to go for documentation  ????Google seems to be of no use  Look at OOTB templates for MS uses
  18. 18. When in doubt, look at OOTB templates  There are ~ 90 OOTB templates that you can look at
  19. 19. Demo: Hover Panel
  20. 20. Demo: RefinerTemplate
  21. 21. What can/can’t be done on Office 365  What can be done  Most of basic search stuff I’ve shown  Sources/Types  Modifying look and feel of results  DisplayTemplates, Hover Panels, Refinement  What can’t be done  External calls with jQuery /customWCF service may not work or may be more trouble than they are worth
  22. 22. Demo:Office 365 DisplayTemplate
  23. 23. Demo: DebuggingTechniques
  24. 24. Demo: How can I deploy my modifications ?
  25. 25. Platinum Gold Silver Web
  26. 26. SharePoint User Group • SharePoint • End Users • Administrators • Architects • Developers • IT Pros • Meetings: 2nd Tuesday of the month, Microsoft Malvern, 5:30-8 pm WEB: EMAIL: TWITTER: @tristateSP