2. 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.
Bob German
SharePoint 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
About the Speaker @Bob1German
3. The Challenge
How do you empower
end-users to create
SharePoint sites while
making sites
consistent, organized, a
nd discoverable?
Some of us still miss the site
directory, which was removed in
SharePoint 2010… @Bob1German
4. 1
Sites and Site Collections
“Out of the Box” Site Creation
Three models of success 2
① Very simple: Client side
1
② Medium: Sandboxed workflow
2
③ Full featured: Farm solution
3
3
Agenda @Bob1German
5. Item Site Collection
Top-level
List/Library
Site
Item
Content
Database List/Library Item Site Collection
Top-level
Site List/Library Item
Web Site
Application
Site List/Library Item
Content Top-level Site Collection
List/Library Item
Database Site
Farm
Item Site Collection
List/Library
Item
Web Content Top-level
Item
Application Database Site
List/Library
Item
Site
SharePoint Containers
6. • Independent
Administration Item Site Collection
Top-level
List/Library
• Storage Management Site
Item
• Connection to IIS and server
URL(s)
Content
• Authentication and high- Database List/Library Item Site Collection
level policy settings
• Shared Service Connections
Top-level
Site List/Library Item
Web Site
• A set of servers in Application
one location Site List/Library Item
• A common
configuration
database Content Top-level Site Collection
List/Library Item
Database Site
Farm
Item Site Collection
List/Library
Item
Web Content Top-level
Item
Application Database Site
List/Library
Item
Site
SharePoint Containers
7. Many things are scoped at the Site Collection
SharePoint Groups
Root of permission inheritance
Storage and Sandbox Quotas Content DB 1
Navigation
Content DB 2
Rollups with SPQuery or
Content Query Web Part Content DB 3
Content Types and Site
Columns* A site collection cannot span content DB’s, but
A content DB can have many site collections
Lookup lists
Galleries (Web parts, Solutions, Master Pages, etc.)
Site Collections @Bob1German
8. SharePoint Site Model
Shared Intranet
Services Publishing
Portal • Employee Communications
• Search • Functional Portals (HR,
• Metadata Functional Finance, etc.)
Portals
• User Profile • Group and Team Portals
• BCS • Information Repositories
Groups & Teams • Business Intelligence
Collaboration
Projects & Workspaces • Team / project
workspaces
• Social
Networking
My Sites • Personal
publishing
@Bob1German
9. SharePoint Site Model
Shared Intranet
Services Customized
Portal
• Search
• Metadata Functional
Portals
• User Profile
• BCS • Created by IT
• Content
Groups & Teams managed by
business
• Self-service
Projects & Workspaces
Standardized
My Sites
@Bob1German
10. A Place for Everything
Shared
Services Portal Customized
• Search Dashboard
Dashboard
• Metadata App
• User Profile
App
App Portal
Portal
Portal
Portal
• BCS Repository
Repository
Repository
• Created by IT
• Content
managed by
Structured business
Structured
Structured
Collaboration
Collaboration
Collaboration
• Self-service
Ad-Hoc
App Ad-Hoc
App Ad-Hoc
Collaboration
App Collaboration
Collaboration
Standardized
My Site
My Site
My Site
My Site
My Site
= Site Collection @Bob1German
11. Out of the Box
Self Service Site Collection Provisioning
@Bob1German
12. • Creates child sites in a site collection
• Runs on the client using the Client
Object Model
- Can run in a Content Editor Web Part!
- Can run as a SharePoint 2013 app!
• Lists sites directly – no separate
directory
• Users need to have permission to create a site
Scenario 1: Simple Site Provisioning 12
13. The same code works in a
SharePoint 2013 app!
Very Simple: Client Side
Client-side site listing and creation
Works in Office 365 or On-Premises – or even as a SharePoint 2013 app!
@Bob1German
14. • 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
Scenario 2: Custom Workflow Activity 14
16. 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
Site Definitions and Web Templates
17. Creating a Site Collection
from
a Custom Web Template
@Bob1German
18. • 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
Scenario 3: Advanced Scenario
@Bob1German 18
19. Site Collection Site Collection Site Directory Site Collection
Metadata Metadata Metadata
Timer Timer Timer
Job Job Job
Workflow Workflow Workflow
Request Request Request
List List List
APPS FARM COLLAB FARM
Web app 1: Custom Apps
Web app 2: Community Sites
Site Collection: Request and Creation
@Bob1German Web app 3: Project Sites
20. Full Featured: Farm Solution
Multi-farm solution
Uses any approval workflow
Maintains metadata and directory
Could create sites or site collections with this design
@Bob1German
21. 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
Summary @Bob1German