Upload
bob-german
View
1.057
Download
2
Tags:
Embed Size (px)
DESCRIPTION
For all its rich functionality, SharePoint does little to help provision and organize its sites and site collections. In this session, you'll learn how to customize SharePoint to automate site provisioning for greater consistency and governance. You'll also learn how to create a directory of sites for easy navigation. The speakers will demonstrate multiple approaches from real customer engagements, including a SharePoint 2013 app, a workflow-based solution for flexible approvals, and a full-featured, multi-farm solution that can scale for a large enterprise. Come and see how a little custom code can go a long way to organize and manage SharePoint sites.
Citation preview
Bob GermanPrincipal Architect
BlueMetal Architects
Automating Site Provisioning
for SharePoint 2010 and SharePoint 2013
@Bob1German
www.devconnections.com
AUTOMATING SITE PROVISIONING
ABOUT THE SPEAKER
Bob German Principal Architect at BlueMetal Architects
Developer and architect on the SharePoint platform since it was called “Site Server 3.0”
Co-author of SharePoint 2010 Development with Silverlight for Addison-Wesley
http://blogs.msdn.com/BobGerman
BlueMetal Architects We are experts at building solutions that exactly
meet the needs of our customers by apply the right people, processes and platforms.
Our focus is on modernizing applications through expertise in Creative, Social, Development and Data.
We have offices in Boston, New York, and Chicago.
@Bob1German
@Bob1German
www.devconnections.com
AUTOMATING SITE PROVISIONING
3
www.devconnections.com
AUTOMATING SITE PROVISIONING
THE CHALLENGE
How do you empower end-users to create SharePoint
sites while making sites consistent, organized, and
discoverable?Some of us still miss the site directory, which was removed in SharePoint 2010…
@Bob1German
www.devconnections.com
AUTOMATING SITE PROVISIONING
AGENDA Sites and Site Collections
“Out of the Box” Site Creation
Three models of success
Simple: Client side
More Elaborate: Reusable workflow
Full Production: Farm solution
Key to Demos
123
1Street Performer
2LoungeAct
3FullProduction
@Bob1German
www.devconnections.com
AUTOMATING SITE PROVISIONING
SHAREPOINTCONTAINERS
Farm
Web Application
Content Database
Top-level Site List/Library
Item
Item
Top-level Site
List/Library Item
Site List/Library Item
Site List/Library Item
Content Database
Top-level Site List/Library Item
Web Application
Content Database
Top-level Site
List/Library
Item
Item
List/Library
Item
Item
Site
Site Collection
Site Collection
Site CollectionSite Collection
@Bob1German
www.devconnections.com
AUTOMATING SITE PROVISIONING
Farm
Web Application
Content Database
Top-level Site List/Library
Item
Item
Top-level Site
List/Library Item
Site List/Library Item
Site List/Library Item
Content Database
Top-level Site List/Library Item
Web Application
Content Database
Top-level Site
List/Library
Item
Item
List/Library
Item
Item
Site
Site Collection
Site Collection
• Storage Management
• Independent Administration
• Connection to IIS and server URL(s)
• Authentication and high-level policy settings
• Shared Service Connections
• A set of servers in one location
• A common configuration database
@Bob1German
www.devconnections.com
AUTOMATING SITE PROVISIONING
SITE COLLECTIONS
SharePoint Groups
Root of permission inheritance
Storage and Sandbox Quotas
Navigation
Rollups with SPQuery or Content Query Web Part
Content Types and Site Columns*
Lookup lists
Galleries (Web parts, Solutions, Master Pages, etc.)
Many things are scoped at the Site Collection
Farm
Web Application
Site Collection Top Level Site
Site
Site
Site Collection Top Level Site
Site
Site
Web Application
Site Collection Top Level Site
Site Collection Top Level SiteShared Service Provider
Content DB 1
Content DB 2
Content DB 3
A site collection cannot span content DB’s, butA content DB can have many site collections
@Bob1German
www.devconnections.com
AUTOMATING SITE PROVISIONING
SHAREPOINT SITE MODEL
Intranet
PortalFunctional Portals
Groups & Teams
Projects & Workspaces
My Sites
Publishing• Employee Communications• Functional Portals (HR,
Finance, etc.)• Group and Team Portals• Information Repositories• Business Intelligence
Collaboration• Team / project
workspaces• Social
Networking• Personal
publishing
SharedServices• Search• Metadata• User Profile• BCS
@Bob1German
www.devconnections.com
AUTOMATING SITE PROVISIONING
SHAREPOINT SITE MODEL
Intranet
PortalFunctional Portals
Groups & Teams
Projects & Workspaces
My Sites
SharedServices• Search• Metadata• User Profile• BCS • Created by
IT• Content
managed by business
• Self-service
Customized
Standardized
@Bob1German
www.devconnections.com
AUTOMATING SITE PROVISIONING
A PLACE FOR EVERYTHING
SharedServices• Search• Metadata• User Profile• BCS
Portal
PortalPortalPortalPortal
Dashboard
Dashboard
AppAppApp
RepositoryRepositoryRepository
StructuredCollaboratio
n
StructuredCollaboratio
n
StructuredCollaboratio
n
Ad-HocCollaboratio
n
Ad-HocCollaboratio
n
Ad-HocCollaboratio
n
My SiteMy SiteMy SiteMy SiteMy Site
= Site Collection
AppAppApp
Customized
Standardized
• Created by IT• Content managed
by business
• Self-service
@Bob1German
www.devconnections.com
AUTOMATING SITE PROVISIONING
Out of the BoxSelf Service Site Provisioning
• In SharePoint 2010
• In SharePoint 2013
demo
0StartingPoint
@Bob1German
www.devconnections.com
AUTOMATING SITE PROVISIONING
SCENARIO 1: SIMPLE SITE PROVISIONING
• Creates child sites in a site collection
• Runs in Javascript on the browser- Access is via the Client Object Model
- Can run in a Content Editor Web Part inSharePoint 2010 or 2013(user must have permission to create)
- Can run as a SharePoint 2013 app(app must have permission to create)
• Lists sites directly – no separatedirectory
@Bob1German
www.devconnections.com
AUTOMATING SITE PROVISIONING
Simple: Client SideClient-side site listing and creation
demo
1Street Performer
@Bob1German
www.devconnections.com
AUTOMATING SITE PROVISIONING
SCENARIO 2: SHAREPOINT 2013 WORKFLOW
• Site is created by a SharePoint 2013 Workflow(Runs outside of SharePoint in Workflow Manager)
• In SharePoint 2010, this required a Sandboxed Solution(Reliability challenges on Office 365!)
• Workflow creates a site using RESTful services(No code but non-trivial setup)
• Workflow runs as under app permissions(App Step replaces Impersonation Step in SP2013)
@Bob1German
www.devconnections.com
AUTOMATING SITE PROVISIONING
Medium: Site Creation WorkflowWorkflow calls RESTful service
demo
2LoungeAct
@Bob1German
www.devconnections.com
AUTOMATING SITE PROVISIONING
SITE DEFINITIONS AND WEB TEMPLATES
Site Definitions SharePoint ships with several site definitions – team site, blank site, etc.
A developer can build a site definition, but it’s not a good idea
Site Templates Earlier versions of SharePoint supported site templates (.stp files) when you clicked
“Save as a Template”
Now you get a declarative web template (.wsp file)
Web Templates Contain the differences between a site definition and the site you want
End users can get them with “Save as a Template” (sometimes)
Developers can build them from scratch but it’s painful
WARNINGS: Do not fake out “Save as a Template” for publishing sites … it doesn’t work well
Beware of the “Import .wsp file” option in Visual Studio to build web templates
www.devconnections.com
AUTOMATING SITE PROVISIONING
Creating a Site Collection froma Custom Web Template
demo
@Bob1German
www.devconnections.com
AUTOMATING SITE PROVISIONING
SCENARIO 3: ADVANCED SCENARIO
• Create site collections, not just child sites
• Use web templates to provide tailored and consistent sites
• Maintain metadata and directories for multiple site types
• Work robustly across farms
@Bob1German
www.devconnections.com
AUTOMATING SITE PROVISIONING
APPS FARM
Site Directory
Site Collection
Metadata
Site Collection
Metadata
SITE COLLECTION: REQUEST AND CREATION
RequestList
RequestList
RequestList
WorkflowWorkflowWorkflow
COLLAB FARM
Timer
Job
Timer
Job
Timer
Job
Site Collection
Metadata
Web app 1: Custom Apps
Web app 2: Community Sites
Web app 3: Project Sites
www.devconnections.com
AUTOMATING SITE PROVISIONING
Full Featured: Farm SolutionMulti-farm solution
Uses any approval workflow
Maintains metadata and directory
Could create sites or site collections with this design
demo
3FullProduction
@Bob1German
www.devconnections.com
AUTOMATING SITE PROVISIONING
SUMMARY
Automate site creation to- Balance user empowerment with governance
- Provision sites consistently
- Maintain a directory and site metadata
Choose wisely between sites and site collections
In SharePoint Apps- Elevate privileges with workflow “App Steps”
In SharePoint 2013 apps- Elevate privileges via app identities
@Bob1German
www.devconnections.com
AUTOMATING SITE PROVISIONING
THANK YOU!
@Bob1German