Office 365: Attack of the Clones! Building reusable site templates with the Office 365 PnP Framework.

Slides:



Advertisements
Similar presentations
Designing, Deploying and Managing Workflow in SharePoint Sites Steve Heaney Product Development Manager OBS
Advertisements

Implementing enterprise governance can sometimes feel like trying to corral an exuberant crowd.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Build /16/2017 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION.
St. Louis Day of Dot Net 2011 Building Web Parts for an Office 365 SharePoint Site Becky Bertram Independent SharePoint Consultant SharePoint MVP, MCSD.NET,
Development models for on-premises Transformation approaches Farm solution considerations.
Microsoft SharePoint 2013 SharePoint 2013 as a Developer Platform
Microsoft ® Official Course Introducing Apps for SharePoint SharePoint Practice Microsoft SharePoint 2013.
Becky Bertram SharePoint MVP
Site Provisioning Options Web Template Fundamentals Web Templates and App Webs Custom Solutions for Site Provisioning Wrap Up.
Intro to Apps Minnesota SharePoint User Group Raymond April 2014.
A GUIDE TO SHAREPOINT 2007 CUSTOMIZATION OPTIONS Heather Solomon, WSS MVP.
Transform Your Business with SP Business Suite In the Cloud or On-Premise.
WSS 3.0 Architecture and Enhancements Ashvini Shahane Member – Synergetics Research Lab.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
DYNAMICS CRM AS AN xRM DEVELOPMENT PLATFORM Jim Novak Solution Architect Celedon Partners, LLC
Office 365 Platform Flexible Tools Understand different provisioning options and their advantages and disadvantages…
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
Enabling Developers with Development Features Presented by: Ricardo Wilkins SharePoint Solutions Architect.
SharePoint Online – Developing Solutions for the Cloud Chris Mayo Microsoft Corporation
Michael Hofer Senior Consultant Microsoft Corporation.
Advanced Technology Days 18. i 19. studenog 2015., Cinestar Arena Centar.
Cloud Roadshow. Advanced SharePoint add-in Development.
Copyright © 2006 Pilothouse Consulting Inc. All rights reserved. Site Definitions and Features Overview Review of SharePoint 2003 site definitions What’s.
Adxstudio Portals Training
Reduce, Reuse, Recycle. Housekeeping… Download EventBoard Mobile and remember to fill out session evaluations… Phasers set to stun, mobile devices set.
Yaroslav Pentsarskyy Involved in SharePoint since 2003 SharePoint MVP (2009- Present) Blog: sharemuch.com.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
Update: Office & SharePoint Development Feb 2016.
NET Development on Microsoft SharePoint Technology Part 4: Templates, Features, and Solution Deployment Mick Badran Breeze Training Consulting Trainer.
The 2007 Microsoft Office System Servers Enterprise Content Management, Workflow and Forms Martin Parry Developer and Platform Group, Microsoft Ltd
Welcome To Going from SharePoint On Premise to SharePoint Online Speaker: Matthew W. Tallman #SharePointCincy.
Both Dutch and Swedish nationality 20+ years of industry experience Living in Stockholm, Sweden MCSM, MCM, MVP, MCSE, MCSD, MCSA, MCPD, MCITP, MCTS PnP.
Modern Development Technologies in SharePoint SHAREPOINT SATURDAY OMAHA APRIL, 2016.
Software services delivering SharePoint, Mobile, and Business Intelligence solutions Understanding and implementing the remote provision pattern in SharePoint.
Copyright © New Signature Who we are: Focused on consistently delivering great customer experiences. What we do: We help you transform your business.
Martina Grom MVP Office 365 How to (remote) control Office 365 with Azure Toni Pohl MVP Client Dev
Trimantra Software Solution Offshore Software Development Outsourcing Company Visit :
Apps for the modern enterprise INTRODUCTION TO SHAREPOINT AS A DEVELOPMENT PLATFORM RON COURVILLE.
A Developer’s Introduction to SharePoint 2013 Apps Ryan McIntyre, MCITP, MCPD National
Virtual techdays INDIA │ November 2010 SharePoint 2010 – Your one stop shop for all portal requirements Saranya Sriram │ Developer Evangelist, Microsoft.
SharePoint Online and PowerShell?
Introduction to SharePoint 2007 Brendon Schwartz
From SharePoint to Office 365 Development
About Bill Bill Baer (ˈbɛər)
SharePoint Provisioning Success with PnP PowerShell
Automate Custom Solutions Deployment on Office 365 and Azure
Line of Business Solutions in SharePoint Online
SPC Developer 6/25/2018 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Who Needs a Developer for Automated SharePoint Provisioning?
Upgrading from Full Trust Code to Add-in Model and SharePoint Framework Paolo Pialorsi Senior Consultant - PiaSys.com Track: DEV | Level:
PowerApps for SharePoint Users
SharePoint Framework Extensions
Advancing the SharePoint Developer Community (PnP)
SharePoint Online Development Best Practices
Application Lifecycle Management – Best Practices for SharePoint and Office App development November 2015.
Transforming SharePoint Farm Solutions to the Add-in Model
Nintex 2013 and DocuSign Workflow
Practical guide to build Modern Intranet sites with SharePoint Communication Sites Asish Padhy.
Discover what’s new and what’s coming to SharePoint Modern Team sites
Rich single page applications with SharePoint
Introduction to SharePoint Framework
02 | Controlling branding in SharePoint using app model
03 | Site collection and site provisioning with app model
Site scripts and Site Design
SharePoint 2019 Overview and Use SPFx Extensions
Microsoft Connect /28/2019 2:20 AM
SharePoint Development
Explore PnP Partner Pack for IT pros, admins and architects
St. Louis Day of Dot Net 2011 Building Web Parts for an Office 365 SharePoint Site Becky Bertram Independent SharePoint Consultant SharePoint MVP, MCSD.NET,
Presentation transcript:

Office 365: Attack of the Clones! Building reusable site templates with the Office 365 PnP Framework

Agenda Introduction The case for site templates Old way New way Introducing Office Dev PnP Demos Getting started - PnP resources Questions

Chris Solutions Architect, PSC Group (Schaumburg, IL) 7 years developing for SharePoint Document Management Branding Managed Metadata Provisioning and Governance Office 365 Nintex Forms & Workflow Current focus: app modernization & cloud readiness

1.SharePoint Developer  Office 365 Developer 2. This is an AMAZING time to be an Office 365 developer!

Hey, listen! Some images used on these slides have been borrowed from the Office Dev PnP site. These– especially the artsy ones– are not my creation! A lot of the code you see during this presentation was written by me, but it’s built on frameworks and sample code from the PnP community I will tweet out links after the presentation so you can: Go to the Office Dev PnP site Connect to the GitHub repo Download code from demos View this slide deck,

Raise your hand if: You’re an end user, power user or BA You’re an administrator You’re a developer / architect / consultant / etc. You use SharePoint 2013 on-premise You use Office 365 You use a hybrid farm You’ve ever tried to provision custom sites in SharePoint You’ve heard of the OfficeDev Patterns and Practices community You’ve use a PnP framework, solution or sample project

WARNIN G: CODE

Community: Current SharePoint Initiatives Application Modernization “Get me to the cloud!” Re-write server-side LOB applications to use “App Model” CSOM Decrease dependencies on feature.xml Eliminate custom master pages Increase OOB feature usage Take advantage of NEW Office 365 features Unified Experience  Unified Endpoint New APIs for Office Graph, Delve, etc. Consistency across Add-Ins: Office, SharePoint, etc. Build a better user experience Modern web applications over “SharePoint-y” UI New mobile experiences Office mobile apps PowerApps Next-generation portals Lean on provider- hosted apps

The case for site templates WHY Easily reproduce common business customizations Enforce governance Provide consistent user experience WHAT Fields Content types Lists and libraries Groups Permissions Pages Web parts Navigation Look and feel Custom actions

The old way Site Settings  Save as template Sometimes worked Import to Visual Studio (disaster) Site Definitions onet.xml (kinda hairy) Publishing? Good luck! Custom subclass of SPWebProvisioningProvider Create site, then apply changes (this is good!) Requires full-trust code deployed as solution in Central Administration Great on-prem solution, but very advanced

Limitations in Office 365 No full-trust code  No custom SPWebProvisioningProvider “Save as template” still unreliable Use of sandbox solutions and Feature.xml discouraged Why are these limitations in place? Ensure forwards compatibility Provide flexibility for: Developers Administrators Users

Client-side development in Office 365 BENEFITS Streamlined deployment Use the framework of your choice Safe LIMITATIONS Asynchronous More complicated programming Less documentation API is less complete

Introducing: Office Dev PnP More than just a provisioning framework Several core frameworks – Provisioning is just one of them Also a thriving community Fills gaps in client-side development paradigm Guidance & best practices for: Add-ins Branding Event receivers Timer jobs Workflow Managed Metadata Provisioning More from the Office Dev PnP site

Introducing: Office Dev PnP Solutions Samples Frameworks …that constitute best practices for administration and development on Office ALL open source in GitHub! …ALL documented!...Frequently updated: monthly releases with open conference call

QUICK DEMO Office Dev PnP guidance and documentation GitHub

Wish list: Cloud-ready provisioning solution Ability to provision: Look and feel Fields Content types Lists and libraries Groups Permissions Pages Web parts Client-side object model Scriptable OR deployable as an app Declarative OR compiled/managed code Documented

SharePoint PnP Provisioning: Basic Implementation Console app -OR- PowerShell script C#> APPLY TEMPLAT E EXTRAC T TEMPLA TE PnP Provisioning Schema XML PnP Core Framework C#>

DEMO PowerShell: extract & apply template

PnP Provisioning: Advanced Implementation SOLUTION COMPONENTS Provider-hosted SharePoint Add-In ASP.NET MVC web site hosted in Azure AppInstalled and AppUninstalled event receivers (Azure service bus) that create artifacts on host web Timer Job (Azure Web Job) w/logging User-managed custom Site Templates based on PnP Provisioning Schema Common library + PnP extensions HOST WEB ARTIFACTS SharePoint Lists for site requests (on host web to allow integration with other applications, e.g. Nintex) SharePoint Library for templates (associate with base template, e.g. Team Site-- allow site requests to choose template) Custom ribbon actions to request and cancel provisioning Ribbon control w/ScriptEnabled methods JavaScript ScriptLink custom action to override "New Site" link on provisioned sites Branding assets

Template Limitations SUPPORTS Security Pages Web Parts Page Layouts Branding Files Custom Actions Lists & Libraries Fields & Content Types Taxonomy DOESN’T SUPPORT Quick Launch Navigation Home Page Configuration (coming soon) Publishing Pages (coming soon) Content*

DEMO Provider-hosted provisioning app (UI)

New SharePoint Site Collection ASP.NET MVC Provider- Hosted App C# Service Bus C# PnP Core Framework + Helper Classes C# Azure Web Job (Console App) C# AppHost Web Library: Site Template s List: Requests INSTALLED ON 1 PROVIDES APP-ONLY SECURITY TOKEN TO HOST WEB 2 APPINSTALLING EVENT CREATES LIST, LIBRARY, CUSTOM ACTIONS + UPLOADS ASSETS ON HOST WEB 3 UPLOADS TEMPLAT E 4 CREATE S REQUE ST 5 RETRIEVES SITE COLLECTION REQUESTS FROM LIST 6 RETRIEVES USER-MANAGED TEMPLATE FROM LIBRARY 7 CREATES SITE COLLECTION + APPLIES TEMPLATE + APPLIES ADD’L CONFIGURATION 8 XML

DEMO Provider-hosted provisioning app

This is an amazing time to be an Office 365 developer!

Where to find Office Dev PnP Office Dev Center practiceshttp://dev.office.com/patterns-and- practices GitHub from the Office Dev PnP

Questions?