Senior Program Manager Microsoft Tried amp True P ractices for Transforming SharePoint solutions to cloudready solutions 743 Steve Walker Senior Program Manager Microsoft Transformation process ID: 576699
Download Presentation The PPT/PDF document "Vesa Juvonen" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1Slide2
Vesa JuvonenSenior Program ManagerMicrosoft
Tried & True Practices for Transforming SharePoint solutions to cloud-ready solutions
743
Steve Walker
Senior Program Manager
MicrosoftSlide3
Transformation processLearning from real life transitionsTypical functionality used in app modelApp model learnings
AgendaSlide4
DATA
USERS
HTML
Developer visionSlide5
“What does app model transformation mean?”
Rewrite your code to app model.
There’s actually no migration or
transformation,
but you can reuse concepts and patterns…
Rewrite Slide6
“What does this mean in practice?”
Implement similar functional capabilities as with farm solutions, using alternative
technical
solutionsSlide7
“Don’t we have a tool to help with migrating code?”
Great assessment tools
exist
,
but this is not really about
one-to-one transition…Slide8
“Will Farm Solutions be supported with SharePoint Server 2016”
We will make investments
primarily on the app model side also for on-premises to better align the development story: Write once and use it
across
cloud and on-premises
Yes.Slide9
“Will you ever support farm solutions in Office 365?”
Farm solutions are deployed cross SharePoint farm and they’d impact multiple customers…
No.Slide10
“I saw a blog post on the Internet saying that the app model is dead”
It’s more alive
than ever. We are committed to this model and the majority of our development investments are made on the app model for cloud AND on-premises
No it’s notSlide11
Coming soon: “Register with Active Directory”
SP Add-In registered also to Azure AD
Get Access to cross Office 365 services for your SP add-insSlide12
“Will you introduce a replacement for the app model in the near future?”
We are 100% committed on loosely coupled model with remote APIs. We will certainly evolve the capabilities, but model is here to stay.
No.Slide13
What if…
We would use same development model in cloud and in on-premises?Slide14
What does “app model” or “add-ins” mean in our terminology
SharePoint
Add-Ins
means
all
operations are executed outside of the serverSlide15
Transformation process
Readiness
Readiness with app model topics
Hosting decisions
Network impact
analysis
Development model readiness
Assessment
Analyze existing solution usage
Analyze existing code and functionality
Concentrate on business and functional requirements, not on technology
Planning
App model solution planning
and design
What patterns and models are used for different solutions
What solutions can be converted to out of the box capabilities
Implementation
Detailed technical planning
Actual app model solution implementation
Typical development process, including testing
Deployment
App solution deployment
Existing content retrofitting
Farm solution retractionSlide16
js
Provider Hosted Apps
SharePoint
Service
2
Association of
JavaScript
Embed
Embed
(user custom action) to the site, so that code is executed during site processing
1
CSOM / REST
JavaScript Embed
<<Reference>>
UX component or elements are rendered using CSOM with JavaScript stored either in SharePoint or centrally in the provider hosted app side.
3Slide17
Demo JavaScript Embed
https://github.com/OfficeDev/PnP/tree/master/Samples/OD4B.NavLinksInjectionSlide18
WebJob
<<Operation>>
Provider Hosted Apps
<< Perform
required
actions>>
SharePoint / Office 365
Storage
Queue
1
2
3
4
<<Add message>>
<<instantiate>>
Asynchronous Operations against Office 365Slide19
Demo Asynchronous long running operations with Azure storage queues and WebJobs
https://
github.com/OfficeDev/PnP/tree/master/Samples/Core.QueueWebJobUsage
Slide20
SharePoint
Remote Provisioning
Own app specific configuration
Artefacts
1
CSOM / REST
2
3
SharePoint Service
Provider Hosted AppsSlide21
PnP - Business user driven templates
Provisioning engine
Provider Hosted App
SharePoint Service
https://contoso.sharepoint.com
/sites/site
1
2
5
4
3
Extract template
Modify with browser
Template details are being extracted from actual template sites during provisioning.
Templates can be modified and crated using browser UI and all changes are reflected to the newly created and potentially modified sites.
Template sitesSlide22
PnP -
Site
provisioning framework
C#
// Get template from existing site
template =
ctx.Web.GetProvisioningTemplate
();
XMLFileSystemTemplateProvider
XMLAzureStorageTemplateProvider
XMLSharePointTemplateProvider
1
2
4
Site A
Site B
Connectors
3
// Save template using XML provider
XMLFileSystemTemplateProvider
provider =
new
XMLFileSystemTemplateProvider
(@"c:\temp\", "");
string
templateName
= "template.xml";
provider.SaveAs
(template,
templateName
);// Load the saved model againProvisioningTemplate p2 = provider.GetTemplate(templateName);// Apply template to existing sitectxTarget.Web.ApplyProvisioningTemplate(template);Slide23
Demo Site provisioning with PnP engine
https://
github.com/OfficeDev/PnP/tree/dev/Solutions/Provisioning.Framework.Cloud.Async
Slide24
http://dev.office.com/devprogram
Developer Program Launch
E-mail
Newsletters
Free Developer Subscription
1 YEAR FREE
Free
Training
Free
Tools
WebinarsSlide25
Call to action
Sign up for
Developer Program
Collect your
stickers at //build
Check out the
express talksSlide26
Transformation processLearnings from real life transitionsTransformation patternsTypical functionalities in app model
App model learnings
SummarySlide27
Please Complete An Evaluation FormYour input is important!
orSlide28