automating site provisioning - sharepoint connections 2013

23
Bob German Principal Architect BlueMetal Architects Automating Site Provisioning for SharePoint 2010 and SharePoint 2013 @Bob1German

Upload: bob-german

Post on 08-Jun-2015

1.055 views

Category:

Technology


2 download

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.

TRANSCRIPT

Page 1: Automating site provisioning - SharePoint Connections 2013

Bob GermanPrincipal Architect

BlueMetal Architects

Automating Site Provisioning

for SharePoint 2010 and SharePoint 2013

@Bob1German

Page 2: Automating site provisioning - SharePoint Connections 2013

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

Page 3: Automating site provisioning - SharePoint Connections 2013

www.devconnections.com

AUTOMATING SITE PROVISIONING

3

Page 4: Automating site provisioning - SharePoint Connections 2013

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

Page 5: Automating site provisioning - SharePoint Connections 2013

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

Page 6: Automating site provisioning - SharePoint Connections 2013

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

Page 7: Automating site provisioning - SharePoint Connections 2013

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

Page 8: Automating site provisioning - SharePoint Connections 2013

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

Page 9: Automating site provisioning - SharePoint Connections 2013

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

Page 10: Automating site provisioning - SharePoint Connections 2013

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

Page 11: Automating site provisioning - SharePoint Connections 2013

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

Page 12: Automating site provisioning - SharePoint Connections 2013

www.devconnections.com

AUTOMATING SITE PROVISIONING

Out of the BoxSelf Service Site Provisioning

• In SharePoint 2010

• In SharePoint 2013

demo

0StartingPoint

@Bob1German

Page 13: Automating site provisioning - SharePoint Connections 2013

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

Page 14: Automating site provisioning - SharePoint Connections 2013

www.devconnections.com

AUTOMATING SITE PROVISIONING

Simple: Client SideClient-side site listing and creation

demo

1Street Performer

@Bob1German

Page 15: Automating site provisioning - SharePoint Connections 2013

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

Page 16: Automating site provisioning - SharePoint Connections 2013

www.devconnections.com

AUTOMATING SITE PROVISIONING

Medium: Site Creation WorkflowWorkflow calls RESTful service

demo

2LoungeAct

@Bob1German

Page 17: Automating site provisioning - SharePoint Connections 2013

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

Page 18: Automating site provisioning - SharePoint Connections 2013

www.devconnections.com

AUTOMATING SITE PROVISIONING

Creating a Site Collection froma Custom Web Template

demo

@Bob1German

Page 19: Automating site provisioning - SharePoint Connections 2013

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

Page 20: Automating site provisioning - SharePoint Connections 2013

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

Page 21: Automating site provisioning - SharePoint Connections 2013

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

Page 22: Automating site provisioning - SharePoint Connections 2013

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

Page 23: Automating site provisioning - SharePoint Connections 2013

www.devconnections.com

AUTOMATING SITE PROVISIONING

THANK YOU!

@Bob1German