30
Customizing SharePoint 2013 Search for On- premise and Office365 environments Tony Testa

Customizing SharePoint 2013 search display templates

Embed Size (px)

DESCRIPTION

Customizing SharePoint 2013 search display templates

Citation preview

Page 1: Customizing SharePoint 2013 search display templates

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

Page 2: Customizing SharePoint 2013 search display templates

Bio

SharePoint Consultant with Premier Logic

Former SharePoint MVP (2010)

Development focused

http://www.tonytestasworld.com

[email protected]

Twitter: @awtesta

Page 3: Customizing SharePoint 2013 search display templates
Page 4: Customizing SharePoint 2013 search display templates

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

Page 5: Customizing SharePoint 2013 search display templates
Page 6: Customizing SharePoint 2013 search display templates
Page 7: Customizing SharePoint 2013 search display templates

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

Page 8: Customizing SharePoint 2013 search display templates

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.

Page 9: Customizing SharePoint 2013 search display templates
Page 10: Customizing SharePoint 2013 search display templates

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

Page 11: Customizing SharePoint 2013 search display templates

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))

Page 12: Customizing SharePoint 2013 search display templates

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

Page 13: Customizing SharePoint 2013 search display templates

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

Page 14: Customizing SharePoint 2013 search display templates

Demo: Result Source/Type

Page 15: Customizing SharePoint 2013 search display templates

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

Page 16: Customizing SharePoint 2013 search display templates

Demo: Display Templates Overview

Page 17: Customizing SharePoint 2013 search display templates

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

Page 18: Customizing SharePoint 2013 search display templates

Demo: Display Template

Page 19: Customizing SharePoint 2013 search display templates

Demo: Display Template Modifications

Page 20: Customizing SharePoint 2013 search display templates

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

Page 21: Customizing SharePoint 2013 search display templates

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

Page 22: Customizing SharePoint 2013 search display templates

When in doubt, look at OOTB templates

There are ~ 90 OOTB templates that you can look at

Page 23: Customizing SharePoint 2013 search display templates

Demo: Hover Panel

Page 24: Customizing SharePoint 2013 search display templates

Demo: Refiner Template

Page 25: Customizing SharePoint 2013 search display templates

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

Page 26: Customizing SharePoint 2013 search display templates

Demo: Office 365 Display Template

Page 27: Customizing SharePoint 2013 search display templates

Demo: Debugging Techniques

Page 28: Customizing SharePoint 2013 search display templates

Demo: How can I deploy my modifications ?

Page 30: Customizing SharePoint 2013 search display templates

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: [email protected]

TWITTER: @tristateSP