This document provides an overview of Ed Musters' background and expertise. It lists that he is a current SharePoint MVP, author of two SharePoint 2010 development books, and SharePoint architect. It also outlines some of his additional qualifications including Microsoft certifications and experience as a trainer. The document promotes Ed as an expert in areas like full trust SharePoint solutions, apps, and web content management in SharePoint 2013. It provides high-level summaries of these topics and when each approach is most suitable.
AWS Community Day CPH - Three problems of Terraform
SharePoint 2013 Web Content Management for Developers HSPUG
1.
2.
3.
4. { About.Me() }
https://mvp.support.microsoft.com/profile/Ed.Musters
• Current SharePoint MVP
• Author for two SP 2010 development books
• SharePoint Architect for Infusion
• Speaker at International Conferences on
SharePoint, at user groups, and at
SharePoint Saturdays
• Certified Trainer for the industry leading
SharePoint training from Critical Path
Training
• Telerik “Insider”
• Holds all MS certifications for SharePoint
2010
• Harley-Davidson ™ Enthusiast!
12. Full Trust Solutions
What are Full Trust Solutions?
• Solution Packages (WSPs) are installed to SharePoint
Server
• Typically, compiled .NET code is deployed to GAC
• Files are pushed physically to the SharePoint Root
directory
• More limited cloud scenarios via « SandBox » solutions
13. Full Trust Solutions
When are they suitable?
• If you have an on-premise deployment of SharePoint
• You have lots of existing solutions in SP 2007 / 2010
– That is, solutions you may want to re-use / migrate
• You are an ASP.NET web forms developer
• Can SandBox for cloud solutions (but deprecated)
• Cannot be app – such as timer job, admin page
14. Full Trust Solution Development
How are they developed?
• « Traditional » development using Visual Studio /
C#
• Program against the SharePoint Server object model
• Package using VS tools to SharePoint Solution
Packages (WSPs)
• Deploy to Farm, typically using PowerShell.
• SandBox solutions would be uploaded / activated
15. Solution Packages
• Solution Packages are sets of
functionality deployed to the farm or
site collection (sandbox)
• May contain one or more Features,
assemblies, pages, controls, and
other artifacts
• SharePoint framework handles
installation and configuration of
solution items
• Automated packaging and
deployment in Visual Studio 2010
Web Parts
Assemblies
Mapped
Folders
WSP
16. Features
• A ‘Feature’ is a defined set of
functionality encapsulated
within a specific format
• Features may be comprised of
any combination of code,
including web parts, workflows,
and site definitions
• Features may be deployed
individually or as a part of the
solution package
Solution
Feature
XML
Receiver
Assembly
Project Item
Web Part Template Workflow
18. Sample App – Footer Links
• Illustrates a very common development
pattern
1. Define schema: Site Columns and Content Types
2. List Provisioned with attached content types
3. A Web Part that performs a content query against
the content type / SP List
20. Using Existing SP 2010 Solutions
Possible To:
• Deploy Existing Solutions
• Will deploy to « 14 » folder in SharePoint 2013
• Add « 14 » property to manifest!
SharePointProductVersion="14.0"
21. Convert VS Solutions from SP 2010
Possible To:
• Open Solution in VS 2012
• Change to latest Framework Version
• Change SharePoint References
• Add « 15 » property to manifest
SharePointProductVersion="15.0"
22. Convert VS Solutions from SP 2010
My Strongest Recommendation!
• Create New VS SP 2013 solution
• Ensure Package Name is different (e.g. append 2013)
• Bring in code / files from SP 2010
• Ultimately package structure should be identical
• Ensure feature names and IDs are the same
– OR
• Create with new feature IDs
23. SP 2013 Full Trust Solution
• Deploy as a WSP file (i.e. solution package)
• Deploy to the Farm
• Suitable for an on-Premises deployment only
• Absolutely a supported model for SP 2013!
• Very similar to developing full trust solutions for
SharePoint 2010
27. • Design Manager
• Image Renditions
• Device Channels
• Image Renditions
• Multilingual
Web Content Management in SP 2013
• Search Driven Publishing Model
• Content Search Web Part
• Content Catalog
• Managed Navigation
• Cross Site Publishing
28. Web Content Management in SP 2013
In short, the model we use today for publishing sites in SharePoint 2010 is still “valid”, as
fundamentally publishing works the same way in SharePoint 2013
Deploy solutions to an on-premise farm
Since SharePoint 2013 has a complete “14” folder – it should be possible to “migrate” SP 2010
sites “as is” to a SharePoint 2013 box and have it run in “legacy” 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 “branding solutions” 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!
29. 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!
33. Clean URLs http://www.c.com/cars
Home Page Redirects None
Country code top-level
domains (ccTLDs)
http://www.c.com/cars
http://www.c.mx/coches
XML Sitemaps Automatically generated and referenced in
robots.txt
SEO Properties Browser title, Meta description, Meta keywords
Canonical URLs
Webmaster Tools integration Assists with ownership verification
40. 0
400
800
1200
1600
2000
2005 2010 2015 2020
INTERNET
USERS
(MM)
Global Mobile vs. Desktop
Internet User Projection,
2007-2015E, by Morgan
Stanley
Mobile Desktop
Customized Design,
Fewer bytes over the wire
… all while maintaining Search Engine
Optimization?
45. Examples of Search Driven Publishing
“Why wouldn’t
everything be
search driven?”
or in other words
“Are there times we
might not use
Search Driven
Publishing model?”
News
Commerce
Support
Knowledge Base
Internet
Intranet
Extranet
Mobile
Articles
Pictures
Video
46. Advantages of a Search Driven Publishing Model
Breakdown site
collection
boundaries
Eliminate large
list thresholds
Allows for
flexible &
dynamic
publishing
Separate
presentation
from storage
47. What makes it “Search Driven”
Q: “Don’t most
web sites already
have Search?”
A: Yes
“It’s not about searching
what we have published,
it about publishing,
republishing and
targeting content that we
have crawled…”
49. What goes into making the Search Driven
Publishing Model?
Content
Search Web
Parts
Display
Templates
Query Builder
Query Rules
Content
Catalogs
Managed
Navigation
50.
51.
52. Audio
Cameras
Computers
Home appliances
Phones
TV and video
Adaptive experiences empower web developers to create portals
based on managed navigation and a few dynamic pages
Audio
Cameras
Computers
Home appliances
Phones
TV and video
Friendly URL
http://contoso.com/cameras
Use page
maincategory.aspx
Microsoft Confidential
Search
CONTENT SEARCH WEB PART
TERM STORE
NAVIGATION
TAXONOMY
Filter query by
CATEGORY: Cameras
53. Audio
Cameras
Computers
Home appliances
Phones
TV and video
TERM STORE
NAVIGATION
TAXONOMY
Friendly URL
http://contoso.com/computers
Use page
maincategory.aspx
Adaptive experiences empower web developers to create portals
based on managed navigation and a few dynamic pages
Microsoft Confidential
Search
CONTENT SEARCH WEB PART
Filter query by
CATEGORY: Computers
64. 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
1a. Enable
2. Index 3. Connect
1b. New
70. “Create content in an Authoring
environment and use it in any
one of your SharePoint publishing
environments.”
Cross Site Publishing
URL
manipulation
Multi-branding
Authoring and
Production
tiers
Multilingual
Things to know:
1. This is not content
deployment
2. Requires the
Publishing feature
3. Requires a Catalog
Flexibility in
Page Content
71. Cross Site Publishing
Why XSP?:
1. Need to Publish >1
location
2. Need a multilingual site
3. Need to separate authoring
and publishing
72.
73.
74.
75.
76. SharePoint App Model
Is this not THE new way to develop for SP?
• This was all that was talked about at the MS
SharePoint Conference!
• No code is deployed to the SharePoint servers
• You may choose any technoloogy, you host it
• Apps are published – coporate store or public
marketplace
• Suitable for on-premise or cloud (Office 365)
77. SharePoint App Model
When are Apps suitable?
• If your primary purpose is to access data in SharePoint
• Your custom solution is a new one
• App is not ASP.NET – iOS, Win 8, Win Phone, MVC, LAMP
(PhP)
• Leverage pure web dev skills – HTML, CSS, JavaScript
(jQuery)
• You want to be able to move from on-premise to Cloud
78. App Model Overview
• For On Premise or Cloud Scenarios
• App code never runs on the SharePoint box
• App accesses SharePoint via web services
• Can use a Client Side Object Model approach
or a REST services approach
• Apps deployed to catalog (could be MS Store
or Corporate catalog)
• Have a Site or Tenancy scope
79. App Hosting
• SharePoint-Hosted Apps
– App resources added to SharePoint host
– Deployed to child site known as app web
– App can have client side code only
• Cloud-Hosted Apps
– App resources deployed on remote server
– Remote site known as remote web
– App can have client and server side code
80. Client Side Object Model (CSOM)
• Two main kinds:
– Managed CSOM (.NET / C# code)
– Javascript CSOM (aka JSOM)
• Similar to the old-school OM (which it ultimately
calls) but with extra considerations for
– Serializing and downloading only what you need back
from the server
– Minimizing the number of HTTP requests
– Async nature of JavaScript
• Keywords: Object Model
81. CSOM Improvements
• New APIs with SharePoint Server functionality
– User Profiles
– Search
– Taxonomy
– Feeds
– Publishing
– Sharing
– Workflow
– E-Discovery
– IRM
– Analytics
– Business Data
82. Search Queries: CSOM
ClientContext clientContext = new ClientContext(siteUrl);
var query = new KeywordQuery(clientContext);
query.QueryText = "Search terms";
SearchExecutor searchExecutor = new SearchExecutor(clientContext);
var resultCollection = searchExecutor.ExecuteQuery(query);
// process results
clientContext.ExecuteQuery();
83. REST Api
• REpresentational State Transfer
• Language-independent (only requires HTTP)
– I.E. JavaScript or C#
• Formulate an HTTP request to get something back
(GET) or get something done (POST or PUT)
• SharePoint’s REST API obeys OData (Open Data)
specification (well-known standard syntaxes for
querying/filtering, machine-traversable entity
relationships)
85. 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
86.
87.
88. Conclusion – Full Trust
• Full Trust Solution Development is still cool!
• Tradtional ASP.NET / C# web form
development
• Can “migrate” source code from 2010
Publishing solutions
• Great option for On Premise installation
89. Conclusion - Apps
• SharePoint Apps are the future direction for
SharePoint development
• Your first choice for new development
• Can be SharePoint or Cloud Hosted
• Suitable for On Premise or Online
• REST is API of choice for SP interaction
• Don’t need a local dev environment!
– Develop against SharePoint Online
90. Other WCM Considerations
• Migrating your brand to SP 2013 via Design
Manager
• Think Mobile! Responsive Design, Device
Channels, Image Renditions
• Search Driven Cross Site Publishing: Catalog
site, Content by Search Web Part, Metadata
Navigation
400 full-time employee consultants with offices in Toronto, Waterloo, New York, Boston, Houston, London UK and Dubai (Calgary expansion underway - planned Q4 2010)
Specialists in the design, architecture and implementation of enterprise-scale solutions in Public Sector, Travel & Tourism, Financial Services, Oil & Gas, Retail, Education and Healthcare
Recognized Experts on strategic Microsoft technologies: .NET, SharePoint, Dynamics CRM SQL Server, Performance Point, Bing Maps, CCF 2008, Silverlight, WPF, WCF, WW, BizTalk, Mobility and Microsoft Surface
Services:
Consulting & Strategy
Enterprise Solution Design & Development
User Experience Design & Information Architecture
On-site technical mentoring & training
Application hosting and support
Technical writing