Automating Site Provisioning in SharePoint - Presented 7/27/13 at SharePoint Saturday NYC

  • 2,639 views
Uploaded on

Automating Site Provisioning in SharePoint - Presented 7/27/13 at SharePoint Saturday NYC - by Bob German and Beatrice Baciu

Automating Site Provisioning in SharePoint - Presented 7/27/13 at SharePoint Saturday NYC - by Bob German and Beatrice Baciu

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
2,639
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
47
Comments
2
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Automating Site Provisioning for SharePoint 2010 and 2013 Beatrice Baciu – Sr. SharePoint Software Engineer Bob German – SharePoint Principal Architect
  • 2. SharePoint Principal Architect @Bob1German http://blogs.msdn.com/B obGerman/ Meet the Presenters
  • 3. 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? @BeatriceBaciu – @Bob1German
  • 4. 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 3 3 @BeatriceBaciu – @Bob1German
  • 5. 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/Library Item Item List/Library Item Item Site Site Collection Site Collection Site Collection Site Collection
  • 6. 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/Library Item Item List/Library Item Item Site • 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
  • 7. 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 Content DB 1 Content DB 2 Content DB 3 A site collection cannot span content DB’s, but A content DB can have many site collections @Bob1German
  • 8. SharePoint Site Model Intranet Portal 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 Shared Services • Search • Metadata • User Profile • BCS @Bob1German
  • 9. SharePoint Site Model Intranet Portal Functional Portals Groups & Teams Projects & Workspaces My Sites Shared Services • Search • Metadata • User Profile • BCS • Created by IT • Content managed by business • Self-service Customized Standardized @Bob1German
  • 10. A Place for Everything Shared Services • Search • Metadata • User Profile • BCS Portal PortalPortalPortalPortal Dashboard Dashboard App App App Repository Repository Repository Structured Collaboration Structured Collaboration Structured Collaboration Ad-Hoc Collaboration Ad-Hoc Collaboration Ad-Hoc Collaboration My Site My Site My Site My Site My Site = Site Collection App App App Customized Standardized • Created by IT • Content managed by business • Self-service @Bob1German
  • 11. Out of the Box Self Service Site Provisioning • In SharePoint 2010  • In SharePoint 2013  @BeatriceBaciu – @Bob1German
  • 12. 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 in SharePoint 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 separate directory
  • 13. Simple: Client Side Client-side site listing and creation @BeatriceBaciu – @Bob1German
  • 14. 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)
  • 15. Medium: Site Creation WorkflowWorkflow calls RESTful service @BeatriceBaciu – @Bob1German
  • 16. 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
  • 17. Creating a Site Collection from a Custom Web Template @BeatriceBaciu – @Bob1German
  • 18. 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 @BeatriceBaciu – @Bob1German
  • 19. APPS FARM Site DirectorySite Collection Metadata Site Collection Metadata Site Collection: Request and Creation Request List Request List Request List 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
  • 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 @BeatriceBaciu – @Bob1German
  • 21. Full Featured: Farm Solution Multi-farm solution Uses any approval workflow Maintains metadata and directory Could create sites or site collections with this design @BeatriceBaciu – @Bob1German
  • 22. 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 @BeatriceBaciu – @Bob1German
  • 23. 23 | SharePoint Saturday New York City 2013 Housekeeping • Please remember to turn in your filled out bingo cards and event evaluations for prizes. • SharePint is sponsored by Slalom at Whiskey Trader (Between 55th and 56th on 6th Avenue). • Follow SharePoint Saturday New York City on Twitter @spsnyc and hashtag #spsnyc
  • 24. Thanks to Our Sponsors!
  • 25. Thank You! BOSTON | NEW YORK | CHICAGO 44 Pleasant Street, Watertown, MA 02472 www.bluemetal.com Blog.bluemetal.com @bluemetalinc @BeatriceBaciu – @Bob1German