introduction to office 365 pnp- reusable solutions
TRANSCRIPT
Introduction to Office 365 Patterns and Practices – Reusable solution
for your deploymentVESA JUVONEN, SENIOR PRODUCT MANAGER, MICROSOFT
PAOLO PIALORSI, SENIOR CONSULTANT, PIASYS.COM
SPONSORS
Agenda• PnP Reusable Solutions and Patterns• PnP Partner Pack• PnP Responsive Package• Timer Job Framework• Q&A
http://dev.office.com/
The goods and the value of PnP1
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.
http://dev.office.com/
Ok, thank you PnP! But I need to build real
solutions,for real businesses!
http://dev.office.com/
PnP Partner Pack2
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
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.
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.
http://dev.office.com/
Learn how to use PnPin real solutions!
http://dev.office.com/
http://dev.office.com/
Demo: Walkthrough of capabilities and architecturePnP Core Team
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
http://dev.office.com/
How to get PnP Partner Pack http://aka.ms/OfficeDevPnPPartnerPack
http://dev.office.com/
PnP Responsive Package3
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
http://dev.office.com/
Classic Desktop (width >= 769px) UI
http://dev.office.com/
Tablet (481px < width < 768px)and Smartphone (width <= 480px)
http://dev.office.com/
Demo: Responsive UI Solution in ActionPnP Core Team
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
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>
http://dev.office.com/
Supported Use CasesHome PageWeb Part PagesWiki PagesDocument LibrariesListsSite ContentsSite Settings
http://dev.office.com/
LimitationsWe cannot guarantee 100% support for any UI elementThere could be some Web Parts with some «side effects»
http://dev.office.com/
Remote Timer Job Framework4
http://dev.office.com/
How did we do this…or still do?
public class MyTimerJob : SPJobDefinition
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
http://dev.office.com/
Business scenariosGovernance related tasksMaintenance tasksFall back scenario for business logic depending on remote event receivers
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
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
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
thank youquestions?
live ratingsHTTP://AKA.MS/OFFICEDEVPNP@VESAJUVONEN
@PAOLOPIA
spca.biz/XPVA