introduction to office 365 pnp- reusable solutions
TRANSCRIPT
![Page 1: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/1.jpg)
Introduction to Office 365 Patterns and Practices – Reusable solution
for your deploymentVESA JUVONEN, SENIOR PRODUCT MANAGER, MICROSOFT
PAOLO PIALORSI, SENIOR CONSULTANT, PIASYS.COM
![Page 2: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/2.jpg)
SPONSORS
![Page 3: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/3.jpg)
Agenda• PnP Reusable Solutions and Patterns• PnP Partner Pack• PnP Responsive Package• Timer Job Framework• Q&A
![Page 4: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/4.jpg)
http://dev.office.com/
The goods and the value of PnP1
![Page 5: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/5.jpg)
http://dev.office.com/
What do you get from PnP?Community of peers and expertsSharing is caring …
Tons of code and useful librariesPnP Core Library, as a NuGet package ready to goPnP Components, Samples, and SolutionsPnP Provisioning EnginePnP PowerShell
Common architectural patterns and guidanceWebCasts, Training material, etc.
![Page 6: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/6.jpg)
http://dev.office.com/
Ok, thank you PnP! But I need to build real
solutions,for real businesses!
![Page 7: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/7.jpg)
http://dev.office.com/
PnP Partner Pack2
![Page 8: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/8.jpg)
http://dev.office.com/
What is the PnP Partner Pack?Reference SolutionSite Provisioning with PnP Remote ProvisioningGovernance
Office 365 Application SampleLeverages the extensibility model of Office 365
Reference Architectural PatternsConsuming SharePoint Online from Office 365 ApplicationWorking App-Only with SharePoint OnlineRemote Timer Job: scheduled or continuosly running
![Page 9: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/9.jpg)
http://dev.office.com/
PnP Partner Pack ObjectivesOpen sourcePnP Partner Pack is part of the Office 365 Developer Patterns and Practices (PnP) effort, which is open source community driven program.
Ready to use reference solutionStarting point for your own solution with easy extension points, so that you do not need to start from scratch. Addresses most common customization scenarios, so that you can concentrate more on the business goals.
Easy to setupPackaged solution with detailed guidance on needed steps to configure solution to be running in Office 365 tenant. All you need is Office 365 tenant and Azure subscription.
![Page 10: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/10.jpg)
http://dev.office.com/
PnP Partner Pack ContentsSite provisioning solution for
site collections and sub sites, including “Save site as
provisioning template” capability and centralized
view.
Responsive design template for sites, including custom navigation bar and footer
with JavaScript embedding.
Reference governance jobs implemented asAzure WebJobs.
Microsoft Graph API client startup solution with
Azure AD integration andOffice UI Fabric use.
![Page 11: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/11.jpg)
http://dev.office.com/
Learn how to use PnPin real solutions!
![Page 12: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/12.jpg)
http://dev.office.com/
![Page 13: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/13.jpg)
http://dev.office.com/
Demo: Walkthrough of capabilities and architecturePnP Core Team
![Page 14: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/14.jpg)
http://dev.office.com/
Future RoadmapPnP Partner Pack v. 2.0Right now we’re in v. 1.1
Open source Templates GalleryRich set of templates from the community for the community
Improved securityAuthorization layer and Microsoft Graph API full integration
More governance toolingApply templates tenant-wide (branding, JS embedding, enterprise-wide navigation, etc.)
More automated setup processWe will try to do our best to be pretty close to “setup and run” experience
![Page 15: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/15.jpg)
http://dev.office.com/
How to get PnP Partner Pack http://aka.ms/OfficeDevPnPPartnerPack
![Page 16: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/16.jpg)
http://dev.office.com/
PnP Responsive Package3
![Page 17: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/17.jpg)
http://dev.office.com/
What is it?Ready to go solutionResponsive UI in SharePoint on-premises (2013/2016)Targets Team Sites (STS#0)Applies the behavior at Site Collection level (including sub-sites)It works in SharePoint Online, as well
Without changing the master pageTargets most of the common scenarios
![Page 18: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/18.jpg)
http://dev.office.com/
Classic Desktop (width >= 769px) UI
![Page 19: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/19.jpg)
http://dev.office.com/
Tablet (481px < width < 768px)and Smartphone (width <= 480px)
![Page 20: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/20.jpg)
http://dev.office.com/
Demo: Responsive UI Solution in ActionPnP Core Team
![Page 21: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/21.jpg)
http://dev.office.com/
How it works?1.Disables Mobile View Feature2.Enables Site Collection Level User Custom
Action3.Embeds PnP-Responsive-UI.js4.Embeds jQuery and pnp_responsive_ui.css5.Rewrites DOM of menu items into
hamburger menu6.Overrides CSS SP-native classes7.Rewrites DOM of settings page, if that’s the
case
![Page 22: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/22.jpg)
http://dev.office.com/
Software RequirementsSharePoint on-premisesSharePoint 2013 April 2015 CUSharePoint 2016
PnP PowerShell Extensionshttps://github.com/OfficeDev/PnP-PowerShell
<#><Section title goes here>
![Page 23: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/23.jpg)
http://dev.office.com/
Supported Use CasesHome PageWeb Part PagesWiki PagesDocument LibrariesListsSite ContentsSite Settings
![Page 24: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/24.jpg)
http://dev.office.com/
LimitationsWe cannot guarantee 100% support for any UI elementThere could be some Web Parts with some «side effects»
![Page 25: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/25.jpg)
http://dev.office.com/
Remote Timer Job Framework4
![Page 26: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/26.jpg)
http://dev.office.com/
How did we do this…or still do?
public class MyTimerJob : SPJobDefinition
![Page 27: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/27.jpg)
http://dev.office.com/
Provider Hosted Apps
SharePoint Service
2
Scheduled execution which accesses the needed resources from the SharePoint service and performs the required automation.
Can use either specific account for connection or OAuth based app-only token approach
1
Remote timer job architecture
Remote timer job
![Page 28: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/28.jpg)
http://dev.office.com/
Business scenariosGovernance related tasksMaintenance tasksFall back scenario for business logic depending on remote event receivers
![Page 29: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/29.jpg)
http://dev.office.com/
Hosting your “remote” timer jobsSharePoint 2013/2016
on-premises SharePoint Online
Option 1: Deploy .exe and run using built-in Windows Scheduler service
Option 2: Build own scheduler NT service
that runs the jobs
Option 1: Deploy as web job to an Azure
Web site
Option 2: Use one of the on-premises
deployment options
![Page 30: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/30.jpg)
http://dev.office.com/
WebJob
<<Run app functionality>>
Provider Hosted Apps
<< Perform needed actions>>
SharePoint
Storage Queue1
2
3
4
<<Add message>>
<<instantiate>>
Asynchronous pattern with Azure web jobs
![Page 31: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/31.jpg)
http://dev.office.com/
ResourcesTimer Job framework:https://github.com/OfficeDev/PnP-Sites-Core/blob/master/Core/TimerJob%20Framework.md
Samples using the timer job framework:https://github.com/OfficeDev/PnP/tree/master/Solutions/Core.TimerJobs.Samples https://github.com/OfficeDev/PnP/tree/master/Solutions/Governance.TimerJobs
![Page 32: Introduction to Office 365 PnP- Reusable solutions](https://reader035.vdocuments.mx/reader035/viewer/2022062412/589e49dc1a28ab1c7f8b50cb/html5/thumbnails/32.jpg)
thank youquestions?
live ratingsHTTP://AKA.MS/OFFICEDEVPNP@VESAJUVONEN
@PAOLOPIA
spca.biz/XPVA