SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

40
Real-life experience building search-driven applications for product-centric sites Marius Constantinescu Switzerland, GMT+1 April 16 th /17 th , 2014

description

Though at first it seems the easiest sites to build, challenges and questions appear: what if I want to build an Knowledge base, or a policies and procedures site, or global news/events or , integrate or link TermSets in managed navigation, what about friendly-urls, how to define contextual filters, adaptive interfaces & user segmentation, inherited content types, configure content sources or display templates, what about multi-language, and more? To get answers to this and many more questions - join for the session exposing a real-life project built around these new features.

Transcript of SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Page 1: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Real-life experience building search-driven applications for product-centric sites

Marius ConstantinescuSwitzerland, GMT+1

April 16th /17th, 2014

Page 2: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

MVP SharePoint, acting as Solution architect focusing on solutions around enterprise content management & collaboration, search, customizations, frequently involved in information architecture and governance planning or integration solutions. MCT for more than 5 years, holding a number of professional certifications around SharePoint, Office 365 and Web solutions, one of the leaders of the Swiss SharePoint Club, frequent speaker at events.

Marius ConstantinescuManaging Consultantblue-infinity SAGenevaSwitzerland

Contact

@[email protected]://nettitude.wordpress.com

Page 3: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

1.Introducing organizational scenario1. Looking for new innovative ways of accessing content

2.Understanding Cross-site content publishing

1. Why another way of content publishing?2. What are content Catalogs and why do we need them?3. Cross-site publishing vs. In-Place publishing

3.Does it really work ? > our experience, trade-offs, solutions

1. Authoring vs. Publishing sites > Content types, Catalog connections, Crawled/Managed properties, refiners

2. Managed Metadata driven navigation > SEO, friendly-URLS

4.Search-driven applications1. Content sources, Query results, Query rules, Display templates2. Adaptive Search and user segmentation3. Usage analytics, recommendations

Agenda

Page 4: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Organizational content aggregation Source > Collaboration

Workspaces Multiple collaboration site

collections Each to its own content

publishing processes & security management

Target > Published Intranet Flexible content publishing

with respect to security rules already in place

Support content aggregation across multiple sources

Multilingual support Relevant content targeting Usage tracking Performance considerations

Page 5: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Process – planning & preparationsI. Planning

Identified authoring sites, interviewed owners, identify current content publishing processes

Mapped-out existing content across various site collections, including security

Identified fields meant for sharing, filtering, sorting or querying across

II. Preparations1) At source

Deployed new structures (sub-sites, lists, etc.) to better serve our content rollup needs > new IA promoting consolidated content types, site columns, taxonomy

Enable lists as Catalogs Use PowerShell (and migration tools) to migrate

existing content into new structures Re-classify content where needed Establish common Assets location, update links

2) At Destination Prepare target publishing sites topology

3) At Farm level Configure dedicated Content Source & Crawling

schedule in Search SA for the cross-site publishing (enlist Catalogs into Content Source)

Run a Full-Crawl

Page 6: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Business value of Search-driven publishingIndependent Authoring and Publishing

Promotes Content reusability Clear separation of responsibilities Support for Multilingual content publishing scenarios

Build next-gen user interfaces Advanced query building capabilities empowering Information Workers Freedom of choice in applying different layouts to category/items pages Display templates (for refiners, search results, etc.) for unprecedented

UI flexibility

Power of search Analytics and recommendations Scaling and performance Across site collection boundaries Automatically updated UX

Page 7: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

On-premises vs. Online features availabilityGenerally available• Query rules, display templates, rank models, managed navigation, search

schema, analytics & recomandations, entity extraction, CSOM, KQL, query builder, result sources

Available in Office 365

• Content Search web part (CSWP), Content Iterm Reuse Web Part (CIRWP)• Cross site publishing (XSP) & Category/Item page layouts

On-premises only• Product catalog site collection template• User segmentation and adaptative interfaces• Taxonomy Refinement Panel Web Part  • Faceted navigation – supports taxonomy refiners• No Suport for Anonymous access for XSP (e.g. Public web-sites)

Page 8: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Knowledge Center – our solution

Central Publishing site acting as knowledge hub

Tabbed user interface aggregating various type of content (News, Tips & Tricks, Articles)

Customized master & unified page layouts for multiple “products”

Faceted navigation using tabbed widgets showing composite refiners using article managed metadata

Page 9: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Benefits of using cross-site content publishing

Separate presentation from storage• Different teams working on content

& design• Choice of design on authoring vs.

published sites

Flexible and dynamic• Can be used virtually for any type of

list (not only Pages)• Multiple authoring sites > multiple

publishing sites

Breaking down site collection boundaries• Write once > reuse multiple times• Easily publish content across site

collections – not using Content Deployment

Eliminate large list thresholds• Take advantage of search high

performance• Ability to distribute content across

many lists/libraries, with adequate security

Allows flexible & dynamic publishing• Whenever you want, wherever you

want

Page 10: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

XSP Building blocks

Content Catalogs

Faceted navigation, Refiners•Managed Navigation•Managed properties

Content Search, Catalog Item

Reuse Web parts

Query Builder

Page 11: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

XSP Search driven architecture

CRAWLER

Index

Documents

Pages

Catalogs

Digital Assets

SharePoint Content

Searc

h

Query

Rule

s

Reco

mm

endati

on

s

Share

Poin

t A

PI

Pag

e F

ram

ew

ork

Web

Part

Fr

am

ew

ork

Publishing

WWW

LOB Data store

External

SEO

Managed Navigation

Content

Query

Content

Search

Publishing Page

Term Context

Page 12: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Cross-site content publishing process >simplified view

Content Source• Authoring Site Collection(-s)• List(-s) to share as Catalogs• Configure anonymous access• Primary key fields (used in

building the final unique URL to the “product”)

• A Managed metadata column used in the Category-based navigation

Search & Faceted Navigation• Share navigational Term-Sets• Prepare for Faceted navigation

> used for Category browsing (generic or specific)

• Define Refiners (term-specific or same for all)

Content Destination• Target Publishing Site

Collection (-s)• Connect to Catalogs• Select “product” ID &

[Group]• Establish URL building

User Interface• Select/Customize Master Pages,

Category & Item pages• Customize Search Display

templates• Search/Catalogs web parts

(Relevant or Recommended results)

• User Segmentation

Not using “Product Catalog” site template for Authoring site requires activation of the “Cross-Site Content Publishing” site collection feature + creation of appropriate site columns used later as managed properties, category navigation, “product” unique Id, etc.

The “Product Catalog” site template does not exist in Office 365

Page 13: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

…a little more insight into the XSP process

Deploy content types at site

collection level [recommended]

Deploy site columns vs. list columns[If any] Create

custom lists, attach content types

Populate (& publish) all fields needed as Managed Properties

Enable lists as Catalogs

Run Full-Crawl

Deploy

Activate Cross-Site Collection

Publishing“Publishing”

site NOT required (but

recommended when

variations will be used)

Prepare

Identify Authoring site(-s), consider

multilingual, content security strategies

Identify data to publish across >

content types hierarchies & shared

site columnsConsider faceted

navigation hierarchy & refiners

Consider the one column to hold the

Unique Item Id

Plan

A. Either start by using the “Product Catalog” site collection

It run as a Publishing site, and activated “Cross-site Collection Publishing” site collection feature – enables the “Use as Catalog”,

Added the Product Catalog list with Content types (Product & Product with Image)

Site Columns (Item Number, Group Number, Language Tag, Item Category & Rollup Image)

B. Any other site template (including existing sites) would require redoing the steps & structures manually

1. Preparing authoring site(-s)

[Office 365] - The “Product Catalog” template does not exist (choose option “B”)

Page 14: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Master data planning and deploymentMultiple Content Types scenario:

• Define base Content type - not needed to inherit from default ”Product with Image” (do consider adding a sort of unique “product Id” – for friendly-URL building)

• Consider specificities of each product & plan adequate columns for each “product-specific refiner”

• Faceted navigation – one or multiple managed metadata columns can be used to build navigational hierarchies.

• [Recommendation] Do not think a too deeper hierarchy (< 3) – allow for additional refiners in specific cases.

Televisions Laptops Cameras

Title Title Title

Brand Brand Brand

Description Description Description

Price Price Price

 Item Number Item Number Item Number

Technology (LED; LCD, Plasma)

CPU Type(DSLR, Bridge, etc.)

Max- Resolution(720P, 1080i, 1080P)

Screen Size Optical Zoom

Screen-Size (40,42, 50, 60) Hard Drive Lens Type

Tip – columns added by default “Product with Image” content type are automatically added as Managed Properties – for your custom ones you need to consider doing it manually.

Page 15: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Master data planning and deployment

News Announcements Classifieds Events

Title Title Title Title

Start Date Start Date Start Date Start Date

Description Description Description Description

Category (Science, Technology, Sports, )

Category Category (Automotive, Real-Estate, Carrier, Pets, )

Category

  Expiry Date Expiry Date End Date

Scope(Local, Regional, Global)

Scope Scope Scope

Accessibility (Private, Public, Team, Project, Department, )

Accessibility Accessibility Accessibility

 TypeHire, Retirement, Policy

TypeReal-Estate > Buy, Sell, Rent, Professional Services

Type (Meeting, Holidays, )

Define the shape of the data to be used

• Map the data, identify Entity specific attributes

• Define Content types - a ”Product with Image” provided with default “Product Catalog” list

• Reuse shared site columns

• At least one column must be Managed Metadata (Item Category - by default already mapped to “Product Hierarchy”) – used to define managed Navigation

• When creating columns use SingleWordsWithNoSpaces ( or special Characters – this will become Internal name (fixed) > rename will only update Display Name

• By default Approval is ON – either approve items or disable it prior to Full Crawl – items is ignored otherwise.

Tips• Site Columns get promoted as managed properties in search (but

only as Text columns)• Create your own base CT to have others inherit from - idea of

sharing same common base• Content Type Hub (not available in Office 365) or Solution-based

deployment could be an option

Page 16: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Documents

Catalogs

PagesDigital Assets

SharePoint Content

www

Ext. CMSLOB + more

External ContentUser Behavior (+custom events)

Content & Authoring FAST Search Publishing User Experience

REST/OData

Managed Navigation

Page Framework

Content Search WP

Display Templates

Devic

e C

hann

els

Vari

ati

ons

Dis

pla

y T

em

pla

tes

Query

Reports

FAST Index

Reco

mm

end

ati

on

s

Query

Rule

Engin

e

Cra

wle

r

Analysis Services

Page 17: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Steps & considerations impacting your deployment…

Faceted navigation & Refiners

Configuring

Page 18: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Configuring Metadata-driven navigation

Page 19: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Metadata driven navigation, cont.

• Linked termsReused terms between term sets

• Pinned termsBlocks changes to linked terms (read-only)

3

1

2

Page 20: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Faceted navigation & RefinersAsk yourself

Multiple Content types? Which columns should be searchable,

used in filters? What information will be used in the

Navigation hierarchy > terms should be pinned or not?

Define content types Shared (Reusable) Columns Preferable to use Site columns vs.

List columns

Identify data facets > future refiners (filters) Could be different per “product”

(catalog item) must be configured

Product

CodeTitle

Television

Display Type (LCD, LED, Plasma)HD-Ready (720P, 1080P, UHD)

DescriptionPrice

Computer

CPU

Screen Size (13, 14, 15, 17)

Camera

Type (DSLR, Point'n'Shoot)Resolution (in MegaPixels)

All from Product +

Screen Size (40, 55, 60, 77)

Hard drive

RAM Optical Zoom (24x)Digital Zoom (12x)Lens TypeStorage Format (SDHC, SD)

CodeTitle

DescriptionPrice

TitleDescriptionPrice

TitleDescriptionPrice

Code Code

Page 21: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

What are they and why we need them?Refiners are filters narrowing search

results

They come in different types and shapes – tightly related to underlying data type

[New] Range-based (sliders) and multi-valued refiners are available

Only managed properties can be configured

[New] Via the use of «Yes latent» Farm Administrators can delegate to a Site Collection administrator the possibility to decide.

[New] Refinement web parts can now be configured individually in-page (horizontal or vertical)

Refiners – why use them?

Page 22: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Make sure data exists for each column before a Full Crawl

[New] Site Collection Admins can trigger re-index

Journey from field > crawled / managed property > refiner

Site columns, Managed properties, Refiners

Televisions[Catalog]

Cameras[Catalog]

Computers[Catalog]

Content Search Web Part

Managed Properties

Content Search Web Part

Content Search Web Part

Title

ows_q_TEXT_ ProductCatalogItemNumber

ows_q_TEXT_ ProductCatalogGroupNumber

ows_taxId_ ProductCatalogItemCategory

ows_r_IMGE_ PublishingRollupImage

ows_q_CHCS_ DeviceScreenSizeSite Column

Title

Brand

DeviceScreenSize

Site Column Type

Single line of text

Managed Metadata

Choice

1

Crawled Properties

2 3

Title

ProductCatalogItemNumberOWSTEXT

ProductCatalogGroupNumberOWSTEXT

owstaxIdProductCatalogItemCategory

PublishingImage

DeviceScreenSizeOWSCHCS

4

Refiners

Refiners

Automatically created managed properties are created with TEXT data type

Tips• The Catalog Item Reuse WP auto detects rendering mechanism based on the naming of managed

properties

Page 23: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Farm Admins can use the NEW “Yes-Latent” to allow promotion by Site Collection administrator & avoid the need to Full Crawl

Map properties starting with ows_PropertyName

• Indexed property bag used to flag lists enabled as Catalogs [IndexedRootFolderPropertyKeys: {PublishingCatalogSettings, IsPublishingCatalog}],

further mapped to IsPublishingCatalog managed property

• Automatically created managed properties are created with TEXT data type (except for Person and Managed Metadata) All site columns require manual mapping to proper types (*)

Either loose capability to use proper comparison (e.g. Price, Size, Width) Either require use of JavaScript to re-format data in the refiner display template

Require marking them as Queryable & Refinable

• Use automatically mapped Refiner groups (especially in Office 365) RefinableDate00/19, RefinableDecimal00/09, RefinableDouble00/09

RefinableInt00/49, RefinableString00/99

• Columns in standard Catalog lists are automatically mapped

…putting the pieces together

(*) Require either Farm Administrator or Search SA administration delegation – unless provided groups are usedRead more @ http://nettitude.wordpress.com/2013/10/17/introducing-indexed-property-bag-in-sharepoint-2013-a-searchable-collection-of-properties/

Page 24: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Faceted navigation & refiners Content Item reuse web part Content Search web part Display templates for custom refiners, catalog, search results

User experienceConsiderations

Page 25: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Cornerstones of a product-centric site

Category & item pages

Term-driven pages

Page 26: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Category & product item pagesCategory page Catalog-Item Page

Page 27: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Configuration of Term-Driven pages

Page 28: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

…anatomy of the term-driven Category page

• The actual Catalog(contentclass:sts_listitem OR IsDocument:True) SPSiteUrl:http://contoso/sites/catalog ListId:3a3f66cd-9741-4f15-b53a-b4b23c3187ea

• The Category column owstaxidProductCatalogItemCategory• The term under selection (its GUID) #c771504f-6a2f-423f-98de-0e12fcfa08c9

(:) is the actual separator specifying the “contains”

Page 29: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

…anatomy of the term-driven Item page Content Item Reuse default Web

part is automatically provisioned with the default “Product Item”

Page 30: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

...configuring URL buildingClick icon to add picture

Page 31: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Giant step towards modern web

Why the need for

new concept

s?

Editing XSLT is a cumbersome - even for the veteransModern Web requires Standardization – empower Power-UsersClient-side "templating" techniques are current trends (e.g. Knockout, Kendo UI, Razor)What

are design templat

es?

Re-usable Styles Files for your Content based & Search Results Web-Parts

Where does one

use "Design

templates"?

Search Results & Web parts, Catalog reuse web parts

What does one need

to create a new

template ?

Access to Master Page libraryYour favorite web development tool (even Notepad) to create them

To eliminate the for designers and power users to work with XSLT (and the use of ddwrt JavaScript functions) each time they a new look & feel is needed, SharePoint 2013 introduces Design Templates.

Each display template consists of two files (in Master Page library under Display templates):

An HTML file (.html) - the actual template

JavaScript File (.js) - the script that makes the magic happen – automatically generated

jQuery supported, or custom JavaScript and CSS

Custom managed properties can be displayed (from search results)

Design Templates

Page 32: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Applying display templates to a result source

Control Display Template

Which Control Display Template

Page 33: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Ranking & relevance Recommendations

Monitor & improve

Fine tune your deployment

Page 34: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

How usage analytics, recommendations can improve relevance

Usage AnalyticsThe importance of

Page 35: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Analytics processing component

Search Analytics

• Analyze content being added into the index (such as links, anchor text) and together with clicks on search results gets added into the Links database, leading further to improved relevance & reporting.

Usage Analytics

• User’s actions (such as Clicking on links, viewing search results) generate usage events (standard or custom) which can further contribute to recommendations, popularity reports, most viewed links, etc.

Search Anal

ytics

•Search Clicksboost/demote ranking of items in the search index based on user clicks•Deep Linksimprove relevance of sub-pages in a site based on what user clicks in results

Usage A

nalytics

•Usage Countshow many times items (in lists/library & search results) are Viewed, Clicked•Recommendationsidentify patterns in usage, relying on Usage Counts to build relationships graphs•Activity rankinganalyses trends & adapts ranking of items in search results based on the Usage Events

Page 36: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Usage analytics – how does it work ?1) Views – a usage event is registered when

a visitor views an item on your site (event type ID 1)

2) Recommendation1) Displayed (ID 2) – a usage

event is registered when an item is displayed as a recommendation on your site.

2) Clicked (ID 3) – a usage event is registered when a visitor clicks an item that is displayed as a recommendation on your site.

• Map a single crawled property to UsageAnalyticsID managed property to support recommendations

• Property must be part of the URL for the Usage Event to be recorded properly

• At least 3 different users must be performing the activity

• Log events pointing to item URL in the Authoring site

#Get Usage events available$ss = Get-SPEnterpriseSearchServiceApplicationProxy$ssp.GetAnalyticsEventTypeDefinitions([Guid]::Empty, 3) | ft

More at http://blogs.technet.com/b/tothesharepoint/archive/2014/01/21/modify-the-content-search-web-part-display-template-and-use-windows-powershell-to-start-usage-analytics-in-sharepoint-server-2013.aspx

Page 37: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

Ranking

• Ranking models compute search results relevance through rank evaluation generating a rank score classified in 3 main groups (General, People & Special).

• Ranking can be influenced by• Query rules (prioritize promoted

results, add additional result blocks, directly influence ranking – dynamic ordering, sorting, query-based use of a different ranking-model, etc.)

• Search Schema (adapt contribution weight by changing context of targeted managed properties) – requires Farm /Search Service Administrator

• Custom ranking model

• Default Search model• Search Ranking Model with

Two Linear Stages

General

• Catalog Ranking Model• Popularity Ranking Model• Recommender Ranking

Model

Special

People

Page 38: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

SP24 Search SessionsSession

Time (GMT)

Time (EST) Title Level Speaker Twitter

#SP24S090 5:00 1:00Using the Content Enrichment Web Service with SharePoint Server 2013 Search

Technical - AdvancedSezai Komur - NEC Australia

@sezai

#SP24S021 6:00 2:002013 Search, Display Templates, Query Rules, Result Types

Technical - BeginnerOmer Zubair - CSC

@Omer_Zubair

#SP24S047 8:00 4:00Real-life experience building search-driven applications for product-centric sites

Technical - AdvancedMarius Constantinescu - blue-infinity SA

@c_marius

#SP24S032 10:00 6:00Custom Indexing Connectors - How to integrate external system into your SharePoint Enterprise Search

Technical - AdvancedHeinrich Ulbricht - Communardo Software GmbH

@h_ulbricht

#SP24S083 11:00 7:00Search First Migration with SharePoint 2013 – Benefits / Disadvantages

Technical - IntermediateMax Melcher - Alegri International Service GmbH

@maxmelcher

#SP24S034 14:00 10:00The Search Immaturity Cycle, and How to Create a Search Strategy

Business - IntermediateJeff Fried - BA Insight

@jefffried

#SP24S009 16:00 12:0010 Things to Know about Search in SP2013 and Office 365

Business - BeginnerAgnes Molnar - Search Explained

@molnaragnes

#SP24S019 18:00 14:00 Search Topology and Optimization Technical - AdvancedMike Maadarani - MCM Consulting

@mikemaadarani

#SP24S050 22:00 18:00Search Driven Application Development in SharePoint 2013

Technical - IntermediateMatt Youngstrom - Magenic

@spguru

Page 39: SP24 online conference April 17, 2014 > Real-live experience using cross-site content publishing

...the anchor will pick some of them up!

Questions?Post your questions in the chat...