Farewell XSL, Welcome Display Templates SPSNL

53
Farewell XSL, Welcome Display Templates

Transcript of Farewell XSL, Welcome Display Templates SPSNL

Page 1: Farewell XSL, Welcome Display Templates SPSNL

Farewell XSL, Welcome Display Templates

Page 2: Farewell XSL, Welcome Display Templates SPSNL

”I’m a SharePoint consultant with a passion for branding and development”

Elio Struyf

SharePoint Consultant

Xylos

Belgium

Contact

@eliostruyf

www.eliostruyf.com

[email protected]

Page 3: Farewell XSL, Welcome Display Templates SPSNL

The Past & Present

What are Display Templates?

What to do before we start

Creating Display Templates

Troubleshooting

Tips & Tricks

Page 4: Farewell XSL, Welcome Display Templates SPSNL

The Past

SharePoint 2007 / 2010

Page 5: Farewell XSL, Welcome Display Templates SPSNL

Showing the latest documents

Libraries

CQWP

Page 6: Farewell XSL, Welcome Display Templates SPSNL
Page 7: Farewell XSL, Welcome Display Templates SPSNL

Show the latest documents of various site collections

CQWP

Site Collections

Search Core Results

Page 8: Farewell XSL, Welcome Display Templates SPSNL

Just again another day with XSL

Page 9: Farewell XSL, Welcome Display Templates SPSNL

Here & now

Office 365 / SharePoint 2013

Page 10: Farewell XSL, Welcome Display Templates SPSNL

HTML

Comment -JS

Page 11: Farewell XSL, Welcome Display Templates SPSNL

Office 365 – SharePoint 2013

CSWP Enterprise Licence – Office 365 E3 & E4

Page 12: Farewell XSL, Welcome Display Templates SPSNL

Show the latest documents of various site collections

Site Collections

Crawl

Search CSWP

Page 13: Farewell XSL, Welcome Display Templates SPSNL

Comparison

Content Query WP

• Site collection limitation

• XSLT

• Instant results

• Server Side Rendering

• Client Performance

• Minor / major versions

Content Search WP

• No site collection limitation

• Display Templates

• Requires a crawl

• Client Side Rendering

• Server Performance

• Only major versions

Page 14: Farewell XSL, Welcome Display Templates SPSNL

Query Builder

Page 15: Farewell XSL, Welcome Display Templates SPSNL

Let’s welcome display templates

Page 16: Farewell XSL, Welcome Display Templates SPSNL

What are Display Templates?

Page 17: Farewell XSL, Welcome Display Templates SPSNL

What does it do?

File extension Title + Path

Path

Document summary

Page 18: Farewell XSL, Welcome Display Templates SPSNL

Logical structure

Specifies which query and templates will beused.

Provides the overall layout how

you want to present the results.

Ex: list, list with paging, slideshow.

Defines how the item

itself needs to be

rendered.

Page 19: Farewell XSL, Welcome Display Templates SPSNL

Where are they used?

Page 20: Farewell XSL, Welcome Display Templates SPSNL

Before we start

Page 21: Farewell XSL, Welcome Display Templates SPSNL

What to do before we start?

Page 22: Farewell XSL, Welcome Display Templates SPSNL

Creation process

Page 23: Farewell XSL, Welcome Display Templates SPSNL

Creating a Display Template

Page 24: Farewell XSL, Welcome Display Templates SPSNL

The end result

Page 25: Farewell XSL, Welcome Display Templates SPSNL

Control Display Template

Page 26: Farewell XSL, Welcome Display Templates SPSNL

Control Template Recap

Page 27: Farewell XSL, Welcome Display Templates SPSNL

Item Display Template

Page 28: Farewell XSL, Welcome Display Templates SPSNL

Item Template Recap

Page 29: Farewell XSL, Welcome Display Templates SPSNL

Event Handling

Page 30: Farewell XSL, Welcome Display Templates SPSNL

Event Handling Recap

Page 31: Farewell XSL, Welcome Display Templates SPSNL

Troubleshooting

Page 32: Farewell XSL, Welcome Display Templates SPSNL

Getting to know the values<xsl:template name=”Debug” match=”Row[@Style='Debug']” mode=”itemstyle”>

<xsl:for-each select=”@*”>

<xsl:value-of select=”name()” /><br />

xsl:value-of select=”.” /><br />

</xsl:for-each>

</xsl:template>

Page 33: Farewell XSL, Welcome Display Templates SPSNL

Diagnostic Template

Page 34: Farewell XSL, Welcome Display Templates SPSNL

Ultimate diagnostic display template

Page 35: Farewell XSL, Welcome Display Templates SPSNL

Ultimate diagnostic display template

Reference Mikael Svenson: http://elst.es/1oTLk4j

var folder = list.RootFolder;

var props = folder.Properties;

props["vti_indexedpropertykeys"] =

"UAB1AGIAbABpAHMAaABpAG4AZwBDAGEAdABhAGwAbwBnAFMAZQB0AHQAaQBuAGcAcwA

=|SQBzAFAAdQBiAGwAaQBzAGgAaQBuAGcAQwBhAHQAYQBsAG8AZwA=|";

props["IsPublishingCatalog"] = "True";

folder.Update();

BASE64: PublishingCatalogSettings|IsPublishingCatalog

Page 36: Farewell XSL, Welcome Display Templates SPSNL

SharePoint 2007

Page 37: Farewell XSL, Welcome Display Templates SPSNL

SharePoint 2010

Page 38: Farewell XSL, Welcome Display Templates SPSNL

Display Template Messages

Page 39: Farewell XSL, Welcome Display Templates SPSNL

Tips & Tricks

Page 40: Farewell XSL, Welcome Display Templates SPSNL

Only do your changes in the HTML files

Doing changes in JavaScript could end up in corrupt files

Tip 1

Page 41: Farewell XSL, Welcome Display Templates SPSNL

Do not modify OOTB display templates, create a copy instead

Remember the ItemStyle.xsl, we were all guilty

Tip 2

Page 42: Farewell XSL, Welcome Display Templates SPSNL

Searching where they are located?

Do not make it hard, place them in your own project folders.

Tip 3

Page 43: Farewell XSL, Welcome Display Templates SPSNL

If you’re writing lots of code

Do it in a separated JavaScript file, that way you can easier debug your solutions

Tip 4

Page 44: Farewell XSL, Welcome Display Templates SPSNL

Provisioning of display templates?

HTML Only publishing site Conversion takes time Needs extra coding

JS Quick and easy Leave the HTML in TFS

Tip 5

Page 45: Farewell XSL, Welcome Display Templates SPSNL

Check the values and types you retrieve

This could save you debugging time

Tip 6

Page 46: Farewell XSL, Welcome Display Templates SPSNL

Dare to open the JS files to check syntax errors

Because everything is written in HTML comments, it’s hard to see syntax errors

Tip 7

Page 47: Farewell XSL, Welcome Display Templates SPSNL

Want to do DOM changes via JavaScript?

Use the AddPostRenderCallback method

Tip 8

Page 48: Farewell XSL, Welcome Display Templates SPSNL

Keep in mind that it is CSR (client side rendering)

Keep it clean

Keep it fast

Tip 9

Page 49: Farewell XSL, Welcome Display Templates SPSNL

Learn to getting used to JavaScript

Very easy to start experimenting

Frameworks like jQuery could simplify the process

Tip 10

Page 50: Farewell XSL, Welcome Display Templates SPSNL

#SPCSRhttps://github.com/SPCSR

Page 51: Farewell XSL, Welcome Display Templates SPSNL

Questions?

Page 52: Farewell XSL, Welcome Display Templates SPSNL

Clean Search Results WP Display Templates - http://elst.es/1eClIBQ

Provisioning Display Templates - http://elst.es/1iGspnc -http://elst.es/1hhpqBj

What is Required for Display Templates - http://elst.es/1fr8RoV

Showing Alternating Rows - http://elst.es/1gE7oIl

Replacing the OOTB Small Search Input Box - http://elst.es/1eGeJYy

Ultimate Diagnostic Display Template - http://elst.es/1fnOyZR

References

Page 53: Farewell XSL, Welcome Display Templates SPSNL

THANK YOU