SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Downloaden Sie, um offline zu lesen
May 20th, 2017
SharePoint
Saturday Madrid
Transform your full-trust solutions to the
add-in model / SharePoint Framework
Matthias Einig
Matthias Einig
matt@rencore.com
rencore.com/blog
@mattein
CEO of Rencore
BASICS
FULL TRUST CODE vs. “APP” “ADDIN”
Package/Application/Code
that uses
• Server Side Object Model
• Declarative Code
• Infrastructure specific
components (e.g. HTTP
Handlers)
• (Too?) High level of trust
Package/Application/Code
that uses
• Client Side Object Model / REST
• Runs with Office365
• Runs outside the SharePoint box
• Configurable, but complex level of
trust
FULL TRUST CODE vs. SHAREPOINT
FRAMEWORK
Package/Application/Code
that uses
• Server Side Object Model
• Declarative Code
• Infrastructure specific
components
(e.g. HTTP Handlers)
• (Too?) High level of trust
Package/Application/Code
that uses
• Client Side Object Model / REST
• Based on JavaScript / TypeScript
• Not yet available for SP 2016
• Has the same rights as the user
running it
“Will you ever support farm solutions in Office
365?”
Farm solutions are deployed cross SharePoint farm
and they’d impact multiple customers…
No.
Vesa Juvonen, Microsoft
WHAT IS "TRANSFORMATION" ?
Magic
WHAT DOES
TRANSFORMATION MEAN?
•Look at what you have, then
•Implement from scratch, while
•Re-use concepts, patterns and data
WHY WOULD YOU
TRANSFORM?
• Moving from on-prem to Office365 or Hybrid
• SharePoint version update
• To be 'future proof'
• Changed / New Requirements
• Cannot start on a greenfield (time, money, complexity)
• Maintenance problems caused by customizations
Replace / gradually update
existing FTC components
Re-use
code / data structures / solution concepts/
integrations
HOW WOULD YOU
TRANSFORM YOUR CODE?
MAJOR CHANGES
MAJOR CHANGES
• No SSOM, use CSOM/REST/Graph
• Do not use the Feature Framework
• Avoid declarative artifacts / CAML
(WebTemplates, Content Types, etc.)
• Do not use MasterPages
• Minimize Branding
• Approach SharePoint/Office365 as a service
• ”Modern” web development technologies (SPFx) instead of .NET
CAML == BAD
Custom Web Template
onet.xml
X feature activations
onet.xml
X feature activations
onet.xml
X feature activations +2
onet.xml
X feature activations +4
onet.xml
X feature activations
onet.xml
X feature activations
<< Copy >>
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
Service updates for introducing new capabilities to
team sites also using feature stapling
Source: TEE2015 DEV-B308
http://matte.in/TTE2015Transform
REIMAGINE!
TRANSFORMATION != Copy & Paste
• Is SharePoint/Office365 providing already the functionality?
• Does your solution benefit from the SharePoint UI?
• Are you relying on 3rd party systems?
• Does it have to be SharePoint?
• Are the business requirements still valid?
TRANSFORMATION
PROCESS
THE TRANSFORMATION PROCESS
Learn Plan & Track TransformAssess
ASSESS
ASSESS CUSTOMIZATIONS
• Understand which customizations you have
• Understand what they do
• Understand why you have them
• Understand the impact they make on the
environment
• Understand the involved effort to transform
ASSESS USAGE
• Analyze if and where the customizations are
deployed
• Analyze if the deployed customizations are
still used
• Analyze if the used customizations are
still required
ASSESS REQUIREMENTS
• Discuss existing solution with the business.
• Discuss the requirements with the business.
• Learn how the existing customization are used
• Decide what to keep, change and remove.
LEARN
LEARN
• Add-in Model techniques
• App Part
• Full Immersive app
• UI Custom Actions
• PowerShell Scripts / Console applications
• Client Parts / SharePoint Framework (SPFx)
• Hosting
• on-prem/Office365,
• Provider/SharePoint hosted
• Authentication
• On-prem AD or Azure AD?
"NEW" PROVISIONING
APPROACHES
Provider Hosted
App using
CSOM/REST
.NET Console App
using
CSOM/REST
PowerShell
using
CSOM/REST
”Mechanical Turk”
PnP
Provisioning
Engine
Stand alone site
using Graph
MOVE TO REMOTE PROVISIONING
• 'Roll your own'
• Complex, high maintenance
• Flexible and potentially build for the task
• Use the PnP Provisioning Engine
• Tested, pre-built
• Template approach
• Code approach
• Extensible
• Use the PnP Partner Pack
• Based upon the PnP Provisioning Engine
CONSIDER AUTHENTICATION
CAREFULLY
If you transform your solution to SharePoint Online:
• Do you have an on-prem AD?
• Do you use ADFS?
• Are you moving to Azure AD?
• Will you use Hybrid?
• Will you use explicit or implicit grant flow for auth?
DEVELOPMENT: ADD-IN MODEL
• Complex security
• Add-in security vs User security
• Limited ability to specify
what the add-in wants to do
• Powerful: full access to C# / .NET ecosystem
• Rich APIs
• CSOM
• REST
• Microsoft Graph
Add-in
DEVELOPMENT: SHAREPOINT
FRAMEWORK
• Not a replacement for Add-Ins but rather another option
• Simple security
• The solution users has the same rights
as the user using it
• Powerful: access to the full JavaScript ecosystem
• Rich APIs
• JSOM
• REST
• Microsoft Graph
Fx
DEPLOYMENT
FULL TRUST
• WSP files
• Full control over server
• Flexible
• With great power
comes great
responsibility
SANDBOX
• WSP files
• No control over server
• Less flexible
• With less power
comes great
frustration
APPS / ADD-INs
• Still new to many
people
• Separate hosting
model
• Complex
authentication model
SPFx
• GA since March 2017
• Separate hosting
model
• Potentially very new
development model to
'traditional' SP Devs
RESOURCES
Office Pattern & Practices
https://dev.office.com/pnp
• Community project lead by Microsoft
• Core Library, PowerShell cmdlets,
samples, reference implementations
• Endorsed by SharePoint product group
SharePoint Framework (SPFx)
https://dev.office.com/sharepoint
• Additional development model
• Still in preview
PLAN & TRACK
PLAN & TRACK
• Plan which customization artifacts to transform
or to abandon
• Group depending artifacts to use cases
• Track the progress of the transformation
TRANSFORM
www.sptransformator.com
Develop from scratch yourself
or use
discovers & analyzes…
ü SharePoint Add-ins
ü Sandboxed Solutions
ü Farm Solutions (WSP)
ü Assemblies
ü Executables
ü JavaScript Files
supports…
ü Office 365
ü SharePoint Online
ü SharePoint 2016
ü SharePoint 2013
ü SharePoint 2010
ü SharePoint 2007
transforms to…
ü Client Side Code (CSOM)
ü JavaScript (JSOM)
ü REST API
ü PowerShell Script (CSOM)
ü SharePoint Framework (SPFx)
ü Office Dev PnP CSOM
ü Office Dev PnP JSOM
ü Office Dev PnP PowerShell
ü PnP Provisioning Engine
SUMMARY
1. ASSESS Understand the existing customizations and
requirements
2. LEARN Understand the target platform and technology
3. PLAN & TRACK Re-imagine and plan the solution
4. TRANSFORM
Please, fill your SPS
Madrid passport if you
want to participate.
You can win one of
these gifts:
Raffle
10
9
8
Odor Odor@winterfell.com
Gold sponsors ______________
Silver sponsors
Bronze sponsors
Collaborate
Platinum sponsor
Thank you!
Questions?
matthias.einig@rencore.com
@MATTEIN
WWW.SPTRANSFORMATOR.COM

Weitere ähnliche Inhalte

Was ist angesagt?

SharePoint Fest DC 2019 - From SharePoint to Office 365 Development
SharePoint Fest DC 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest DC 2019 - From SharePoint to Office 365 Development
SharePoint Fest DC 2019 - From SharePoint to Office 365 DevelopmentSébastien Levert
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Talbott Crowell
 
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 developmentSharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 developmentSébastien Levert
 
SPTechCon Austin 2019 - From SharePoint to Office 365 development
SPTechCon Austin 2019 - From SharePoint to Office 365 developmentSPTechCon Austin 2019 - From SharePoint to Office 365 development
SPTechCon Austin 2019 - From SharePoint to Office 365 developmentSébastien Levert
 
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...SPS Paris
 
Who Needs A Developer For Automated SharePoint Provisioning
Who Needs A Developer For Automated SharePoint ProvisioningWho Needs A Developer For Automated SharePoint Provisioning
Who Needs A Developer For Automated SharePoint ProvisioningEric Overfield
 
aOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
aOS Canadian Tour - Montreal - From SharePoint to Office 365 DevelopmentaOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
aOS Canadian Tour - Montreal - From SharePoint to Office 365 DevelopmentSébastien Levert
 
aOS Canadian Tour - Toronto - From SharePoint to Office 365 Development
aOS Canadian Tour - Toronto - From SharePoint to Office 365 DevelopmentaOS Canadian Tour - Toronto - From SharePoint to Office 365 Development
aOS Canadian Tour - Toronto - From SharePoint to Office 365 DevelopmentSébastien Levert
 
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 DevelopmentaOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 DevelopmentSébastien Levert
 
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and AzureCloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and AzureTobias Lekman
 
Supercharge Your SharePoint Framework Webpart with React
Supercharge Your SharePoint Framework Webpart with ReactSupercharge Your SharePoint Framework Webpart with React
Supercharge Your SharePoint Framework Webpart with ReactEric Overfield
 
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...Bill Ayers
 
All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...
All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...
All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...Eric Overfield
 
ecs19 - Bill Ayers - RE-USE YOUR SHAREPOINT FRAMEWORK SKILLZ TO BUILD OFFICE ...
ecs19 - Bill Ayers - RE-USE YOUR SHAREPOINT FRAMEWORK SKILLZ TO BUILD OFFICE ...ecs19 - Bill Ayers - RE-USE YOUR SHAREPOINT FRAMEWORK SKILLZ TO BUILD OFFICE ...
ecs19 - Bill Ayers - RE-USE YOUR SHAREPOINT FRAMEWORK SKILLZ TO BUILD OFFICE ...European Collaboration Summit
 
SPSCasablanca - SPFx Deployment
SPSCasablanca - SPFx DeploymentSPSCasablanca - SPFx Deployment
SPSCasablanca - SPFx DeploymentYannick Borghmans
 
Workflow Best Practices:Five (or More) "Do"s and "Don't"s
Workflow Best Practices:Five (or More) "Do"s and "Don't"sWorkflow Best Practices:Five (or More) "Do"s and "Don't"s
Workflow Best Practices:Five (or More) "Do"s and "Don't"sSPC Adriatics
 
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - RoadmapECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - RoadmapEuropean Collaboration Summit
 
Move past bootstrap and build our lightweight responsive framework w.v1.2
Move past bootstrap and build our lightweight responsive framework w.v1.2Move past bootstrap and build our lightweight responsive framework w.v1.2
Move past bootstrap and build our lightweight responsive framework w.v1.2Eric Overfield
 
SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2
SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2
SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2Benoit Jester
 

Was ist angesagt? (20)

SharePoint Fest DC 2019 - From SharePoint to Office 365 Development
SharePoint Fest DC 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest DC 2019 - From SharePoint to Office 365 Development
SharePoint Fest DC 2019 - From SharePoint to Office 365 Development
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
 
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 developmentSharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
 
SPTechCon Austin 2019 - From SharePoint to Office 365 development
SPTechCon Austin 2019 - From SharePoint to Office 365 developmentSPTechCon Austin 2019 - From SharePoint to Office 365 development
SPTechCon Austin 2019 - From SharePoint to Office 365 development
 
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
 
Who Needs A Developer For Automated SharePoint Provisioning
Who Needs A Developer For Automated SharePoint ProvisioningWho Needs A Developer For Automated SharePoint Provisioning
Who Needs A Developer For Automated SharePoint Provisioning
 
aOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
aOS Canadian Tour - Montreal - From SharePoint to Office 365 DevelopmentaOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
aOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
 
aOS Canadian Tour - Toronto - From SharePoint to Office 365 Development
aOS Canadian Tour - Toronto - From SharePoint to Office 365 DevelopmentaOS Canadian Tour - Toronto - From SharePoint to Office 365 Development
aOS Canadian Tour - Toronto - From SharePoint to Office 365 Development
 
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 DevelopmentaOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
 
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and AzureCloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
 
Supercharge Your SharePoint Framework Webpart with React
Supercharge Your SharePoint Framework Webpart with ReactSupercharge Your SharePoint Framework Webpart with React
Supercharge Your SharePoint Framework Webpart with React
 
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
 
All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...
All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...
All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...
 
ecs19 - Bill Ayers - RE-USE YOUR SHAREPOINT FRAMEWORK SKILLZ TO BUILD OFFICE ...
ecs19 - Bill Ayers - RE-USE YOUR SHAREPOINT FRAMEWORK SKILLZ TO BUILD OFFICE ...ecs19 - Bill Ayers - RE-USE YOUR SHAREPOINT FRAMEWORK SKILLZ TO BUILD OFFICE ...
ecs19 - Bill Ayers - RE-USE YOUR SHAREPOINT FRAMEWORK SKILLZ TO BUILD OFFICE ...
 
SPSCasablanca - SPFx Deployment
SPSCasablanca - SPFx DeploymentSPSCasablanca - SPFx Deployment
SPSCasablanca - SPFx Deployment
 
O365: Attack of the Clones
O365: Attack of the ClonesO365: Attack of the Clones
O365: Attack of the Clones
 
Workflow Best Practices:Five (or More) "Do"s and "Don't"s
Workflow Best Practices:Five (or More) "Do"s and "Don't"sWorkflow Best Practices:Five (or More) "Do"s and "Don't"s
Workflow Best Practices:Five (or More) "Do"s and "Don't"s
 
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - RoadmapECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
 
Move past bootstrap and build our lightweight responsive framework w.v1.2
Move past bootstrap and build our lightweight responsive framework w.v1.2Move past bootstrap and build our lightweight responsive framework w.v1.2
Move past bootstrap and build our lightweight responsive framework w.v1.2
 
SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2
SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2
SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2
 

Ähnlich wie Matthias Einig from Rencore - Transforming SharePoint farm solutions to the Add-In model (SPS Madrid 2017)

Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...Rencore
 
Uncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentUncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentEric Overfield
 
OSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the EnterpriseOSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the EnterpriseEric Shupps
 
aOS Canadian Tour - Quebec - From SharePoint to Office 365 Development
aOS Canadian Tour  - Quebec - From SharePoint to Office 365 DevelopmentaOS Canadian Tour  - Quebec - From SharePoint to Office 365 Development
aOS Canadian Tour - Quebec - From SharePoint to Office 365 DevelopmentSébastien Levert
 
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...Sébastien Levert
 
SharePoint Saturday Ottawa - From SharePoint to Office 365 Development
SharePoint Saturday Ottawa - From SharePoint to Office 365 DevelopmentSharePoint Saturday Ottawa - From SharePoint to Office 365 Development
SharePoint Saturday Ottawa - From SharePoint to Office 365 DevelopmentSébastien Levert
 
SharePoint Fest Chicago - From SharePoint to Office 365 Development
SharePoint Fest Chicago - From SharePoint to Office 365 DevelopmentSharePoint Fest Chicago - From SharePoint to Office 365 Development
SharePoint Fest Chicago - From SharePoint to Office 365 DevelopmentSébastien Levert
 
Broaden your dev skillset with SharePoint branding options
Broaden your dev skillset with SharePoint branding optionsBroaden your dev skillset with SharePoint branding options
Broaden your dev skillset with SharePoint branding optionsEric Overfield
 
Understanding SharePoint Framework Extensions
Understanding SharePoint Framework ExtensionsUnderstanding SharePoint Framework Extensions
Understanding SharePoint Framework ExtensionsBIWUG
 
Office 365 Developer Bootcamp Melbourne
Office 365 Developer Bootcamp MelbourneOffice 365 Developer Bootcamp Melbourne
Office 365 Developer Bootcamp MelbourneAnupam Ranku
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Brian Culver
 
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JSCross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JSThomas Daly
 
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...SPS Paris
 
SPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFxSPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFxNCCOMMS
 
SharePoint Framework - Developer Preview
SharePoint Framework - Developer PreviewSharePoint Framework - Developer Preview
SharePoint Framework - Developer PreviewSean McLellan
 
#SPSToronto 2018 migrate you custom development to the SharePoint Framework
#SPSToronto 2018 migrate you custom development to the SharePoint Framework#SPSToronto 2018 migrate you custom development to the SharePoint Framework
#SPSToronto 2018 migrate you custom development to the SharePoint FrameworkVincent Biret
 
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...Asish Padhy
 
SharePoint 2013 Sandbox Solutions for On Premise or Office 365
SharePoint 2013 Sandbox Solutions for On Premise or Office 365SharePoint 2013 Sandbox Solutions for On Premise or Office 365
SharePoint 2013 Sandbox Solutions for On Premise or Office 365Ed Musters
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesBrian Culver
 

Ähnlich wie Matthias Einig from Rencore - Transforming SharePoint farm solutions to the Add-In model (SPS Madrid 2017) (19)

Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
 
Uncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentUncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint Development
 
OSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the EnterpriseOSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the Enterprise
 
aOS Canadian Tour - Quebec - From SharePoint to Office 365 Development
aOS Canadian Tour  - Quebec - From SharePoint to Office 365 DevelopmentaOS Canadian Tour  - Quebec - From SharePoint to Office 365 Development
aOS Canadian Tour - Quebec - From SharePoint to Office 365 Development
 
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...
 
SharePoint Saturday Ottawa - From SharePoint to Office 365 Development
SharePoint Saturday Ottawa - From SharePoint to Office 365 DevelopmentSharePoint Saturday Ottawa - From SharePoint to Office 365 Development
SharePoint Saturday Ottawa - From SharePoint to Office 365 Development
 
SharePoint Fest Chicago - From SharePoint to Office 365 Development
SharePoint Fest Chicago - From SharePoint to Office 365 DevelopmentSharePoint Fest Chicago - From SharePoint to Office 365 Development
SharePoint Fest Chicago - From SharePoint to Office 365 Development
 
Broaden your dev skillset with SharePoint branding options
Broaden your dev skillset with SharePoint branding optionsBroaden your dev skillset with SharePoint branding options
Broaden your dev skillset with SharePoint branding options
 
Understanding SharePoint Framework Extensions
Understanding SharePoint Framework ExtensionsUnderstanding SharePoint Framework Extensions
Understanding SharePoint Framework Extensions
 
Office 365 Developer Bootcamp Melbourne
Office 365 Developer Bootcamp MelbourneOffice 365 Developer Bootcamp Melbourne
Office 365 Developer Bootcamp Melbourne
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JSCross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
 
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
 
SPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFxSPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFx
 
SharePoint Framework - Developer Preview
SharePoint Framework - Developer PreviewSharePoint Framework - Developer Preview
SharePoint Framework - Developer Preview
 
#SPSToronto 2018 migrate you custom development to the SharePoint Framework
#SPSToronto 2018 migrate you custom development to the SharePoint Framework#SPSToronto 2018 migrate you custom development to the SharePoint Framework
#SPSToronto 2018 migrate you custom development to the SharePoint Framework
 
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
 
SharePoint 2013 Sandbox Solutions for On Premise or Office 365
SharePoint 2013 Sandbox Solutions for On Premise or Office 365SharePoint 2013 Sandbox Solutions for On Premise or Office 365
SharePoint 2013 Sandbox Solutions for On Premise or Office 365
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure Services
 

Mehr von Rencore

Rencore Webinar: 10 things to keep an eye on to increase share point health
Rencore Webinar: 10 things to keep an eye on to increase share point healthRencore Webinar: 10 things to keep an eye on to increase share point health
Rencore Webinar: 10 things to keep an eye on to increase share point healthRencore
 
Provisioning SPFx Solutions to SharePoint Online using PnP, ALM APIs and more!
Provisioning SPFx Solutions to SharePoint Online using PnP, ALM APIs and more!Provisioning SPFx Solutions to SharePoint Online using PnP, ALM APIs and more!
Provisioning SPFx Solutions to SharePoint Online using PnP, ALM APIs and more!Rencore
 
Rencore Webinar: Myth-busting GDPR in Office 365 & Azure
Rencore Webinar: Myth-busting GDPR in Office 365 & AzureRencore Webinar: Myth-busting GDPR in Office 365 & Azure
Rencore Webinar: Myth-busting GDPR in Office 365 & AzureRencore
 
Hugh Wood from Rencore: Development best practices for a new development worl...
Hugh Wood from Rencore: Development best practices for a new development worl...Hugh Wood from Rencore: Development best practices for a new development worl...
Hugh Wood from Rencore: Development best practices for a new development worl...Rencore
 
Matthias Einig from Rencore: Organizational considerations for customizing Sh...
Matthias Einig from Rencore: Organizational considerations for customizing Sh...Matthias Einig from Rencore: Organizational considerations for customizing Sh...
Matthias Einig from Rencore: Organizational considerations for customizing Sh...Rencore
 
Rencore Webinar: Understanding EU GDPR from an Office 365 perspective with Pa...
Rencore Webinar: Understanding EU GDPR from an Office 365 perspective with Pa...Rencore Webinar: Understanding EU GDPR from an Office 365 perspective with Pa...
Rencore Webinar: Understanding EU GDPR from an Office 365 perspective with Pa...Rencore
 
Rencore Webinar: Advanced Security Management within Office 365 with Liam Cleary
Rencore Webinar: Advanced Security Management within Office 365 with Liam ClearyRencore Webinar: Advanced Security Management within Office 365 with Liam Cleary
Rencore Webinar: Advanced Security Management within Office 365 with Liam ClearyRencore
 
Rencore Webinar: Developing Secure and Performant JavaScript for SharePoint
Rencore Webinar: Developing Secure and Performant JavaScript for SharePointRencore Webinar: Developing Secure and Performant JavaScript for SharePoint
Rencore Webinar: Developing Secure and Performant JavaScript for SharePointRencore
 
Rencore Webinar: Securing Office 365 and Microsoft Azure like a Rockstar
Rencore Webinar: Securing Office 365 and Microsoft Azure like a RockstarRencore Webinar: Securing Office 365 and Microsoft Azure like a Rockstar
Rencore Webinar: Securing Office 365 and Microsoft Azure like a RockstarRencore
 
You don’t know JS about SharePoint - Mastering javascript performance (Hugh W...
You don’t know JS about SharePoint - Mastering javascript performance (Hugh W...You don’t know JS about SharePoint - Mastering javascript performance (Hugh W...
You don’t know JS about SharePoint - Mastering javascript performance (Hugh W...Rencore
 

Mehr von Rencore (10)

Rencore Webinar: 10 things to keep an eye on to increase share point health
Rencore Webinar: 10 things to keep an eye on to increase share point healthRencore Webinar: 10 things to keep an eye on to increase share point health
Rencore Webinar: 10 things to keep an eye on to increase share point health
 
Provisioning SPFx Solutions to SharePoint Online using PnP, ALM APIs and more!
Provisioning SPFx Solutions to SharePoint Online using PnP, ALM APIs and more!Provisioning SPFx Solutions to SharePoint Online using PnP, ALM APIs and more!
Provisioning SPFx Solutions to SharePoint Online using PnP, ALM APIs and more!
 
Rencore Webinar: Myth-busting GDPR in Office 365 & Azure
Rencore Webinar: Myth-busting GDPR in Office 365 & AzureRencore Webinar: Myth-busting GDPR in Office 365 & Azure
Rencore Webinar: Myth-busting GDPR in Office 365 & Azure
 
Hugh Wood from Rencore: Development best practices for a new development worl...
Hugh Wood from Rencore: Development best practices for a new development worl...Hugh Wood from Rencore: Development best practices for a new development worl...
Hugh Wood from Rencore: Development best practices for a new development worl...
 
Matthias Einig from Rencore: Organizational considerations for customizing Sh...
Matthias Einig from Rencore: Organizational considerations for customizing Sh...Matthias Einig from Rencore: Organizational considerations for customizing Sh...
Matthias Einig from Rencore: Organizational considerations for customizing Sh...
 
Rencore Webinar: Understanding EU GDPR from an Office 365 perspective with Pa...
Rencore Webinar: Understanding EU GDPR from an Office 365 perspective with Pa...Rencore Webinar: Understanding EU GDPR from an Office 365 perspective with Pa...
Rencore Webinar: Understanding EU GDPR from an Office 365 perspective with Pa...
 
Rencore Webinar: Advanced Security Management within Office 365 with Liam Cleary
Rencore Webinar: Advanced Security Management within Office 365 with Liam ClearyRencore Webinar: Advanced Security Management within Office 365 with Liam Cleary
Rencore Webinar: Advanced Security Management within Office 365 with Liam Cleary
 
Rencore Webinar: Developing Secure and Performant JavaScript for SharePoint
Rencore Webinar: Developing Secure and Performant JavaScript for SharePointRencore Webinar: Developing Secure and Performant JavaScript for SharePoint
Rencore Webinar: Developing Secure and Performant JavaScript for SharePoint
 
Rencore Webinar: Securing Office 365 and Microsoft Azure like a Rockstar
Rencore Webinar: Securing Office 365 and Microsoft Azure like a RockstarRencore Webinar: Securing Office 365 and Microsoft Azure like a Rockstar
Rencore Webinar: Securing Office 365 and Microsoft Azure like a Rockstar
 
You don’t know JS about SharePoint - Mastering javascript performance (Hugh W...
You don’t know JS about SharePoint - Mastering javascript performance (Hugh W...You don’t know JS about SharePoint - Mastering javascript performance (Hugh W...
You don’t know JS about SharePoint - Mastering javascript performance (Hugh W...
 

Kürzlich hochgeladen

The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 

Kürzlich hochgeladen (20)

The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 

Matthias Einig from Rencore - Transforming SharePoint farm solutions to the Add-In model (SPS Madrid 2017)

  • 1. May 20th, 2017 SharePoint Saturday Madrid Transform your full-trust solutions to the add-in model / SharePoint Framework Matthias Einig
  • 4. FULL TRUST CODE vs. “APP” “ADDIN” Package/Application/Code that uses • Server Side Object Model • Declarative Code • Infrastructure specific components (e.g. HTTP Handlers) • (Too?) High level of trust Package/Application/Code that uses • Client Side Object Model / REST • Runs with Office365 • Runs outside the SharePoint box • Configurable, but complex level of trust
  • 5. FULL TRUST CODE vs. SHAREPOINT FRAMEWORK Package/Application/Code that uses • Server Side Object Model • Declarative Code • Infrastructure specific components (e.g. HTTP Handlers) • (Too?) High level of trust Package/Application/Code that uses • Client Side Object Model / REST • Based on JavaScript / TypeScript • Not yet available for SP 2016 • Has the same rights as the user running it
  • 6. “Will you ever support farm solutions in Office 365?” Farm solutions are deployed cross SharePoint farm and they’d impact multiple customers… No. Vesa Juvonen, Microsoft
  • 8.
  • 10.
  • 11. WHAT DOES TRANSFORMATION MEAN? •Look at what you have, then •Implement from scratch, while •Re-use concepts, patterns and data
  • 12. WHY WOULD YOU TRANSFORM? • Moving from on-prem to Office365 or Hybrid • SharePoint version update • To be 'future proof' • Changed / New Requirements • Cannot start on a greenfield (time, money, complexity) • Maintenance problems caused by customizations
  • 13. Replace / gradually update existing FTC components Re-use code / data structures / solution concepts/ integrations HOW WOULD YOU TRANSFORM YOUR CODE?
  • 15. MAJOR CHANGES • No SSOM, use CSOM/REST/Graph • Do not use the Feature Framework • Avoid declarative artifacts / CAML (WebTemplates, Content Types, etc.) • Do not use MasterPages • Minimize Branding • Approach SharePoint/Office365 as a service • ”Modern” web development technologies (SPFx) instead of .NET
  • 16. CAML == BAD Custom Web Template onet.xml X feature activations onet.xml X feature activations onet.xml X feature activations +2 onet.xml X feature activations +4 onet.xml X feature activations onet.xml X feature activations << Copy >> 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 Service updates for introducing new capabilities to team sites also using feature stapling Source: TEE2015 DEV-B308 http://matte.in/TTE2015Transform
  • 18. TRANSFORMATION != Copy & Paste • Is SharePoint/Office365 providing already the functionality? • Does your solution benefit from the SharePoint UI? • Are you relying on 3rd party systems? • Does it have to be SharePoint? • Are the business requirements still valid?
  • 20. THE TRANSFORMATION PROCESS Learn Plan & Track TransformAssess
  • 22. ASSESS CUSTOMIZATIONS • Understand which customizations you have • Understand what they do • Understand why you have them • Understand the impact they make on the environment • Understand the involved effort to transform
  • 23. ASSESS USAGE • Analyze if and where the customizations are deployed • Analyze if the deployed customizations are still used • Analyze if the used customizations are still required
  • 24. ASSESS REQUIREMENTS • Discuss existing solution with the business. • Discuss the requirements with the business. • Learn how the existing customization are used • Decide what to keep, change and remove.
  • 25. LEARN
  • 26. LEARN • Add-in Model techniques • App Part • Full Immersive app • UI Custom Actions • PowerShell Scripts / Console applications • Client Parts / SharePoint Framework (SPFx) • Hosting • on-prem/Office365, • Provider/SharePoint hosted • Authentication • On-prem AD or Azure AD?
  • 27. "NEW" PROVISIONING APPROACHES Provider Hosted App using CSOM/REST .NET Console App using CSOM/REST PowerShell using CSOM/REST ”Mechanical Turk” PnP Provisioning Engine Stand alone site using Graph
  • 28. MOVE TO REMOTE PROVISIONING • 'Roll your own' • Complex, high maintenance • Flexible and potentially build for the task • Use the PnP Provisioning Engine • Tested, pre-built • Template approach • Code approach • Extensible • Use the PnP Partner Pack • Based upon the PnP Provisioning Engine
  • 29. CONSIDER AUTHENTICATION CAREFULLY If you transform your solution to SharePoint Online: • Do you have an on-prem AD? • Do you use ADFS? • Are you moving to Azure AD? • Will you use Hybrid? • Will you use explicit or implicit grant flow for auth?
  • 30. DEVELOPMENT: ADD-IN MODEL • Complex security • Add-in security vs User security • Limited ability to specify what the add-in wants to do • Powerful: full access to C# / .NET ecosystem • Rich APIs • CSOM • REST • Microsoft Graph Add-in
  • 31. DEVELOPMENT: SHAREPOINT FRAMEWORK • Not a replacement for Add-Ins but rather another option • Simple security • The solution users has the same rights as the user using it • Powerful: access to the full JavaScript ecosystem • Rich APIs • JSOM • REST • Microsoft Graph Fx
  • 32. DEPLOYMENT FULL TRUST • WSP files • Full control over server • Flexible • With great power comes great responsibility SANDBOX • WSP files • No control over server • Less flexible • With less power comes great frustration APPS / ADD-INs • Still new to many people • Separate hosting model • Complex authentication model SPFx • GA since March 2017 • Separate hosting model • Potentially very new development model to 'traditional' SP Devs
  • 33. RESOURCES Office Pattern & Practices https://dev.office.com/pnp • Community project lead by Microsoft • Core Library, PowerShell cmdlets, samples, reference implementations • Endorsed by SharePoint product group SharePoint Framework (SPFx) https://dev.office.com/sharepoint • Additional development model • Still in preview
  • 35. PLAN & TRACK • Plan which customization artifacts to transform or to abandon • Group depending artifacts to use cases • Track the progress of the transformation
  • 38.
  • 39.
  • 40. discovers & analyzes… ü SharePoint Add-ins ü Sandboxed Solutions ü Farm Solutions (WSP) ü Assemblies ü Executables ü JavaScript Files supports… ü Office 365 ü SharePoint Online ü SharePoint 2016 ü SharePoint 2013 ü SharePoint 2010 ü SharePoint 2007 transforms to… ü Client Side Code (CSOM) ü JavaScript (JSOM) ü REST API ü PowerShell Script (CSOM) ü SharePoint Framework (SPFx) ü Office Dev PnP CSOM ü Office Dev PnP JSOM ü Office Dev PnP PowerShell ü PnP Provisioning Engine
  • 41. SUMMARY 1. ASSESS Understand the existing customizations and requirements 2. LEARN Understand the target platform and technology 3. PLAN & TRACK Re-imagine and plan the solution 4. TRANSFORM
  • 42. Please, fill your SPS Madrid passport if you want to participate. You can win one of these gifts: Raffle 10 9 8 Odor Odor@winterfell.com
  • 43. Gold sponsors ______________ Silver sponsors Bronze sponsors Collaborate Platinum sponsor