introduction to office 365 pnp- reusable solutions

32
Introduction to Office 365 Patterns and Practices – Reusable solution for your deployment VESA JUVONEN, SENIOR PRODUCT MANAGER, MICROSOFT PAOLO PIALORSI, SENIOR CONSULTANT, PIASYS.COM

Upload: spc-adriatics

Post on 11-Feb-2017

112 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Introduction to Office 365 PnP- Reusable solutions

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

SPONSORS

Page 3: Introduction to Office 365 PnP- Reusable solutions

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

http://dev.office.com/

The goods and the value of PnP1

Page 5: Introduction to Office 365 PnP- Reusable solutions

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

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

http://dev.office.com/

PnP Partner Pack2

Page 8: Introduction to Office 365 PnP- Reusable solutions

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

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

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

http://dev.office.com/

Learn how to use PnPin real solutions!

Page 12: Introduction to Office 365 PnP- Reusable solutions

http://dev.office.com/

Page 13: Introduction to Office 365 PnP- Reusable solutions

http://dev.office.com/

Demo: Walkthrough of capabilities and architecturePnP Core Team

Page 14: Introduction to Office 365 PnP- Reusable solutions

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

http://dev.office.com/

How to get PnP Partner Pack http://aka.ms/OfficeDevPnPPartnerPack

Page 16: Introduction to Office 365 PnP- Reusable solutions

http://dev.office.com/

PnP Responsive Package3

Page 17: Introduction to Office 365 PnP- Reusable solutions

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

http://dev.office.com/

Classic Desktop (width >= 769px) UI

Page 19: Introduction to Office 365 PnP- Reusable solutions

http://dev.office.com/

Tablet (481px < width < 768px)and Smartphone (width <= 480px)

Page 20: Introduction to Office 365 PnP- Reusable solutions

http://dev.office.com/

Demo: Responsive UI Solution in ActionPnP Core Team

Page 21: Introduction to Office 365 PnP- Reusable solutions

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

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

http://dev.office.com/

Supported Use CasesHome PageWeb Part PagesWiki PagesDocument LibrariesListsSite ContentsSite Settings

Page 24: Introduction to Office 365 PnP- Reusable solutions

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

http://dev.office.com/

Remote Timer Job Framework4

Page 26: Introduction to Office 365 PnP- Reusable solutions

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

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

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

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

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

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

thank youquestions?

live ratingsHTTP://AKA.MS/OFFICEDEVPNP@VESAJUVONEN

@PAOLOPIA

spca.biz/XPVA