SlideShare uma empresa Scribd logo
1 de 45
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

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
Benoit Jester
 
SharePoint 2013 Dev Features
SharePoint 2013 Dev FeaturesSharePoint 2013 Dev Features
SharePoint 2013 Dev Features
Ricardo Wilkins
 

Mais procurados (20)

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
 
SharePoint 2016 - What's New, What's Not
SharePoint 2016 - What's New, What's NotSharePoint 2016 - What's New, What's Not
SharePoint 2016 - What's New, What's Not
 
ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...
ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...
ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...
 
ECS19 - Rodrigo Pinto - Migrating to Teams, real cases and scenarios
ECS19 - Rodrigo Pinto - Migrating to Teams, real cases and scenariosECS19 - Rodrigo Pinto - Migrating to Teams, real cases and scenarios
ECS19 - Rodrigo Pinto - Migrating to Teams, real cases and scenarios
 
SharePoint 2016: Features Overview
SharePoint 2016: Features OverviewSharePoint 2016: Features Overview
SharePoint 2016: Features Overview
 
ECS19 - Tomislav Lulic - What is changed in product/service licensing with Cl...
ECS19 - Tomislav Lulic - What is changed in product/service licensing with Cl...ECS19 - Tomislav Lulic - What is changed in product/service licensing with Cl...
ECS19 - Tomislav Lulic - What is changed in product/service licensing with Cl...
 
SPS Reston SharePoint Alwyays On
SPS Reston SharePoint Alwyays OnSPS Reston SharePoint Alwyays On
SPS Reston SharePoint Alwyays On
 
What's new in SharePoint Server 2019
What's new in SharePoint Server 2019What's new in SharePoint Server 2019
What's new in SharePoint Server 2019
 
SharePoint 2013 Dev Features
SharePoint 2013 Dev FeaturesSharePoint 2013 Dev Features
SharePoint 2013 Dev Features
 
Model Driven PowerApps
Model Driven PowerAppsModel Driven PowerApps
Model Driven PowerApps
 
SharePoint Framework SPS Madrid 2016
SharePoint Framework SPS Madrid 2016SharePoint Framework SPS Madrid 2016
SharePoint Framework SPS Madrid 2016
 
B6 - Using Office 365 groups in Power Bi - Marco Russo
B6 - Using Office 365 groups in Power Bi - Marco RussoB6 - Using Office 365 groups in Power Bi - Marco Russo
B6 - Using Office 365 groups in Power Bi - Marco Russo
 
ECS19 - Ahmad Najjar and Serge Luca - Power Platform Tutorial
ECS19 - Ahmad Najjar and Serge Luca - Power Platform TutorialECS19 - Ahmad Najjar and Serge Luca - Power Platform Tutorial
ECS19 - Ahmad Najjar and Serge Luca - Power Platform Tutorial
 
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...
 
SharePoint 2016 - What’s New and What Matters
SharePoint 2016 - What’s New and What MattersSharePoint 2016 - What’s New and What Matters
SharePoint 2016 - What’s New and What Matters
 
ECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
ECS19 - Mike Ammerlaan - Microsoft Graph Data ConnectECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
ECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
 
What's New for the BI workload in SharePoint 2016 and SQL Server 2016
What's New for the BI workload in SharePoint 2016 and SQL Server 2016What's New for the BI workload in SharePoint 2016 and SQL Server 2016
What's New for the BI workload in SharePoint 2016 and SQL Server 2016
 
SharePoint 2016 Up Close and Personal
SharePoint 2016   Up Close and PersonalSharePoint 2016   Up Close and Personal
SharePoint 2016 Up Close and Personal
 
SharePoint Upgrade or Migration, or is it both? - SPS London 2016
SharePoint Upgrade or Migration, or is it both? - SPS London 2016SharePoint Upgrade or Migration, or is it both? - SPS London 2016
SharePoint Upgrade or Migration, or is it both? - SPS London 2016
 
Power Users Guide to Office 365 - SharePoint Saturday Belgium 2016 #spsbe
Power Users Guide to Office 365 - SharePoint Saturday Belgium 2016 #spsbePower Users Guide to Office 365 - SharePoint Saturday Belgium 2016 #spsbe
Power Users Guide to Office 365 - SharePoint Saturday Belgium 2016 #spsbe
 

Semelhante a Transforming your full-trust solutions to the Add-in model / SharePoint Framework

Semelhante a Transforming your full-trust solutions to the Add-in model / SharePoint Framework (20)

Spsnyc transforming share point farm solutions to the add-in model and shar...
Spsnyc   transforming share point farm solutions to the add-in model and shar...Spsnyc   transforming share point farm solutions to the add-in model and shar...
Spsnyc transforming share point farm solutions to the add-in model and shar...
 
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...
 
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 Fest Chicago 2019 - From SharePoint to Office 365 Development
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
 
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 DevelopmentSharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
 
SharePoint Saturday Calgary 2017 - From SharePoint to Office 365 Development
SharePoint Saturday Calgary 2017 - From SharePoint to Office 365 DevelopmentSharePoint Saturday Calgary 2017 - From SharePoint to Office 365 Development
SharePoint Saturday Calgary 2017 - 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?
 
ESPC Webinar - From SharePoint to Office 365 Development
ESPC Webinar - From SharePoint to Office 365 DevelopmentESPC Webinar - From SharePoint to Office 365 Development
ESPC Webinar - From SharePoint to Office 365 Development
 
Uncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentUncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint Development
 
SharePoint Fest DC 2018 - From SharePoint to Office 365 Development
SharePoint Fest DC 2018 - From SharePoint to Office 365 DevelopmentSharePoint Fest DC 2018 - From SharePoint to Office 365 Development
SharePoint Fest DC 2018 - From SharePoint to Office 365 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
 
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
 
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
 
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
 
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
 
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
 
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 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
 

Mais de SUGES (SharePoint Users Group España)

Mais de SUGES (SharePoint Users Group España) (18)

SharePoint Saturday Madrid 2017 - KeyNote
SharePoint Saturday Madrid 2017 - KeyNoteSharePoint Saturday Madrid 2017 - KeyNote
SharePoint Saturday Madrid 2017 - KeyNote
 
How to use SharePoint PnP assets in real world use cases
How to use SharePoint PnP assets in real world use casesHow to use SharePoint PnP assets in real world use cases
How to use SharePoint PnP assets in real world use cases
 
Domotica #Skype4 b #IoT #Azure #Windows10IoTCore
Domotica #Skype4 b #IoT #Azure #Windows10IoTCoreDomotica #Skype4 b #IoT #Azure #Windows10IoTCore
Domotica #Skype4 b #IoT #Azure #Windows10IoTCore
 
Beyond cards: How to get the most out of Delve
Beyond cards: How to get the most out of DelveBeyond cards: How to get the most out of Delve
Beyond cards: How to get the most out of Delve
 
CDNs para el SharePoint Framework (SPFx)
CDNs para el SharePoint Framework (SPFx)CDNs para el SharePoint Framework (SPFx)
CDNs para el SharePoint Framework (SPFx)
 
Introducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFxIntroducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFx
 
Probots: Azure Bots y Project Online
Probots: Azure Bots y Project OnlineProbots: Azure Bots y Project Online
Probots: Azure Bots y Project Online
 
Cómo gestionar el ciclo de vida de soluciones SPFx
Cómo gestionar el ciclo de vida de soluciones SPFxCómo gestionar el ciclo de vida de soluciones SPFx
Cómo gestionar el ciclo de vida de soluciones SPFx
 
Extending Microsoft Teams
Extending Microsoft TeamsExtending Microsoft Teams
Extending Microsoft Teams
 
Bots & Teams: el poder de Grayskull
Bots & Teams: el poder de GrayskullBots & Teams: el poder de Grayskull
Bots & Teams: el poder de Grayskull
 
Análisis de sentimiento con Flow y Text Analytics
Análisis de sentimiento con Flow y Text AnalyticsAnálisis de sentimiento con Flow y Text Analytics
Análisis de sentimiento con Flow y Text Analytics
 
JS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World ExampleJS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World Example
 
Text Analytics y Machine Learning como sistema de catalogación
Text Analytics y Machine Learning como sistema de catalogaciónText Analytics y Machine Learning como sistema de catalogación
Text Analytics y Machine Learning como sistema de catalogación
 
Proyecto 360: Combinar lo mejor de Azure y Office 365
Proyecto 360: Combinar lo mejor de Azure y Office 365Proyecto 360: Combinar lo mejor de Azure y Office 365
Proyecto 360: Combinar lo mejor de Azure y Office 365
 
Empowering SharePoint with search capabilities
Empowering SharePoint with search capabilitiesEmpowering SharePoint with search capabilities
Empowering SharePoint with search capabilities
 
SharePoint Framework y React
SharePoint Framework y ReactSharePoint Framework y React
SharePoint Framework y React
 
PowerApps, Flow y Power BI: Gestiona tus procesos corporativos.
PowerApps, Flow y Power BI: Gestiona tus procesos corporativos.PowerApps, Flow y Power BI: Gestiona tus procesos corporativos.
PowerApps, Flow y Power BI: Gestiona tus procesos corporativos.
 
Aprovisionamiento remoto de SharePoint con Azure Functions
Aprovisionamiento remoto de SharePoint con Azure FunctionsAprovisionamiento remoto de SharePoint con Azure Functions
Aprovisionamiento remoto de SharePoint con Azure Functions
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Último (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 

Transforming your full-trust solutions to the Add-in model / SharePoint Framework

  • 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