turbo-charge collaboration by automating site provisioning in sharepoint 2010

22
Turbo-Charge Collaboration by Automating Site Provisioning Bob German SharePoint Practice Director BlueMetal Architects

Upload: bluemetalinc

Post on 26-Jan-2015

705 views

Category:

Technology


2 download

DESCRIPTION

Turbo charge collaboration by automating site provisioning in share point 2010 presented by Bob German 6 March 2013 at SPTechCon San Francisco

TRANSCRIPT

Page 1: Turbo-Charge Collaboration by Automating Site Provisioning in SharePoint 2010

Turbo-Charge Collaboration by Automating Site Provisioning

Bob German

SharePoint Practice Director

BlueMetal Architects

Page 2: Turbo-Charge Collaboration by Automating Site Provisioning in SharePoint 2010

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

Page 3: Turbo-Charge Collaboration by Automating Site Provisioning in SharePoint 2010

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

Page 4: Turbo-Charge Collaboration by Automating Site Provisioning in SharePoint 2010

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

Page 5: Turbo-Charge Collaboration by Automating Site Provisioning in SharePoint 2010

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

Page 6: Turbo-Charge Collaboration by Automating Site Provisioning in SharePoint 2010

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

Page 7: Turbo-Charge Collaboration by Automating Site Provisioning in SharePoint 2010

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

Page 8: Turbo-Charge Collaboration by Automating Site Provisioning in SharePoint 2010

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

Page 9: Turbo-Charge Collaboration by Automating Site Provisioning in SharePoint 2010

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

Page 10: Turbo-Charge Collaboration by Automating Site Provisioning in SharePoint 2010

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

Page 11: Turbo-Charge Collaboration by Automating Site Provisioning in SharePoint 2010

Out of the BoxSelf Service Site Collection Provisioning

demo@Bob1German

Page 12: Turbo-Charge Collaboration by Automating Site Provisioning in SharePoint 2010

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

Page 13: Turbo-Charge Collaboration by Automating Site Provisioning in SharePoint 2010

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

Page 14: Turbo-Charge Collaboration by Automating Site Provisioning in SharePoint 2010

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

Page 15: Turbo-Charge Collaboration by Automating Site Provisioning in SharePoint 2010

Medium: Sandboxed WorkflowCustom Action

Works in Office 365 or On-Premises

demo@Bob1German

Page 16: Turbo-Charge Collaboration by Automating Site Provisioning in SharePoint 2010

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

Page 17: Turbo-Charge Collaboration by Automating Site Provisioning in SharePoint 2010

Creating a Site Collection froma Custom Web Template

demo@Bob1German

Page 18: Turbo-Charge Collaboration by Automating Site Provisioning in SharePoint 2010

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

Page 19: Turbo-Charge Collaboration by Automating Site Provisioning in SharePoint 2010

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

Page 20: Turbo-Charge Collaboration by Automating Site Provisioning in SharePoint 2010

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

Page 21: Turbo-Charge Collaboration by Automating Site Provisioning in SharePoint 2010

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

Page 22: Turbo-Charge Collaboration by Automating Site Provisioning in SharePoint 2010

Thank You!

@Bob1German