Customizing SharePoint 2013 search display templates

Preview:

DESCRIPTION

Customizing SharePoint 2013 search display templates

Citation preview

Customizing SharePoint 2013 Search for On-premise and Office365 environmentsTony Testa

Bio

SharePoint Consultant with Premier Logic

Former SharePoint MVP (2010)

Development focused

http://www.tonytestasworld.com

awtesta@gmail.com

Twitter: @awtesta

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

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

Display Templates allow for HTML/JS customization Results Hover Panels Search box Refiners No more XML/XSLT!

Site/Site Collection/Cental Admin config options

Crawled properties auto promoted to Managed Properties

Anatomy of a search request

1. Applying any Web 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.

Result Source

Replace 2010 Scopes

Per TechNet: "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

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: Local Video Results {searchTerms?} {?path:{Scope}} {?

owstaxIdMetadataAllTagsInfo:{Tag}} (ContentTypeId:0x0120D520A808* OR (SecondaryFileExtension=wmv OR SecondaryFileExtension=avi OR SecondaryFileExtension=mpg OR SecondaryFileExtension=asf OR SecondaryFileExtension=mp4 OR SecondaryFileExtension=ogg OR SecondaryFileExtension=ogv OR SecondaryFileExtension=webm))

Result Types

Main point of this talk

Per TechNet: 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 Microsoft Word, Microsoft PowerPoint,

Video,PDF,Person,SharePoint List

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

Demo: Result Source/Type

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

Demo: Display Templates Overview

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

Demo: Display Template

Demo: Display Template Modifications

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

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

When in doubt, look at OOTB templates

There are ~ 90 OOTB templates that you can look at

Demo: Hover Panel

Demo: Refiner Template

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

Display Templates, Hover Panels, Refinement

What can’t be done External calls with jQuery /custom WCF service may not

work or may be more trouble than they are worth

Demo: Office 365 Display Template

Demo: Debugging Techniques

Demo: How can I deploy my modifications ?

SharePoint User Group

• SharePoint

• End Users

• Administrators

• Architects

• Developers

• IT Pros

• Meetings: 2nd Tuesday of the month, Microsoft Malvern, 5:30-8 pm

WEB: www.TriStateSharePoint.org

EMAIL: info@TriStateSharePoint.org

TWITTER: @tristateSP

Recommended