Agenda General design recommendations Typical myths of app model App model based implementations...

Preview:

Citation preview

Transforming Your SharePoint Full Trust Code to the SharePoint App Model

Vesa JuvonenSteve Walker

DEV-B308

Agenda

General design recommendations

Typical myths of app model

App model based implementations

Demos, demos, demos

CONNECT TO OFFICE 365 SERVICES

Users and

groups

EXTEND OFFICE EVERYWHERE

Today

BUILD USING AN OPEN PLATFORM

My Apps

EXTEND OFFICE EVERYWHERE

What’s New

CONNECT TO OFFICE 365 SERVICES

BUILD USING AN OPEN PLATFORM

Users and

groups

CONNECT TO OFFICE 365 SERVICES

Users and

groups

Files

Mail Calendar

Contacts

Users and

groups

What’s New

My Apps

BUILD USING AN OPEN PLATFORM

EXTEND OFFICE EVERYWHERE

BUILD USING AN OPEN PLATFORM

z

What’s New

CONNECT TO OFFICE 365 SERVICES

Users and

groups

Files

Mail Calendar

Contacts

EXTEND OFFICE EVERYWHERE

My Apps

Transforming your codeFrom farm solutions and full trust code…

To app model…

General design recommendations

Avoid custom master pages

Do not use Sandbox solutions

Do not use site definitions / web templates

App parts in IFrames is not the only solution

Maintenance challenge with web template

Time

Team Site

Custom Web Template

<xml>onet.xmlX feature activations

<xml>onet.xmlX feature activations <xml>

onet.xmlX feature activations

+2<xml>

onet.xmlX feature activations

+4

<xml>onet.xmlX feature activations <xml>

onet.xmlX feature activations

<< Copy >>

Service updates for introducing new capabilities to team sites also using feature stapling

Significant differences on the outcome unless web template onet.xml has been updated cross site collections with the changes which were also done for out of the box team site.

Web Template onet.xml is created by copying team site onet.xml and by adding stapled features to the onet.xml

What’s the challenge with custom master pages?

Exact same issues as with WebTemplates…

You will cause maintenance challenges for your customizations…

Example: Custom master page and case of an evolving suite bar…

Demo

Branding without custom master pages

https://github.com/OfficeDev/PnP/tree/master/Samples/Branding.AlternateCSSAndSiteLogo

Office 365 wide themes

App Model != App partThere are multiple other patterns you can use…

Demo

App techniques without app parts – app script part

https://github.com/OfficeDev/PnP/tree/master/Samples/Core.AppScriptPart

Typical Intranet customizations

Yammer integration

Team or collaboration sites

Intranet corporate portal

OneDrive for Business sites

Team or collaboration sites

Standardized site options…

Company branding…

Content types and site columns…

Demo

Provisioning team sites in an async way

https://github.com/OfficeDev/PnP/tree/master/Samples/Provisioning.Cloud.Async

OneDrive for Business customizationsCentrally located customizer

Company branding…

Content types and site columns?

https://github.com/OfficeDev/PnP/tree/master/Solutions/Provisioning.OneDrive

Demonstrated in SharePoint conference 2014, check video recordings for detailed demo…

Corporate Intranet capabilities

Limit available page layouts and site templates using CSOM…

Deployment of publishing assets…

Demo

Publishing capabilities using the app pattern

https://github.com/OfficeDev/PnP/tree/master/Scenarios/Provisioning.PublishingFeatures

Yammer integration to sites…

Replace out of the box site feed automatically with the Yammer feed…

Other Yammer customizations…

Demo

Replace site feed with Yammer feed as part of the provisioning

https://github.com/OfficeDev/PnP/tree/master/Scenarios/Provisioning.PublishingFeatures

Summary

General design recommendations

Typical myths of app model

App model based implementations

Demos, demos, demos

Building skillsMicrosoft Virtual Academydev.office.com/training

Code Samplesdev.office.com/code-samples

DX Office 365 Dev CampsOffice 365 Summit Developer Trackssummit.office.com

Developer Patterns & Practices

Transform your code

Providing App Model Patterns for common SharePoint Full Trust Code and Office Add-in scenarios

80+ Visual Studio projects

Common scenariosBrandingSite provisioningRemote event receivers

Large file supportTaxonomy driven navigationAnd much more… aka.ms/OfficeDevPnP

RoadmapMonthly updatesAssociated blog postswww.office.com/roadmap

Customer feedback

YammerOffice 365 Technical Network

Stackoverflow

UserVoiceDeveloper focusedBi-weekly triageLink to roadmap to show actions

http://aka.ms/OfficeDevFeedback

Resources

Learning

Microsoft Certification & Training Resources

www.microsoft.com/learning

Developer Network

http://developer.microsoft.com

TechNet

Resources for IT Professionals

http://microsoft.com/technet

Sessions on Demand

http://channel9.msdn.com/Events/TechEd

http://www.visualstudio.com

http://blogs.msdn.com/b/developer-tools/

http://msdn.microsoft.com/vstudio

DEV Track Resources

visualstudio

@visualstudio

visualstudio

Please Complete An Evaluation FormYour input is important!TechEd Schedule Builder CommNet station or PC

TechEd Mobile appPhone or Tablet

QR code

Evaluate this session

© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Recommended