SP 2013 – WCM For Developers Ed Musters, SharePoint MVP Twitter: @TechEdToronto
Nov 17, 2014
SP 2013 ndash WCM For DevelopersEd Musters SharePoint MVP
Twitter TechEdToronto
Agenda
IntroductionCity of Lethbridge Solution (SP 2010)Full Trust Solution DevelopmentSharePoint App ModelWindows 8 ApplicationConclusionsQuestion and Answer
Topic
Introduction
AboutMe()
httpsmvpsupportmicrosoftcomprofileEdMusters
bull Current SharePoint MVPbull Author for two SP 2010 development booksbull SharePoint Architect for Infusionbull Speaker at International Conferences on
SharePoint at user groups and at SharePoint Saturdays
bull Certified Trainer for the industry leading SharePoint training from Critical Path Training
bull Telerik ldquoInsiderrdquobull Holds all MS certifications for SharePoint
2010
bull Harley-Davidson trade Enthusiast
London Krakoacutew Dubai New York Toronto Boston
6
And yes I do really have a Black Belt
Published Books
Prize Telerik DevCraft Ultimate Collection
Topic
City of LethbridgeSP 2010 Solution
TopicFull Trust Solution Development
Full Trust Solutions
What are Full Trust Solutionsbull Solution Packages (WSPs) are installed to
SharePoint Serverbull Typically compiled NET code is deployed to GACbull Files are pushed physically to the SharePoint
Root directorybull More limited cloud scenarios via laquo SandBox raquo
solutions
Full Trust Solutions
When are they suitablebull If you have an on-premise deployment of SharePointbull You have lots of existing solutions in SP 2007 2010
ndash That is solutions you may want to re-use migrate
bull You are an ASPNET web forms developerbull Can SandBox for cloud solutions (but deprecated)bull Cannot be app ndash such as timer job admin page
Full Trust Solution Development
How are they developedbull laquo Traditional raquo development using Visual
Studio Cbull Program against the SharePoint Server
object modelbull Package using VS tools to SharePoint
Solution Packages (WSPs)bull Deploy to Farm typically using PowerShellbull SandBox solutions would be uploaded
activated
Solution Packages
bull Solution Packages are sets of functionality deployed to the farm or site collection (sandbox)
bull May contain one or more Features assemblies pages controls and other artifacts
bull SharePoint framework handles installation and configuration of solution items
bull Automated packaging and deployment in Visual Studio 2010
Web Parts
Assemblies
MappedFolders
WSP
Features
bull A lsquoFeaturersquo is a defined set of functionality encapsulated within a specific format
bull Features may be comprised of any combination of code including web parts workflows and site definitions
bull Features may be deployed individually or as a part of the solution package
Solution
Feature
XML
Project Item
Lethbridge VS 2010 Solution
Sample App ndash Footer Links
bull Illustrates a very common development pattern1 Define schema Site Columns and Content Types2 List Provisioned with attached content types3 A Web Part that performs a content query against
the content type SP List
Solution Structure and Dependencies
Using Existing SP 2010 Solutions
Possible Tobull Deploy Existing Solutionsbull Will deploy to laquo 14 raquo folder in SharePoint 2013bull Add laquo 14 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=140gt
Convert VS Solutions from SP 2010
Possible Tobull Open Solution in VS 2012bull Change to latest Framework Versionbull Change SharePoint Referencesbull Add laquo 15 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=150gt
Convert VS Solutions from SP 2010
My Strongest Recommendationbull Create New VS SP 2013 solutionbull Ensure Package Name is different (eg append
2013)bull Bring in code files from SP 2010bull Ultimately package structure should be identicalbull Ensure feature names and IDs are the same ndash OR
bull Create with new feature IDs
SP 2013 Full Trust Solution
bull Deploy as a WSP file (ie solution package)bull Deploy to the Farmbull Suitable for an on-Premises deployment
onlybull Absolutely a supported model for SP 2013bull Very similar to developing full trust
solutions for SharePoint 2010
SP 2013 Footer Links Solution
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Agenda
IntroductionCity of Lethbridge Solution (SP 2010)Full Trust Solution DevelopmentSharePoint App ModelWindows 8 ApplicationConclusionsQuestion and Answer
Topic
Introduction
AboutMe()
httpsmvpsupportmicrosoftcomprofileEdMusters
bull Current SharePoint MVPbull Author for two SP 2010 development booksbull SharePoint Architect for Infusionbull Speaker at International Conferences on
SharePoint at user groups and at SharePoint Saturdays
bull Certified Trainer for the industry leading SharePoint training from Critical Path Training
bull Telerik ldquoInsiderrdquobull Holds all MS certifications for SharePoint
2010
bull Harley-Davidson trade Enthusiast
London Krakoacutew Dubai New York Toronto Boston
6
And yes I do really have a Black Belt
Published Books
Prize Telerik DevCraft Ultimate Collection
Topic
City of LethbridgeSP 2010 Solution
TopicFull Trust Solution Development
Full Trust Solutions
What are Full Trust Solutionsbull Solution Packages (WSPs) are installed to
SharePoint Serverbull Typically compiled NET code is deployed to GACbull Files are pushed physically to the SharePoint
Root directorybull More limited cloud scenarios via laquo SandBox raquo
solutions
Full Trust Solutions
When are they suitablebull If you have an on-premise deployment of SharePointbull You have lots of existing solutions in SP 2007 2010
ndash That is solutions you may want to re-use migrate
bull You are an ASPNET web forms developerbull Can SandBox for cloud solutions (but deprecated)bull Cannot be app ndash such as timer job admin page
Full Trust Solution Development
How are they developedbull laquo Traditional raquo development using Visual
Studio Cbull Program against the SharePoint Server
object modelbull Package using VS tools to SharePoint
Solution Packages (WSPs)bull Deploy to Farm typically using PowerShellbull SandBox solutions would be uploaded
activated
Solution Packages
bull Solution Packages are sets of functionality deployed to the farm or site collection (sandbox)
bull May contain one or more Features assemblies pages controls and other artifacts
bull SharePoint framework handles installation and configuration of solution items
bull Automated packaging and deployment in Visual Studio 2010
Web Parts
Assemblies
MappedFolders
WSP
Features
bull A lsquoFeaturersquo is a defined set of functionality encapsulated within a specific format
bull Features may be comprised of any combination of code including web parts workflows and site definitions
bull Features may be deployed individually or as a part of the solution package
Solution
Feature
XML
Project Item
Lethbridge VS 2010 Solution
Sample App ndash Footer Links
bull Illustrates a very common development pattern1 Define schema Site Columns and Content Types2 List Provisioned with attached content types3 A Web Part that performs a content query against
the content type SP List
Solution Structure and Dependencies
Using Existing SP 2010 Solutions
Possible Tobull Deploy Existing Solutionsbull Will deploy to laquo 14 raquo folder in SharePoint 2013bull Add laquo 14 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=140gt
Convert VS Solutions from SP 2010
Possible Tobull Open Solution in VS 2012bull Change to latest Framework Versionbull Change SharePoint Referencesbull Add laquo 15 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=150gt
Convert VS Solutions from SP 2010
My Strongest Recommendationbull Create New VS SP 2013 solutionbull Ensure Package Name is different (eg append
2013)bull Bring in code files from SP 2010bull Ultimately package structure should be identicalbull Ensure feature names and IDs are the same ndash OR
bull Create with new feature IDs
SP 2013 Full Trust Solution
bull Deploy as a WSP file (ie solution package)bull Deploy to the Farmbull Suitable for an on-Premises deployment
onlybull Absolutely a supported model for SP 2013bull Very similar to developing full trust
solutions for SharePoint 2010
SP 2013 Footer Links Solution
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Topic
Introduction
AboutMe()
httpsmvpsupportmicrosoftcomprofileEdMusters
bull Current SharePoint MVPbull Author for two SP 2010 development booksbull SharePoint Architect for Infusionbull Speaker at International Conferences on
SharePoint at user groups and at SharePoint Saturdays
bull Certified Trainer for the industry leading SharePoint training from Critical Path Training
bull Telerik ldquoInsiderrdquobull Holds all MS certifications for SharePoint
2010
bull Harley-Davidson trade Enthusiast
London Krakoacutew Dubai New York Toronto Boston
6
And yes I do really have a Black Belt
Published Books
Prize Telerik DevCraft Ultimate Collection
Topic
City of LethbridgeSP 2010 Solution
TopicFull Trust Solution Development
Full Trust Solutions
What are Full Trust Solutionsbull Solution Packages (WSPs) are installed to
SharePoint Serverbull Typically compiled NET code is deployed to GACbull Files are pushed physically to the SharePoint
Root directorybull More limited cloud scenarios via laquo SandBox raquo
solutions
Full Trust Solutions
When are they suitablebull If you have an on-premise deployment of SharePointbull You have lots of existing solutions in SP 2007 2010
ndash That is solutions you may want to re-use migrate
bull You are an ASPNET web forms developerbull Can SandBox for cloud solutions (but deprecated)bull Cannot be app ndash such as timer job admin page
Full Trust Solution Development
How are they developedbull laquo Traditional raquo development using Visual
Studio Cbull Program against the SharePoint Server
object modelbull Package using VS tools to SharePoint
Solution Packages (WSPs)bull Deploy to Farm typically using PowerShellbull SandBox solutions would be uploaded
activated
Solution Packages
bull Solution Packages are sets of functionality deployed to the farm or site collection (sandbox)
bull May contain one or more Features assemblies pages controls and other artifacts
bull SharePoint framework handles installation and configuration of solution items
bull Automated packaging and deployment in Visual Studio 2010
Web Parts
Assemblies
MappedFolders
WSP
Features
bull A lsquoFeaturersquo is a defined set of functionality encapsulated within a specific format
bull Features may be comprised of any combination of code including web parts workflows and site definitions
bull Features may be deployed individually or as a part of the solution package
Solution
Feature
XML
Project Item
Lethbridge VS 2010 Solution
Sample App ndash Footer Links
bull Illustrates a very common development pattern1 Define schema Site Columns and Content Types2 List Provisioned with attached content types3 A Web Part that performs a content query against
the content type SP List
Solution Structure and Dependencies
Using Existing SP 2010 Solutions
Possible Tobull Deploy Existing Solutionsbull Will deploy to laquo 14 raquo folder in SharePoint 2013bull Add laquo 14 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=140gt
Convert VS Solutions from SP 2010
Possible Tobull Open Solution in VS 2012bull Change to latest Framework Versionbull Change SharePoint Referencesbull Add laquo 15 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=150gt
Convert VS Solutions from SP 2010
My Strongest Recommendationbull Create New VS SP 2013 solutionbull Ensure Package Name is different (eg append
2013)bull Bring in code files from SP 2010bull Ultimately package structure should be identicalbull Ensure feature names and IDs are the same ndash OR
bull Create with new feature IDs
SP 2013 Full Trust Solution
bull Deploy as a WSP file (ie solution package)bull Deploy to the Farmbull Suitable for an on-Premises deployment
onlybull Absolutely a supported model for SP 2013bull Very similar to developing full trust
solutions for SharePoint 2010
SP 2013 Footer Links Solution
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
AboutMe()
httpsmvpsupportmicrosoftcomprofileEdMusters
bull Current SharePoint MVPbull Author for two SP 2010 development booksbull SharePoint Architect for Infusionbull Speaker at International Conferences on
SharePoint at user groups and at SharePoint Saturdays
bull Certified Trainer for the industry leading SharePoint training from Critical Path Training
bull Telerik ldquoInsiderrdquobull Holds all MS certifications for SharePoint
2010
bull Harley-Davidson trade Enthusiast
London Krakoacutew Dubai New York Toronto Boston
6
And yes I do really have a Black Belt
Published Books
Prize Telerik DevCraft Ultimate Collection
Topic
City of LethbridgeSP 2010 Solution
TopicFull Trust Solution Development
Full Trust Solutions
What are Full Trust Solutionsbull Solution Packages (WSPs) are installed to
SharePoint Serverbull Typically compiled NET code is deployed to GACbull Files are pushed physically to the SharePoint
Root directorybull More limited cloud scenarios via laquo SandBox raquo
solutions
Full Trust Solutions
When are they suitablebull If you have an on-premise deployment of SharePointbull You have lots of existing solutions in SP 2007 2010
ndash That is solutions you may want to re-use migrate
bull You are an ASPNET web forms developerbull Can SandBox for cloud solutions (but deprecated)bull Cannot be app ndash such as timer job admin page
Full Trust Solution Development
How are they developedbull laquo Traditional raquo development using Visual
Studio Cbull Program against the SharePoint Server
object modelbull Package using VS tools to SharePoint
Solution Packages (WSPs)bull Deploy to Farm typically using PowerShellbull SandBox solutions would be uploaded
activated
Solution Packages
bull Solution Packages are sets of functionality deployed to the farm or site collection (sandbox)
bull May contain one or more Features assemblies pages controls and other artifacts
bull SharePoint framework handles installation and configuration of solution items
bull Automated packaging and deployment in Visual Studio 2010
Web Parts
Assemblies
MappedFolders
WSP
Features
bull A lsquoFeaturersquo is a defined set of functionality encapsulated within a specific format
bull Features may be comprised of any combination of code including web parts workflows and site definitions
bull Features may be deployed individually or as a part of the solution package
Solution
Feature
XML
Project Item
Lethbridge VS 2010 Solution
Sample App ndash Footer Links
bull Illustrates a very common development pattern1 Define schema Site Columns and Content Types2 List Provisioned with attached content types3 A Web Part that performs a content query against
the content type SP List
Solution Structure and Dependencies
Using Existing SP 2010 Solutions
Possible Tobull Deploy Existing Solutionsbull Will deploy to laquo 14 raquo folder in SharePoint 2013bull Add laquo 14 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=140gt
Convert VS Solutions from SP 2010
Possible Tobull Open Solution in VS 2012bull Change to latest Framework Versionbull Change SharePoint Referencesbull Add laquo 15 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=150gt
Convert VS Solutions from SP 2010
My Strongest Recommendationbull Create New VS SP 2013 solutionbull Ensure Package Name is different (eg append
2013)bull Bring in code files from SP 2010bull Ultimately package structure should be identicalbull Ensure feature names and IDs are the same ndash OR
bull Create with new feature IDs
SP 2013 Full Trust Solution
bull Deploy as a WSP file (ie solution package)bull Deploy to the Farmbull Suitable for an on-Premises deployment
onlybull Absolutely a supported model for SP 2013bull Very similar to developing full trust
solutions for SharePoint 2010
SP 2013 Footer Links Solution
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
London Krakoacutew Dubai New York Toronto Boston
6
And yes I do really have a Black Belt
Published Books
Prize Telerik DevCraft Ultimate Collection
Topic
City of LethbridgeSP 2010 Solution
TopicFull Trust Solution Development
Full Trust Solutions
What are Full Trust Solutionsbull Solution Packages (WSPs) are installed to
SharePoint Serverbull Typically compiled NET code is deployed to GACbull Files are pushed physically to the SharePoint
Root directorybull More limited cloud scenarios via laquo SandBox raquo
solutions
Full Trust Solutions
When are they suitablebull If you have an on-premise deployment of SharePointbull You have lots of existing solutions in SP 2007 2010
ndash That is solutions you may want to re-use migrate
bull You are an ASPNET web forms developerbull Can SandBox for cloud solutions (but deprecated)bull Cannot be app ndash such as timer job admin page
Full Trust Solution Development
How are they developedbull laquo Traditional raquo development using Visual
Studio Cbull Program against the SharePoint Server
object modelbull Package using VS tools to SharePoint
Solution Packages (WSPs)bull Deploy to Farm typically using PowerShellbull SandBox solutions would be uploaded
activated
Solution Packages
bull Solution Packages are sets of functionality deployed to the farm or site collection (sandbox)
bull May contain one or more Features assemblies pages controls and other artifacts
bull SharePoint framework handles installation and configuration of solution items
bull Automated packaging and deployment in Visual Studio 2010
Web Parts
Assemblies
MappedFolders
WSP
Features
bull A lsquoFeaturersquo is a defined set of functionality encapsulated within a specific format
bull Features may be comprised of any combination of code including web parts workflows and site definitions
bull Features may be deployed individually or as a part of the solution package
Solution
Feature
XML
Project Item
Lethbridge VS 2010 Solution
Sample App ndash Footer Links
bull Illustrates a very common development pattern1 Define schema Site Columns and Content Types2 List Provisioned with attached content types3 A Web Part that performs a content query against
the content type SP List
Solution Structure and Dependencies
Using Existing SP 2010 Solutions
Possible Tobull Deploy Existing Solutionsbull Will deploy to laquo 14 raquo folder in SharePoint 2013bull Add laquo 14 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=140gt
Convert VS Solutions from SP 2010
Possible Tobull Open Solution in VS 2012bull Change to latest Framework Versionbull Change SharePoint Referencesbull Add laquo 15 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=150gt
Convert VS Solutions from SP 2010
My Strongest Recommendationbull Create New VS SP 2013 solutionbull Ensure Package Name is different (eg append
2013)bull Bring in code files from SP 2010bull Ultimately package structure should be identicalbull Ensure feature names and IDs are the same ndash OR
bull Create with new feature IDs
SP 2013 Full Trust Solution
bull Deploy as a WSP file (ie solution package)bull Deploy to the Farmbull Suitable for an on-Premises deployment
onlybull Absolutely a supported model for SP 2013bull Very similar to developing full trust
solutions for SharePoint 2010
SP 2013 Footer Links Solution
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
6
And yes I do really have a Black Belt
Published Books
Prize Telerik DevCraft Ultimate Collection
Topic
City of LethbridgeSP 2010 Solution
TopicFull Trust Solution Development
Full Trust Solutions
What are Full Trust Solutionsbull Solution Packages (WSPs) are installed to
SharePoint Serverbull Typically compiled NET code is deployed to GACbull Files are pushed physically to the SharePoint
Root directorybull More limited cloud scenarios via laquo SandBox raquo
solutions
Full Trust Solutions
When are they suitablebull If you have an on-premise deployment of SharePointbull You have lots of existing solutions in SP 2007 2010
ndash That is solutions you may want to re-use migrate
bull You are an ASPNET web forms developerbull Can SandBox for cloud solutions (but deprecated)bull Cannot be app ndash such as timer job admin page
Full Trust Solution Development
How are they developedbull laquo Traditional raquo development using Visual
Studio Cbull Program against the SharePoint Server
object modelbull Package using VS tools to SharePoint
Solution Packages (WSPs)bull Deploy to Farm typically using PowerShellbull SandBox solutions would be uploaded
activated
Solution Packages
bull Solution Packages are sets of functionality deployed to the farm or site collection (sandbox)
bull May contain one or more Features assemblies pages controls and other artifacts
bull SharePoint framework handles installation and configuration of solution items
bull Automated packaging and deployment in Visual Studio 2010
Web Parts
Assemblies
MappedFolders
WSP
Features
bull A lsquoFeaturersquo is a defined set of functionality encapsulated within a specific format
bull Features may be comprised of any combination of code including web parts workflows and site definitions
bull Features may be deployed individually or as a part of the solution package
Solution
Feature
XML
Project Item
Lethbridge VS 2010 Solution
Sample App ndash Footer Links
bull Illustrates a very common development pattern1 Define schema Site Columns and Content Types2 List Provisioned with attached content types3 A Web Part that performs a content query against
the content type SP List
Solution Structure and Dependencies
Using Existing SP 2010 Solutions
Possible Tobull Deploy Existing Solutionsbull Will deploy to laquo 14 raquo folder in SharePoint 2013bull Add laquo 14 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=140gt
Convert VS Solutions from SP 2010
Possible Tobull Open Solution in VS 2012bull Change to latest Framework Versionbull Change SharePoint Referencesbull Add laquo 15 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=150gt
Convert VS Solutions from SP 2010
My Strongest Recommendationbull Create New VS SP 2013 solutionbull Ensure Package Name is different (eg append
2013)bull Bring in code files from SP 2010bull Ultimately package structure should be identicalbull Ensure feature names and IDs are the same ndash OR
bull Create with new feature IDs
SP 2013 Full Trust Solution
bull Deploy as a WSP file (ie solution package)bull Deploy to the Farmbull Suitable for an on-Premises deployment
onlybull Absolutely a supported model for SP 2013bull Very similar to developing full trust
solutions for SharePoint 2010
SP 2013 Footer Links Solution
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Published Books
Prize Telerik DevCraft Ultimate Collection
Topic
City of LethbridgeSP 2010 Solution
TopicFull Trust Solution Development
Full Trust Solutions
What are Full Trust Solutionsbull Solution Packages (WSPs) are installed to
SharePoint Serverbull Typically compiled NET code is deployed to GACbull Files are pushed physically to the SharePoint
Root directorybull More limited cloud scenarios via laquo SandBox raquo
solutions
Full Trust Solutions
When are they suitablebull If you have an on-premise deployment of SharePointbull You have lots of existing solutions in SP 2007 2010
ndash That is solutions you may want to re-use migrate
bull You are an ASPNET web forms developerbull Can SandBox for cloud solutions (but deprecated)bull Cannot be app ndash such as timer job admin page
Full Trust Solution Development
How are they developedbull laquo Traditional raquo development using Visual
Studio Cbull Program against the SharePoint Server
object modelbull Package using VS tools to SharePoint
Solution Packages (WSPs)bull Deploy to Farm typically using PowerShellbull SandBox solutions would be uploaded
activated
Solution Packages
bull Solution Packages are sets of functionality deployed to the farm or site collection (sandbox)
bull May contain one or more Features assemblies pages controls and other artifacts
bull SharePoint framework handles installation and configuration of solution items
bull Automated packaging and deployment in Visual Studio 2010
Web Parts
Assemblies
MappedFolders
WSP
Features
bull A lsquoFeaturersquo is a defined set of functionality encapsulated within a specific format
bull Features may be comprised of any combination of code including web parts workflows and site definitions
bull Features may be deployed individually or as a part of the solution package
Solution
Feature
XML
Project Item
Lethbridge VS 2010 Solution
Sample App ndash Footer Links
bull Illustrates a very common development pattern1 Define schema Site Columns and Content Types2 List Provisioned with attached content types3 A Web Part that performs a content query against
the content type SP List
Solution Structure and Dependencies
Using Existing SP 2010 Solutions
Possible Tobull Deploy Existing Solutionsbull Will deploy to laquo 14 raquo folder in SharePoint 2013bull Add laquo 14 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=140gt
Convert VS Solutions from SP 2010
Possible Tobull Open Solution in VS 2012bull Change to latest Framework Versionbull Change SharePoint Referencesbull Add laquo 15 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=150gt
Convert VS Solutions from SP 2010
My Strongest Recommendationbull Create New VS SP 2013 solutionbull Ensure Package Name is different (eg append
2013)bull Bring in code files from SP 2010bull Ultimately package structure should be identicalbull Ensure feature names and IDs are the same ndash OR
bull Create with new feature IDs
SP 2013 Full Trust Solution
bull Deploy as a WSP file (ie solution package)bull Deploy to the Farmbull Suitable for an on-Premises deployment
onlybull Absolutely a supported model for SP 2013bull Very similar to developing full trust
solutions for SharePoint 2010
SP 2013 Footer Links Solution
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Prize Telerik DevCraft Ultimate Collection
Topic
City of LethbridgeSP 2010 Solution
TopicFull Trust Solution Development
Full Trust Solutions
What are Full Trust Solutionsbull Solution Packages (WSPs) are installed to
SharePoint Serverbull Typically compiled NET code is deployed to GACbull Files are pushed physically to the SharePoint
Root directorybull More limited cloud scenarios via laquo SandBox raquo
solutions
Full Trust Solutions
When are they suitablebull If you have an on-premise deployment of SharePointbull You have lots of existing solutions in SP 2007 2010
ndash That is solutions you may want to re-use migrate
bull You are an ASPNET web forms developerbull Can SandBox for cloud solutions (but deprecated)bull Cannot be app ndash such as timer job admin page
Full Trust Solution Development
How are they developedbull laquo Traditional raquo development using Visual
Studio Cbull Program against the SharePoint Server
object modelbull Package using VS tools to SharePoint
Solution Packages (WSPs)bull Deploy to Farm typically using PowerShellbull SandBox solutions would be uploaded
activated
Solution Packages
bull Solution Packages are sets of functionality deployed to the farm or site collection (sandbox)
bull May contain one or more Features assemblies pages controls and other artifacts
bull SharePoint framework handles installation and configuration of solution items
bull Automated packaging and deployment in Visual Studio 2010
Web Parts
Assemblies
MappedFolders
WSP
Features
bull A lsquoFeaturersquo is a defined set of functionality encapsulated within a specific format
bull Features may be comprised of any combination of code including web parts workflows and site definitions
bull Features may be deployed individually or as a part of the solution package
Solution
Feature
XML
Project Item
Lethbridge VS 2010 Solution
Sample App ndash Footer Links
bull Illustrates a very common development pattern1 Define schema Site Columns and Content Types2 List Provisioned with attached content types3 A Web Part that performs a content query against
the content type SP List
Solution Structure and Dependencies
Using Existing SP 2010 Solutions
Possible Tobull Deploy Existing Solutionsbull Will deploy to laquo 14 raquo folder in SharePoint 2013bull Add laquo 14 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=140gt
Convert VS Solutions from SP 2010
Possible Tobull Open Solution in VS 2012bull Change to latest Framework Versionbull Change SharePoint Referencesbull Add laquo 15 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=150gt
Convert VS Solutions from SP 2010
My Strongest Recommendationbull Create New VS SP 2013 solutionbull Ensure Package Name is different (eg append
2013)bull Bring in code files from SP 2010bull Ultimately package structure should be identicalbull Ensure feature names and IDs are the same ndash OR
bull Create with new feature IDs
SP 2013 Full Trust Solution
bull Deploy as a WSP file (ie solution package)bull Deploy to the Farmbull Suitable for an on-Premises deployment
onlybull Absolutely a supported model for SP 2013bull Very similar to developing full trust
solutions for SharePoint 2010
SP 2013 Footer Links Solution
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Topic
City of LethbridgeSP 2010 Solution
TopicFull Trust Solution Development
Full Trust Solutions
What are Full Trust Solutionsbull Solution Packages (WSPs) are installed to
SharePoint Serverbull Typically compiled NET code is deployed to GACbull Files are pushed physically to the SharePoint
Root directorybull More limited cloud scenarios via laquo SandBox raquo
solutions
Full Trust Solutions
When are they suitablebull If you have an on-premise deployment of SharePointbull You have lots of existing solutions in SP 2007 2010
ndash That is solutions you may want to re-use migrate
bull You are an ASPNET web forms developerbull Can SandBox for cloud solutions (but deprecated)bull Cannot be app ndash such as timer job admin page
Full Trust Solution Development
How are they developedbull laquo Traditional raquo development using Visual
Studio Cbull Program against the SharePoint Server
object modelbull Package using VS tools to SharePoint
Solution Packages (WSPs)bull Deploy to Farm typically using PowerShellbull SandBox solutions would be uploaded
activated
Solution Packages
bull Solution Packages are sets of functionality deployed to the farm or site collection (sandbox)
bull May contain one or more Features assemblies pages controls and other artifacts
bull SharePoint framework handles installation and configuration of solution items
bull Automated packaging and deployment in Visual Studio 2010
Web Parts
Assemblies
MappedFolders
WSP
Features
bull A lsquoFeaturersquo is a defined set of functionality encapsulated within a specific format
bull Features may be comprised of any combination of code including web parts workflows and site definitions
bull Features may be deployed individually or as a part of the solution package
Solution
Feature
XML
Project Item
Lethbridge VS 2010 Solution
Sample App ndash Footer Links
bull Illustrates a very common development pattern1 Define schema Site Columns and Content Types2 List Provisioned with attached content types3 A Web Part that performs a content query against
the content type SP List
Solution Structure and Dependencies
Using Existing SP 2010 Solutions
Possible Tobull Deploy Existing Solutionsbull Will deploy to laquo 14 raquo folder in SharePoint 2013bull Add laquo 14 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=140gt
Convert VS Solutions from SP 2010
Possible Tobull Open Solution in VS 2012bull Change to latest Framework Versionbull Change SharePoint Referencesbull Add laquo 15 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=150gt
Convert VS Solutions from SP 2010
My Strongest Recommendationbull Create New VS SP 2013 solutionbull Ensure Package Name is different (eg append
2013)bull Bring in code files from SP 2010bull Ultimately package structure should be identicalbull Ensure feature names and IDs are the same ndash OR
bull Create with new feature IDs
SP 2013 Full Trust Solution
bull Deploy as a WSP file (ie solution package)bull Deploy to the Farmbull Suitable for an on-Premises deployment
onlybull Absolutely a supported model for SP 2013bull Very similar to developing full trust
solutions for SharePoint 2010
SP 2013 Footer Links Solution
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
TopicFull Trust Solution Development
Full Trust Solutions
What are Full Trust Solutionsbull Solution Packages (WSPs) are installed to
SharePoint Serverbull Typically compiled NET code is deployed to GACbull Files are pushed physically to the SharePoint
Root directorybull More limited cloud scenarios via laquo SandBox raquo
solutions
Full Trust Solutions
When are they suitablebull If you have an on-premise deployment of SharePointbull You have lots of existing solutions in SP 2007 2010
ndash That is solutions you may want to re-use migrate
bull You are an ASPNET web forms developerbull Can SandBox for cloud solutions (but deprecated)bull Cannot be app ndash such as timer job admin page
Full Trust Solution Development
How are they developedbull laquo Traditional raquo development using Visual
Studio Cbull Program against the SharePoint Server
object modelbull Package using VS tools to SharePoint
Solution Packages (WSPs)bull Deploy to Farm typically using PowerShellbull SandBox solutions would be uploaded
activated
Solution Packages
bull Solution Packages are sets of functionality deployed to the farm or site collection (sandbox)
bull May contain one or more Features assemblies pages controls and other artifacts
bull SharePoint framework handles installation and configuration of solution items
bull Automated packaging and deployment in Visual Studio 2010
Web Parts
Assemblies
MappedFolders
WSP
Features
bull A lsquoFeaturersquo is a defined set of functionality encapsulated within a specific format
bull Features may be comprised of any combination of code including web parts workflows and site definitions
bull Features may be deployed individually or as a part of the solution package
Solution
Feature
XML
Project Item
Lethbridge VS 2010 Solution
Sample App ndash Footer Links
bull Illustrates a very common development pattern1 Define schema Site Columns and Content Types2 List Provisioned with attached content types3 A Web Part that performs a content query against
the content type SP List
Solution Structure and Dependencies
Using Existing SP 2010 Solutions
Possible Tobull Deploy Existing Solutionsbull Will deploy to laquo 14 raquo folder in SharePoint 2013bull Add laquo 14 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=140gt
Convert VS Solutions from SP 2010
Possible Tobull Open Solution in VS 2012bull Change to latest Framework Versionbull Change SharePoint Referencesbull Add laquo 15 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=150gt
Convert VS Solutions from SP 2010
My Strongest Recommendationbull Create New VS SP 2013 solutionbull Ensure Package Name is different (eg append
2013)bull Bring in code files from SP 2010bull Ultimately package structure should be identicalbull Ensure feature names and IDs are the same ndash OR
bull Create with new feature IDs
SP 2013 Full Trust Solution
bull Deploy as a WSP file (ie solution package)bull Deploy to the Farmbull Suitable for an on-Premises deployment
onlybull Absolutely a supported model for SP 2013bull Very similar to developing full trust
solutions for SharePoint 2010
SP 2013 Footer Links Solution
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Full Trust Solutions
What are Full Trust Solutionsbull Solution Packages (WSPs) are installed to
SharePoint Serverbull Typically compiled NET code is deployed to GACbull Files are pushed physically to the SharePoint
Root directorybull More limited cloud scenarios via laquo SandBox raquo
solutions
Full Trust Solutions
When are they suitablebull If you have an on-premise deployment of SharePointbull You have lots of existing solutions in SP 2007 2010
ndash That is solutions you may want to re-use migrate
bull You are an ASPNET web forms developerbull Can SandBox for cloud solutions (but deprecated)bull Cannot be app ndash such as timer job admin page
Full Trust Solution Development
How are they developedbull laquo Traditional raquo development using Visual
Studio Cbull Program against the SharePoint Server
object modelbull Package using VS tools to SharePoint
Solution Packages (WSPs)bull Deploy to Farm typically using PowerShellbull SandBox solutions would be uploaded
activated
Solution Packages
bull Solution Packages are sets of functionality deployed to the farm or site collection (sandbox)
bull May contain one or more Features assemblies pages controls and other artifacts
bull SharePoint framework handles installation and configuration of solution items
bull Automated packaging and deployment in Visual Studio 2010
Web Parts
Assemblies
MappedFolders
WSP
Features
bull A lsquoFeaturersquo is a defined set of functionality encapsulated within a specific format
bull Features may be comprised of any combination of code including web parts workflows and site definitions
bull Features may be deployed individually or as a part of the solution package
Solution
Feature
XML
Project Item
Lethbridge VS 2010 Solution
Sample App ndash Footer Links
bull Illustrates a very common development pattern1 Define schema Site Columns and Content Types2 List Provisioned with attached content types3 A Web Part that performs a content query against
the content type SP List
Solution Structure and Dependencies
Using Existing SP 2010 Solutions
Possible Tobull Deploy Existing Solutionsbull Will deploy to laquo 14 raquo folder in SharePoint 2013bull Add laquo 14 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=140gt
Convert VS Solutions from SP 2010
Possible Tobull Open Solution in VS 2012bull Change to latest Framework Versionbull Change SharePoint Referencesbull Add laquo 15 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=150gt
Convert VS Solutions from SP 2010
My Strongest Recommendationbull Create New VS SP 2013 solutionbull Ensure Package Name is different (eg append
2013)bull Bring in code files from SP 2010bull Ultimately package structure should be identicalbull Ensure feature names and IDs are the same ndash OR
bull Create with new feature IDs
SP 2013 Full Trust Solution
bull Deploy as a WSP file (ie solution package)bull Deploy to the Farmbull Suitable for an on-Premises deployment
onlybull Absolutely a supported model for SP 2013bull Very similar to developing full trust
solutions for SharePoint 2010
SP 2013 Footer Links Solution
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Full Trust Solutions
When are they suitablebull If you have an on-premise deployment of SharePointbull You have lots of existing solutions in SP 2007 2010
ndash That is solutions you may want to re-use migrate
bull You are an ASPNET web forms developerbull Can SandBox for cloud solutions (but deprecated)bull Cannot be app ndash such as timer job admin page
Full Trust Solution Development
How are they developedbull laquo Traditional raquo development using Visual
Studio Cbull Program against the SharePoint Server
object modelbull Package using VS tools to SharePoint
Solution Packages (WSPs)bull Deploy to Farm typically using PowerShellbull SandBox solutions would be uploaded
activated
Solution Packages
bull Solution Packages are sets of functionality deployed to the farm or site collection (sandbox)
bull May contain one or more Features assemblies pages controls and other artifacts
bull SharePoint framework handles installation and configuration of solution items
bull Automated packaging and deployment in Visual Studio 2010
Web Parts
Assemblies
MappedFolders
WSP
Features
bull A lsquoFeaturersquo is a defined set of functionality encapsulated within a specific format
bull Features may be comprised of any combination of code including web parts workflows and site definitions
bull Features may be deployed individually or as a part of the solution package
Solution
Feature
XML
Project Item
Lethbridge VS 2010 Solution
Sample App ndash Footer Links
bull Illustrates a very common development pattern1 Define schema Site Columns and Content Types2 List Provisioned with attached content types3 A Web Part that performs a content query against
the content type SP List
Solution Structure and Dependencies
Using Existing SP 2010 Solutions
Possible Tobull Deploy Existing Solutionsbull Will deploy to laquo 14 raquo folder in SharePoint 2013bull Add laquo 14 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=140gt
Convert VS Solutions from SP 2010
Possible Tobull Open Solution in VS 2012bull Change to latest Framework Versionbull Change SharePoint Referencesbull Add laquo 15 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=150gt
Convert VS Solutions from SP 2010
My Strongest Recommendationbull Create New VS SP 2013 solutionbull Ensure Package Name is different (eg append
2013)bull Bring in code files from SP 2010bull Ultimately package structure should be identicalbull Ensure feature names and IDs are the same ndash OR
bull Create with new feature IDs
SP 2013 Full Trust Solution
bull Deploy as a WSP file (ie solution package)bull Deploy to the Farmbull Suitable for an on-Premises deployment
onlybull Absolutely a supported model for SP 2013bull Very similar to developing full trust
solutions for SharePoint 2010
SP 2013 Footer Links Solution
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Full Trust Solution Development
How are they developedbull laquo Traditional raquo development using Visual
Studio Cbull Program against the SharePoint Server
object modelbull Package using VS tools to SharePoint
Solution Packages (WSPs)bull Deploy to Farm typically using PowerShellbull SandBox solutions would be uploaded
activated
Solution Packages
bull Solution Packages are sets of functionality deployed to the farm or site collection (sandbox)
bull May contain one or more Features assemblies pages controls and other artifacts
bull SharePoint framework handles installation and configuration of solution items
bull Automated packaging and deployment in Visual Studio 2010
Web Parts
Assemblies
MappedFolders
WSP
Features
bull A lsquoFeaturersquo is a defined set of functionality encapsulated within a specific format
bull Features may be comprised of any combination of code including web parts workflows and site definitions
bull Features may be deployed individually or as a part of the solution package
Solution
Feature
XML
Project Item
Lethbridge VS 2010 Solution
Sample App ndash Footer Links
bull Illustrates a very common development pattern1 Define schema Site Columns and Content Types2 List Provisioned with attached content types3 A Web Part that performs a content query against
the content type SP List
Solution Structure and Dependencies
Using Existing SP 2010 Solutions
Possible Tobull Deploy Existing Solutionsbull Will deploy to laquo 14 raquo folder in SharePoint 2013bull Add laquo 14 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=140gt
Convert VS Solutions from SP 2010
Possible Tobull Open Solution in VS 2012bull Change to latest Framework Versionbull Change SharePoint Referencesbull Add laquo 15 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=150gt
Convert VS Solutions from SP 2010
My Strongest Recommendationbull Create New VS SP 2013 solutionbull Ensure Package Name is different (eg append
2013)bull Bring in code files from SP 2010bull Ultimately package structure should be identicalbull Ensure feature names and IDs are the same ndash OR
bull Create with new feature IDs
SP 2013 Full Trust Solution
bull Deploy as a WSP file (ie solution package)bull Deploy to the Farmbull Suitable for an on-Premises deployment
onlybull Absolutely a supported model for SP 2013bull Very similar to developing full trust
solutions for SharePoint 2010
SP 2013 Footer Links Solution
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Solution Packages
bull Solution Packages are sets of functionality deployed to the farm or site collection (sandbox)
bull May contain one or more Features assemblies pages controls and other artifacts
bull SharePoint framework handles installation and configuration of solution items
bull Automated packaging and deployment in Visual Studio 2010
Web Parts
Assemblies
MappedFolders
WSP
Features
bull A lsquoFeaturersquo is a defined set of functionality encapsulated within a specific format
bull Features may be comprised of any combination of code including web parts workflows and site definitions
bull Features may be deployed individually or as a part of the solution package
Solution
Feature
XML
Project Item
Lethbridge VS 2010 Solution
Sample App ndash Footer Links
bull Illustrates a very common development pattern1 Define schema Site Columns and Content Types2 List Provisioned with attached content types3 A Web Part that performs a content query against
the content type SP List
Solution Structure and Dependencies
Using Existing SP 2010 Solutions
Possible Tobull Deploy Existing Solutionsbull Will deploy to laquo 14 raquo folder in SharePoint 2013bull Add laquo 14 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=140gt
Convert VS Solutions from SP 2010
Possible Tobull Open Solution in VS 2012bull Change to latest Framework Versionbull Change SharePoint Referencesbull Add laquo 15 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=150gt
Convert VS Solutions from SP 2010
My Strongest Recommendationbull Create New VS SP 2013 solutionbull Ensure Package Name is different (eg append
2013)bull Bring in code files from SP 2010bull Ultimately package structure should be identicalbull Ensure feature names and IDs are the same ndash OR
bull Create with new feature IDs
SP 2013 Full Trust Solution
bull Deploy as a WSP file (ie solution package)bull Deploy to the Farmbull Suitable for an on-Premises deployment
onlybull Absolutely a supported model for SP 2013bull Very similar to developing full trust
solutions for SharePoint 2010
SP 2013 Footer Links Solution
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Features
bull A lsquoFeaturersquo is a defined set of functionality encapsulated within a specific format
bull Features may be comprised of any combination of code including web parts workflows and site definitions
bull Features may be deployed individually or as a part of the solution package
Solution
Feature
XML
Project Item
Lethbridge VS 2010 Solution
Sample App ndash Footer Links
bull Illustrates a very common development pattern1 Define schema Site Columns and Content Types2 List Provisioned with attached content types3 A Web Part that performs a content query against
the content type SP List
Solution Structure and Dependencies
Using Existing SP 2010 Solutions
Possible Tobull Deploy Existing Solutionsbull Will deploy to laquo 14 raquo folder in SharePoint 2013bull Add laquo 14 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=140gt
Convert VS Solutions from SP 2010
Possible Tobull Open Solution in VS 2012bull Change to latest Framework Versionbull Change SharePoint Referencesbull Add laquo 15 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=150gt
Convert VS Solutions from SP 2010
My Strongest Recommendationbull Create New VS SP 2013 solutionbull Ensure Package Name is different (eg append
2013)bull Bring in code files from SP 2010bull Ultimately package structure should be identicalbull Ensure feature names and IDs are the same ndash OR
bull Create with new feature IDs
SP 2013 Full Trust Solution
bull Deploy as a WSP file (ie solution package)bull Deploy to the Farmbull Suitable for an on-Premises deployment
onlybull Absolutely a supported model for SP 2013bull Very similar to developing full trust
solutions for SharePoint 2010
SP 2013 Footer Links Solution
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Lethbridge VS 2010 Solution
Sample App ndash Footer Links
bull Illustrates a very common development pattern1 Define schema Site Columns and Content Types2 List Provisioned with attached content types3 A Web Part that performs a content query against
the content type SP List
Solution Structure and Dependencies
Using Existing SP 2010 Solutions
Possible Tobull Deploy Existing Solutionsbull Will deploy to laquo 14 raquo folder in SharePoint 2013bull Add laquo 14 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=140gt
Convert VS Solutions from SP 2010
Possible Tobull Open Solution in VS 2012bull Change to latest Framework Versionbull Change SharePoint Referencesbull Add laquo 15 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=150gt
Convert VS Solutions from SP 2010
My Strongest Recommendationbull Create New VS SP 2013 solutionbull Ensure Package Name is different (eg append
2013)bull Bring in code files from SP 2010bull Ultimately package structure should be identicalbull Ensure feature names and IDs are the same ndash OR
bull Create with new feature IDs
SP 2013 Full Trust Solution
bull Deploy as a WSP file (ie solution package)bull Deploy to the Farmbull Suitable for an on-Premises deployment
onlybull Absolutely a supported model for SP 2013bull Very similar to developing full trust
solutions for SharePoint 2010
SP 2013 Footer Links Solution
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Sample App ndash Footer Links
bull Illustrates a very common development pattern1 Define schema Site Columns and Content Types2 List Provisioned with attached content types3 A Web Part that performs a content query against
the content type SP List
Solution Structure and Dependencies
Using Existing SP 2010 Solutions
Possible Tobull Deploy Existing Solutionsbull Will deploy to laquo 14 raquo folder in SharePoint 2013bull Add laquo 14 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=140gt
Convert VS Solutions from SP 2010
Possible Tobull Open Solution in VS 2012bull Change to latest Framework Versionbull Change SharePoint Referencesbull Add laquo 15 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=150gt
Convert VS Solutions from SP 2010
My Strongest Recommendationbull Create New VS SP 2013 solutionbull Ensure Package Name is different (eg append
2013)bull Bring in code files from SP 2010bull Ultimately package structure should be identicalbull Ensure feature names and IDs are the same ndash OR
bull Create with new feature IDs
SP 2013 Full Trust Solution
bull Deploy as a WSP file (ie solution package)bull Deploy to the Farmbull Suitable for an on-Premises deployment
onlybull Absolutely a supported model for SP 2013bull Very similar to developing full trust
solutions for SharePoint 2010
SP 2013 Footer Links Solution
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Solution Structure and Dependencies
Using Existing SP 2010 Solutions
Possible Tobull Deploy Existing Solutionsbull Will deploy to laquo 14 raquo folder in SharePoint 2013bull Add laquo 14 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=140gt
Convert VS Solutions from SP 2010
Possible Tobull Open Solution in VS 2012bull Change to latest Framework Versionbull Change SharePoint Referencesbull Add laquo 15 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=150gt
Convert VS Solutions from SP 2010
My Strongest Recommendationbull Create New VS SP 2013 solutionbull Ensure Package Name is different (eg append
2013)bull Bring in code files from SP 2010bull Ultimately package structure should be identicalbull Ensure feature names and IDs are the same ndash OR
bull Create with new feature IDs
SP 2013 Full Trust Solution
bull Deploy as a WSP file (ie solution package)bull Deploy to the Farmbull Suitable for an on-Premises deployment
onlybull Absolutely a supported model for SP 2013bull Very similar to developing full trust
solutions for SharePoint 2010
SP 2013 Footer Links Solution
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Using Existing SP 2010 Solutions
Possible Tobull Deploy Existing Solutionsbull Will deploy to laquo 14 raquo folder in SharePoint 2013bull Add laquo 14 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=140gt
Convert VS Solutions from SP 2010
Possible Tobull Open Solution in VS 2012bull Change to latest Framework Versionbull Change SharePoint Referencesbull Add laquo 15 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=150gt
Convert VS Solutions from SP 2010
My Strongest Recommendationbull Create New VS SP 2013 solutionbull Ensure Package Name is different (eg append
2013)bull Bring in code files from SP 2010bull Ultimately package structure should be identicalbull Ensure feature names and IDs are the same ndash OR
bull Create with new feature IDs
SP 2013 Full Trust Solution
bull Deploy as a WSP file (ie solution package)bull Deploy to the Farmbull Suitable for an on-Premises deployment
onlybull Absolutely a supported model for SP 2013bull Very similar to developing full trust
solutions for SharePoint 2010
SP 2013 Footer Links Solution
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Convert VS Solutions from SP 2010
Possible Tobull Open Solution in VS 2012bull Change to latest Framework Versionbull Change SharePoint Referencesbull Add laquo 15 raquo property to manifest
ltSolution xmlns=httpschemasmicrosoftcomsharepoint SolutionId=cae481cb-a094-44ae-8298-ea989344a025 SharePointProductVersion=150gt
Convert VS Solutions from SP 2010
My Strongest Recommendationbull Create New VS SP 2013 solutionbull Ensure Package Name is different (eg append
2013)bull Bring in code files from SP 2010bull Ultimately package structure should be identicalbull Ensure feature names and IDs are the same ndash OR
bull Create with new feature IDs
SP 2013 Full Trust Solution
bull Deploy as a WSP file (ie solution package)bull Deploy to the Farmbull Suitable for an on-Premises deployment
onlybull Absolutely a supported model for SP 2013bull Very similar to developing full trust
solutions for SharePoint 2010
SP 2013 Footer Links Solution
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Convert VS Solutions from SP 2010
My Strongest Recommendationbull Create New VS SP 2013 solutionbull Ensure Package Name is different (eg append
2013)bull Bring in code files from SP 2010bull Ultimately package structure should be identicalbull Ensure feature names and IDs are the same ndash OR
bull Create with new feature IDs
SP 2013 Full Trust Solution
bull Deploy as a WSP file (ie solution package)bull Deploy to the Farmbull Suitable for an on-Premises deployment
onlybull Absolutely a supported model for SP 2013bull Very similar to developing full trust
solutions for SharePoint 2010
SP 2013 Footer Links Solution
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
SP 2013 Full Trust Solution
bull Deploy as a WSP file (ie solution package)bull Deploy to the Farmbull Suitable for an on-Premises deployment
onlybull Absolutely a supported model for SP 2013bull Very similar to developing full trust
solutions for SharePoint 2010
SP 2013 Footer Links Solution
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
SP 2013 Footer Links Solution
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Demo
Migrate SP 2010 Code to SP 2013
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Topic
WCM in SP 2013
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
bull Design Managerbull Image Renditionsbull Device Channelsbull Image Renditionsbull Multilingual
Web Content Management in SP 2013 bull Search Driven Publishing Model
bull Content Search Web Partbull Content Catalogbull Managed Navigationbull Cross Site Publishing
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Web Content Management in SP 2013
In short the model we use today for publishing sites in SharePoint 2010 is still ldquovalidrdquo as fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete ldquo14rdquo folder ndash it should be possible to ldquomigraterdquo SP 2010 sites ldquoas isrdquo to a SharePoint 2013 box and have it run in ldquolegacyrdquo mode
How we do branding in SharePoint 2013 has been completely changed with the introduction of the Design Manager making it dramatically easier to create such as master pages and page layouts
No more custom ldquobranding solutionsrdquo in Visual Studio
A very compelling Search driven publishing model has been added in SP 2013 making it possible to create a publishing site featuring content from multiple site collections
Information Architecture and Site Design become much more interesting
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
The following slides on web content management in SP 2013 courtesy of Microsoft and the SP 2013 Conference
Wanted to give credit where it is due
Acknowledgement
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Markup Improvements
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
bull No more TABLEs for Web Parts amp Zonesbull Client-side rendering for Content Search Web partbull CSS completely re-written amp simplified
What do you mean ldquoimprovedrdquo
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
How much better is lsquobetterrsquo
SharePointMi-crosoftcom
SP Online Public website
Contoso Electronics Maventionnl0
20
40
60
80
100
120
140
160
138
19 13
W3C HTML Markup Validator Errors
0
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
SharePoint 2013 makes sure search engines give your site the best possible treatment
Great sites are ones that get found
Clean URLs httpwwwccomcars
Home Page Redirects None
Country code top-level domains (ccTLDs)
httpwwwccomcars httpwwwcmxcoches
XML Sitemaps Automatically generated and referenced in robotstxt
SEO Properties Browser title Meta description Meta keywordsCanonical URLs
Webmaster Tools integration Assists with ownership verification
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Design Manager
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Web Designer and Developer Experience
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
bull Any web designer amp developer can easily style amp brand an SP2013 Publishing sitebull ldquoUnder-the-hoodrdquo platform investments that make SharePoint a much better WCM rendering platform
Why web designersdevs will love SP2013
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
A look back Designing your web site in SharePoint 2010
CompsCSS JS etc
HTML
Integrate
Ribbon
Master
Pages
Roll-up
contro
ls
Dreamweaver Photoshop etc
SharePoint Designer
NavigationCusto
m Catalo
gCatalog Integration
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Designing your web site in SharePoint 2013
SharePoint
Dreamweaver etc
bull Ribbon
bull Placeholder Main
bull Minimal Master
bull Navigation
bull Web parts
bull Controls
Auto Conver
t
SnippetGallery
Add controls
UploadCompsCSS JS etc
HTML
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Mobile Device Targeting
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Devices Matter
Itrsquos a mobile amp touch-enabled web now
2006 2008 2010 2012 2014 20160
400
800
1200
1600
2000
Global Mobile vs Desk-top Internet User Pro-
jection 2007-2015E by Morgan
Stanley
Mobile Desktop
Inte
rnet
Use
rs (
MM
)
But how do you have a Customized Design
Fewer bytes over the wire
hellip all while maintaining Search Engine Optimization
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Device Channels
Control experience based on user agent string egMozilla50 (compatible MSIE 100 Windows Phone 80 Trident60 IEMobile100 ARM Touch NOKIA Lumia 920)
1 Differentiated design with separate Master Pages
Eg account for different screen resolutions2 Targeted content with Device Channel
PanelsEg show a special deal to mobile
customers
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Image Renditions
Multiple sizes aspect ratios and cropshelliphellipbut still just one image
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Design Packaging
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
The Search Driven Publishing Model
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Examples of Search Driven Publishing
ldquoWhy wouldnrsquot everything be search drivenrdquo
or in other words
ldquoAre there times we might not use Search Driven Publishing modelrdquo
NewsCommerce
SupportKnowledge
BaseInternetIntranetExtranetMobileArticles
PicturesVideo
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Advantages of a Search Driven Publishing Model
Breakdown site collection
boundaries
Eliminate large list
thresholds
Allows for flexible amp dynamic
publishing
Separate presentation from storage
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
What makes it ldquoSearch Drivenrdquo
Q ldquoDonrsquot most web sites already have SearchrdquoA Yes
ldquoItrsquos not about searching what we have published it about publishing republishing and targeting content that we have crawledhelliprdquo
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Documents
Pages
Catalogs
Digital Assets
CRAWLER
Index
SharePoint Content
Searc
h
Qu
ery
Ru
les
Reco
mm
en
dati
on
s
Sh
are
Poin
t A
PI
SEO
Managed Nav
Content Query
Content
Search
Publishing Page
Pag
e F
ram
ew
ork
Web
Part
Fra
mew
ork
Publishing
WWW
Data store
External
Term Context
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
What goes into making the Search Driven Publishing Model
Content Search Web
Parts
Display Templates
Query Builder
Query Rules
Content Catalogs
Managed Navigation
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Content Search Web Part
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
AudioCamerasComputersHome appliancesPhonesTV and video
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
AudioCamerasComputersHome appliancesPhonesTV and video
Friendly URLhttpcontosocomcameras
Use pagemaincategoryaspx
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
TERM STORE NAVIGATION TAXONOMY
Filter query byCATEGORY Cameras
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
AudioCamerasComputersHome appliancesPhonesTV and video
TERM STORE NAVIGATION TAXONOMY
Friendly URLhttpcontosocomcomputers
Use pagemaincategoryaspx
Adaptive experiences empower web developers to create portals based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
Product Catalog
CONTENT SEARCH WEB PART
Filter query byCATEGORY Computers
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Content Search Web Part Content Search Web Parts
CBQ
without
borders
nicely
themed
Indexing
Latency
Simpl
e to
Add Simpl
e to
Edit
Super
Flexibl
e
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Display Templates
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Display Templates
Make your own in HTML amp JavaScript
Many ship Out-of the-Box
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Query Builder
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Query Builder
IW focusedUI based
Allows ldquoadvanced
moderdquo
Provides Test amp
Preview
Add Refiners
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Query Rules
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Query Rules
IW focused
Manipulate Search Results
UI based
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Adaptive experiences powers flexible consumption and re-use by separating content management and site experience workflows
Combining static and dynamic content through Search
PRODUCT CATALOG JOB OPENINGSASSET LIBRARYARTICLES NAVIGATION
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Microsoft Confidential
Adaptive experiences empower business users with editorial control to maximize business goals
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Content Catalog
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Content Catalogs
Available across Farms
A settings on a List or Library
Integrated with Search
Product Catalog Site
Template
Define URL Format
Select Nav structure
Library
1a Enable
2 Index 3 Connect
1b New
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Catalog Enabling
Catalog Connection
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Managed Navigation
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Managed Navigation
New Nav Provider
Friendly URLSProduct Catalog
integration
Terms can be site
structures
11 binding of Site
Collection to Term Set
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Cross Site Publishing
Feature
Scenario
Technology
Wizard
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
ldquoCreate content in an Authoring environment and use it in any one of your SharePoint publishing environmentsrdquo
Cross Site Publishing
URL manipulation
Multi-branding
Authoring and
Production tiers
Multilingual
Things to know1 This is not
content deployment
2 Requires the Publishing feature
3 Requires a Catalog
Flexibility in Page Content
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Cross Site Publishing
Why XSP1 Need to Publish gt1
location2 Need a multilingual site3 Need to separate
authoring and publishing
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
DemoDesign ManagerMigrating your BrandMobile Considerations
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
DemoCross Site PublishingMetadata Navigation
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Topic
SharePoint App Model
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
SharePoint App Model
Is this not THE new way to develop for SPbull This was all that was talked about at the MS
SharePoint Conferencebull No code is deployed to the SharePoint serversbull You may choose any technoloogy you host itbull Apps are published ndash coporate store or public
marketplacebull Suitable for on-premise or cloud (Office 365)
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
SharePoint App Model
When are Apps suitablebull If your primary purpose is to access data in SharePointbull Your custom solution is a new onebull App is not ASPNET ndash iOS Win 8 Win Phone MVC LAMP
(PhP)bull Leverage pure web dev skills ndash HTML CSS JavaScript
(jQuery)bull You want to be able to move from on-premise to Cloud
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
App Model Overview
bull For On Premise or Cloud Scenariosbull App code never runs on the SharePoint boxbull App accesses SharePoint via web servicesbull Can use a Client Side Object Model approach
or a REST services approachbull Apps deployed to catalog (could be MS Store
or Corporate catalog)bull Have a Site or Tenancy scope
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
App Hosting
bull SharePoint-Hosted Appsndash App resources added to SharePoint hostndash Deployed to child site known as app webndash App can have client side code only
bull Cloud-Hosted Appsndash App resources deployed on remote serverndash Remote site known as remote webndash App can have client and server side code
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Client Side Object Model (CSOM)
bull Two main kindsndash Managed CSOM (NET C code)ndash Javascript CSOM (aka JSOM)
bull Similar to the old-school OM (which it ultimately calls) but with extra considerations forndash Serializing and downloading only what you need back
from the serverndash Minimizing the number of HTTP requestsndash Async nature of JavaScript
bull Keywords Object Model
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
CSOM Improvements
bull New APIs with SharePoint Server functionalityndash User Profilesndash Searchndash Taxonomyndash Feedsndash Publishingndash Sharingndash Workflowndash E-Discoveryndash IRMndash Analyticsndash Business Data
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Search Queries CSOM
ClientContext clientContext = new ClientContext(siteUrl)var query = new KeywordQuery(clientContext)queryQueryText = Search terms SearchExecutor searchExecutor = new SearchExecutor(clientContext)var resultCollection = searchExecutorExecuteQuery(query) process resultsclientContextExecuteQuery()
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
REST Api
bull REpresentational State Transferbull Language-independent (only requires HTTP)ndash IE JavaScript or C
bull Formulate an HTTP request to get something back (GET) or get something done (POST or PUT)
bull SharePointrsquos REST API obeys OData (Open Data) specification (well-known standard syntaxes for queryingfiltering machine-traversable entity relationships)
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Search Queries REST
bull Keywordshttp[]_apisearchqueryquerytext=KQL Query
bull Selecting Propertieshttp[]_apisearchqueryquerytext=testampselectproperties=TitleRank
bull Sortinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendinghttp[]_apisearchqueryquerytext=testampsortlist=LastModifiedTimedescendingRankascending
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
CSOM or REST
CSOM REST API
JavaScript YES YES
C YES YES
Translation 4 possibilities all technically possible
CSOM REST API
JavaScript MAYBE BEST (Usually)
C BEST (Usually) MAYBE
Translation Focus on the 2 combinations that (usually) work best
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
DemoSimple Search AppUsing REST API
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Topic
Conclusions
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Conclusion ndash Full Trust
bull Full Trust Solution Development is still coolbull Tradtional ASPNET C web form
developmentbull Can ldquomigraterdquo source code from 2010
Publishing solutionsbull Great option for On Premise installation
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Conclusion - Apps
bull SharePoint Apps are the future direction for SharePoint development
bull Your first choice for new developmentbull Can be SharePoint or Cloud Hostedbull Suitable for On Premise or Onlinebull REST is API of choice for SP interactionbull Donrsquot need a local dev environmentndash Develop against SharePoint Online
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Other WCM Considerations
bull Migrating your brand to SP 2013 via Design Manager
bull Think Mobile Responsive Design Device Channels Image Renditions
bull Search Driven Cross Site Publishing Catalog site Content by Search Web Part Metadata Navigation
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Prize Telerik DevCraft Ultimate Collection
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Topic
Question and Answer
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto
Questions Discussion
bull Ed Mustersbull emustersinfusioncombull TechEdToronto