turbo-charge collaboration by automating site provisioning in sharepoint 2010
DESCRIPTION
Turbo charge collaboration by automating site provisioning in share point 2010 presented by Bob German 6 March 2013 at SPTechCon San FranciscoTRANSCRIPT
Turbo-Charge Collaboration by Automating Site Provisioning
Bob German
SharePoint Practice Director
BlueMetal Architects
About the Speaker
Bob GermanSharePoint Practice Director and 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
Some of us still miss the site directory, which was removed in SharePoint 2010…
The Challenge
How do you empower end-users to create SharePoint sites while making sites consistent, organized, and discoverable?
@Bob1German
Agenda
Sites and Site Collections
“Out of the Box” Site Creation
Three models of success① Very simple: Client side
② Medium: Sandboxed workflow
③ Full featured: Farm solution
1
1
2
2
33
@Bob1German
SharePoint Containers
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/LibraryItem
Item
List/LibraryItem
ItemSite
Site Collection
Site Collection
Site Collection
Site Collection
SharePoint Containers
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/LibraryItem
Item
List/LibraryItem
ItemSite
• Storage Management
• Independent Administration
• Connection to IIS and server URL(s)
• Authentication and high-level policy settings
• Shared Service Connections
Site Collection
Site Collection
Site Collection
Site Collection
• A set of servers in one location
• A common configuration database
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 Collection Top Level Site
Web Application
Site Collection Top Level Site
Site Collection Top Level Site
Shared 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
SharePoint Site Model
IntranetPortal
Functional 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
SharePoint Site Model
IntranetPortal
Functional 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
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
Out of the BoxSelf Service Site Collection Provisioning
demo@Bob1German
12Scenario 1: Simple Site Provisioning
• Creates child sites in a site collection
• Runs on the client using the ClientObject Model- Can run in a Content Editor Web Part!
- Can run as a SharePoint 2013 app!
• Lists sites directly – no separatedirectory
• Users need to have permission to create a site
Very Simple: Client SideClient-side site listing and creation
Works in Office 365 or On-Premises – or even as a SharePoint 2013 app!
demoThe same code works in a
SharePoint 2013 app!
@Bob1German
14Scenario 2: Custom Workflow Activity
• Runs in the sandbox and on Office 365
• Custom workflow action creates and configures a child site
• Out of the box workflow actions provide approval and directory update
• Workflow runs as a privileged user to allow any user to request a site
Medium: Sandboxed WorkflowCustom Action
Works in Office 365 or On-Premises
demo@Bob1German
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 (.spt 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
Creating a Site Collection froma Custom Web Template
demo@Bob1German
18Scenario 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
APPS FARM
Site DirectorySite Collection
Metadata
Site Collection
Metadata
Site Collection: Request and Creation
RequestList
RequestList
RequestList
WorkflowWorkflowWorkflow
COLLAB FARM
TimerJob
TimerJob
TimerJob
Site Collection
Metadata
Web app 1: Custom AppsWeb app 2: Community SitesWeb app 3: Project Sites@Bob1German
Full Featured: Farm SolutionMulti-farm solution
Uses any approval workflow
Maintains metadata and directory
Could create sites or site collections with this design
demo@Bob1German
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 sandboxed solutions- Elevate privileges with workflow “Impersonation Steps”- Beware of calling sandboxed solutions from sandboxed
solutions
In SharePoint 2013 apps- Elevate privileges via app identities
@Bob1German
Thank You!
@Bob1German