#SPFSeattle @pgbhoyar
Getting Started with Content
Deployment
Prashant G Bhoyar
#SPFSeattle @pgbhoyar
2
• Senior Consultant at Portal Solutions
• Technical Reviewer of the book “Pro :
SharePoint 2013 Administration”
• Recipient of Antarctic Service Medal
• University of Maryland College Park
Alumni
Who AM I ?
#SPFSeattle @pgbhoyar
Amazing Antarctica Adventure – Nov/Dec 2008
#SPFSeattle @pgbhoyar
Amazing Antarctica Adventure – Nov/Dec 2008
#SPFSeattle @pgbhoyar
About Portal Solutions
We deliver Digital
Workplace Products
and Solutions that help
organizations share
what they know and
find what they need by
connecting people,
data, and content.
5
#SPFSeattle @pgbhoyar
6
• Sharing is Caring
• Ask Questions
 Learn from yesterday, live
for today, hope for
tomorrow. The important
thing is not to stop
questioning. –Albert
Einestein
• Let the learning begins…
About Today’s Session
Image Source : http://onlyfreewallpaper.com/view/smiley-kitty-1280x1024.html
#SPFSeattle @pgbhoyar
• What is Content Deployment?
• Content Deployment Topologies
• How does content deployment
work?
• How to setup Content
Deployment?
• Common Misconceptions
• How to Test/Debug Content
Deployment?
• Common Issues and Fixes
• Best Practices
Agenda
Outcome:
Familiarity with
Content
Deployment
Objective: Getting
Started with
Content
Deployment
#SPFSeattle @pgbhoyar
Content Deployment is available only in On Premise version of SharePoint 2007,
2010, 2013 and may be available in SharePoint 2016
Spoiler Alert…
#SPFSeattle @pgbhoyar
Dilbert Time…
#SPFSeattle @pgbhoyar
#SPFSeattle @pgbhoyar
 To create websites
 Intranet
 Extranet
 Public Facing WebSites
 Document Management System
 Collaboration System
 Content Management System
11
What is SharePoint?
#SPFSeattle @pgbhoyar
12
Image Source : http://threestepsbusiness.com/content-is-king-bill-gates/
Bill Gates Once Said..
#SPFSeattle @pgbhoyar
#SPFSeattle @pgbhoyar
• Moving published contents from one site collection to another
Authors
Authoring
Environment
Publishing
Environment
Internet/Intranet
visitors
What is Content Deployment?
#SPFSeattle @pgbhoyar
What is Content
Deployment? Allows Designers and Content
Publishers to work on Non
Production Environment
Helps in Regulatory/Legal
Requirements
Helps in applying tighter security
Helps in disaster recovery
Good for public facing web sites
and static contents
#SPFSeattle @pgbhoyar
 List
 Libraries
 Documents
 Metadata
 Pages
 Other resources used by the deployed pages
16
What’s get Carried Over?
#SPFSeattle @pgbhoyar
 Full Trust Solutions
 Workflows
 Full Trust Assemblies
 File System Changes
 Configuration Files ( web.config)
17
What’s NOT get Carried Over?
#SPFSeattle @pgbhoyar
#SPFSeattle @pgbhoyar
LessComplexity
• Single Farm
• Source and Target in separate Content Database
Single Farm
Authoring Site
Collection
Production
Site Collection
Content Deployment Topology
#SPFSeattle @pgbhoyar
LessComplexity
• Two Farm ( Authoring and Production)
Authoring
Farm
Production Farm
Content Deployment Topology
#SPFSeattle @pgbhoyar
LessComplexity
• Staged Approach (Development Staging and Production)
Authoring Farm Production FarmStage Farm
Alternate
Deployment Path
Content Deployment Topology
#SPFSeattle @pgbhoyar
#SPFSeattle @pgbhoyar
Start Content
Deployment Job
Check Change
Token on Source
Server
Export Files to
local temp
directory
Package into .cab
files
Send .cab files to
destination server
Poll Destination
Server for
Status
Update Saved
change token on
source server
Content
Deployment
Job ends.
Is
Import
Done?
Copy .cab files to
local temp directory
Extract .cab files
Import Files into
Databases
Return Import
Status
Import
Status
=Succ
ess
No
Yes
Discard Change
Token
No
Yes
Source Server Destination Server
http:/
/tech
net.m
icros
oft.co
m/en
-
us/lib
rary/
ee721
058.a
spx
#SPFSeattle @pgbhoyar
Typical Content Deployment Life Cycle
Setup /
Configuratio
n
• Identify the requirements
• Identify the topology
• Configuration
Test/Debug
• Test/Pilot Run
Adoption
• Content Deployment Jobs are Live
• Troubleshooting/Maintenance
#SPFSeattle @pgbhoyar
#SPFSeattle @pgbhoyar
26
Requires Lot of Backend Work
#SPFSeattle @pgbhoyar
How to Setup Content
Deployment? Configure Destination Farm
Activate Feature in Source Site
Collection
Create Target Site Collection
Configure Source Farm
Create Content Deployment Path
Create Content Deployment Jobs
#SPFSeattle @pgbhoyar
LessComplexity
Configure Destination Farm
#SPFSeattle @pgbhoyar
• For All jobs across the
farm
• Accept Content
Deployment Jobs
• Import Server
• Export Server
• Connection Security
• Temporary Files
• Reporting
Configure Destination
Farm
#SPFSeattle @pgbhoyar
How to Setup Content
Deployment? Configure Destination Farm
Activate Feature in Source Site
Collection
Create Target Site Collection
Configure Source Farm
Create Content Deployment Path
Create Content Deployment Jobs
#SPFSeattle @pgbhoyar
Activate Feature in Source Site Collection
#SPFSeattle @pgbhoyar
How to Setup Content
Deployment? Configure Destination Farm
Activate Feature in Source Site
Collection
Create Target Site Collection
Configure Source Farm
Create Content Deployment Path
Create Content Deployment Jobs
#SPFSeattle @pgbhoyar
• Create Empty Site Collection and do
not specify template
OR
• New-SPSite –Url http://siteurl –
OwnerAlias “domainnameusername”
Create Target Site Collection
#SPFSeattle @pgbhoyar
How to Setup Content
Deployment? Configure Destination Farm
Activate Feature in Source Site
Collection
Create Target Site Collection
Configure Source Farm
Create Content Deployment Path
Create Content Deployment Jobs
#SPFSeattle @pgbhoyar
Configure Source Farm
#SPFSeattle @pgbhoyar
• Name
• Source Web
Application and Site
Collection
• Destination Central
Admin
• Authentication
• Destination Web
App and Site
Collection
• User Names
• Security Information
• Create Content
Deployment Path
Configure Source Farm
#SPFSeattle @pgbhoyar
If you are lucky…you will not get this error
37
#SPFSeattle @pgbhoyar
Troubleshooting Steps
38
#SPFSeattle @pgbhoyar
Troubleshooting Steps
39
• De active all the features until the error messages disappear
• Painful 10-30 minutes …
#SPFSeattle @pgbhoyar
Configure Source Farm
• Create Content Deployment Path
#SPFSeattle @pgbhoyar
How to Setup Content
Deployment? Configure Destination Farm
Activate Feature in Source Site
Collection
Create Target Site Collection
Configure Source Farm
Create Content Deployment Path
Create Content Deployment Jobs
#SPFSeattle @pgbhoyar
• Name
• Path
• SQL Snapshots
• Scope
• Frequency
• Notification
Configure Source Farm
• Create Content Deployment Job
#SPFSeattle @pgbhoyar
Types of Content Deployment Jobs
• Full
 Deploys all the content
 Keep the Destination Content
• Incremental
 Deploys new/updated/deleted content
• Quick Deploy
 Only for Publishing Pages
 No dependent list/library and other assets
 Requires Publishing Infrastructure Feature Enabled
#SPFSeattle @pgbhoyar
Configure Source Farm
• Each farm support maximum 200 Content Deployment Jobs
#SPFSeattle @pgbhoyar
DEMO
#SPFSeattle @pgbhoyar
#SPFSeattle @pgbhoyar
 One way communication only
 Require Identical Version of SharePoint
 Cross version is not supported
 No full trust solutions
 No Configuration changes
 No File system Changes
47
Common Misconceptions
#SPFSeattle @pgbhoyar
#SPFSeattle @pgbhoyar
49
Common Issues and Fixes
 Latency between when the content is
authored/published and when it is
live
 Authors having direct access to
Target
 Content Deployment job is stuck
 Custom Solutions modifying target
contents
#SPFSeattle @pgbhoyar
PowerShell Commands
• To Display Deployment Paths Configured on the Farm
• Get-SPContentDeploymentPath
• Display Deployment Jobs Configured on the Farm
• Get-SPContentDeploymentJob
• Get a Specific Content Deployment Job
• $job = Get-SPContentDeploymentJob -Identity “JobName“
• To Get a Specific Content Deployment Path
• $path = Get-SPContentDeploymentPath -Identity "PathName“
#SPFSeattle @pgbhoyar
#SPFSeattle @pgbhoyar
52
• Identical Updates in Source and Destination
Farms
• Create the target site collection with no
template
• Do not modify the contents directly in Target
Site
• Run Deployment Jobs at different time
intervals
• After first full deployment, run incremental
jobs only
• In production restart the Timer Services using
command
• “Get-SPTimerJob job-timer-recycle | Start-SPTimerJob”
Best Practices
#SPFSeattle @pgbhoyar
 Contents in the Target are dynamic
 Users will edit the contents in the Target System
 Better alternatives are available like Cross Site
Publishing of SharePoint 2013
53
When not to use Content Deployment?
#SPFSeattle @pgbhoyar
Difference between Content Deployment and Cross Site
Publishing
Content Deployment Cross Site Publishing
• Need access to Central Admin
• Recreate the content
• Deploy contents as it is
• Not supported in Office365/SharePoint
Online
• Not required
• Re use the content
• Full control over how content is
rendered in Publishing Site
• Supported in Office365
/SharePoint Online( added later )
#SPFSeattle @pgbhoyar
References
Appendix/Resources
MSDN/TechNet:
http://technet.microsoft.com/en-us/library/ee721058.aspx
http://blogs.technet.com/b/tothesharepoint/archive/2013/07/17/changes-
to-content-deployment-in-sharepoint-server-2013.aspx
http://blogs.technet.com/b/stefan_gossner/archive/2009/10/30/content-
deployment-the-complete-guide-part-1-the-basics.aspx
Books:
Pro SharePoint 2013 – Rob Garrett
#SPFSeattle @pgbhoyar
Q&A
#SPFSeattle @pgbhoyar
Questions? Feedback? Contact me:
 Twitter: @PGBhoyar
 Blog: http://pgbhoyar.com (limited contents)
 Email: pgbhoyar@gmail.com
 Speaker Evaluation : Please fill out speaker evaluations
Thank You
Organizers, Sponsors and You for Making this Possible.

Getting started with Content Deployment in SharePoint 2013