sharepoint customizations the most overlooked road block to … · 2017. 4. 11. · full trust code...
TRANSCRIPT
![Page 1: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/1.jpg)
w: rencore.com | e: [email protected] | t: @rencoreab
SharePoint Customizations
The most overlooked road block
to your migration
![Page 2: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/2.jpg)
Erwin van HunenProduct Owner - Transformation
MVP Office Servers and Services
Microsoft Certified Master
www.spcaf.com/blog
@erwinvanhunen
![Page 3: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/3.jpg)
Basics
rencore.com
![Page 4: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/4.jpg)
Full Trust Code vs. „App“ „Addin“
rencore.com
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
![Page 5: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/5.jpg)
Full Trust Code vs. SharePoint Framework
rencore.com
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
![Page 6: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/6.jpg)
“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
![Page 7: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/7.jpg)
What is „Transformation“
rencore.com
![Page 8: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/8.jpg)
rencore.com
![Page 9: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/9.jpg)
rencore.com
Magic
![Page 10: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/10.jpg)
rencore.com
![Page 11: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/11.jpg)
What does Transformation mean?
rencore.com
• Look at what you have, then
• Implement from scratch, while
• Re-using concepts, patterns and data
![Page 12: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/12.jpg)
Why would you Transform?
rencore.com
• 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
![Page 13: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/13.jpg)
How would you Transform your Code?
rencore.com
• Replace / gradually update
existing FTC components
• Re-use
code / data structures / solution concepts/ integrations
![Page 14: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/14.jpg)
Major Changes
rencore.com
![Page 15: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/15.jpg)
Major Changes
rencore.com
• No SSOM, use CSOM/REST/Graph
• Do not use the Feature Framework
• Avoid Declarative artifacts / CAML where possible (WebTemplates, Content Types, etc.)
• Do not use MasterPages
• Minimize Branding
• Approach SharePoint/Office365 as a service
• ”Modern” web development technologies (SPFx) instead of .NET
![Page 16: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/16.jpg)
CAML == BAD
rencore.com
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
![Page 17: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/17.jpg)
Reimagine!
rencore.com
![Page 18: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/18.jpg)
Transformation != CTRL + V
rencore.com
• 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?
![Page 19: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/19.jpg)
The Transformation Process
rencore.com
Learn Plan & Track TransformAssess
![Page 20: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/20.jpg)
Readiness
rencore.com
• Add-in Model techniques
• App Part
• Full Immersive app
• UI Custom Actions
• Remote Provisioning
• Client Parts / SPFx
• Hosting
• on-prem/Office365,
• Provider/SharePoint hosted
• Authentication
• On-prem AD or Azure AD?
![Page 21: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/21.jpg)
„New“ Provisioning Approaches
rencore.com
![Page 22: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/22.jpg)
Code Assessment
rencore.com
• Understand which customizations you have
• Understand what they do
• Understand why you have them and if they are still
relevant
• Understand the impact they make on the environment
• Understand the involved effort to transform
![Page 23: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/23.jpg)
Consider Authentication Carefully
rencore.com
• 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 authentication?
![Page 24: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/24.jpg)
Development: Add-In Model
rencore.com
• 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
![Page 25: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/25.jpg)
Development: SharePoint Framework
rencore.com
• 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
![Page 26: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/26.jpg)
Deployment
rencore.com
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
•Still in preview
•Separate hosting
model
•Potentially very new
development model to
'traditional' SP Devs
![Page 27: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/27.jpg)
Move to Remote Provisioning
rencore.com
• '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
![Page 28: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/28.jpg)
Resources
rencore.com
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
![Page 29: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/29.jpg)
rencore.com
Rencore SP Transformatorwww.sptransformator.com
![Page 30: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server](https://reader035.vdocument.in/reader035/viewer/2022071022/5fd682f72fdb88047c2e6aa5/html5/thumbnails/30.jpg)
Questions?
rencore.com