SlideShare a Scribd company logo
1 of 36
Organizational considerations
for customizing
SharePoint and Office 365
Matthias Einig
Rencore, Germany
Matthias Einig
matt@rencore.com
rencore.com/blog
@mattein
CEO & Founder of Rencore
SharePoint
Saturdays
Munich & Stockholm
What is a SharePoint Customization?
1.Custom Code
2.Branding
3.Configuration
Impact of Customizations
Severity
Security
Stability
Availability
Standardization
Accessibility
Usability
Maintainability
Migrateability
Supportability Resources
Performance
Scalability
SharePoint Customization Evolution
SharePoint
2007
SharePoint
2010
Sandbox
SharePoint
2013 / 2016 / 2019 / Online
Provider Hosted Apps
_api
SPFx
Deployment Models
Deployment Models in SharePoint
Farm Solutions
&
Sandboxed Solutions
Apps/Add-ins
&
SharePoint Framework
Citizen
Development
Sandbox
• WSP files
• No control over server
• Less flexible
• Sandboxed code no longer supported in SPO
With less power comes great frustration
Farm & Sandboxed Solutions
Full Trust
• WSP files
• Full control over server
• Flexible
• Complex
• Hard to maintain
With great power comes great responsibility
Manifest xml in the solution
package introduces the
feature framework
elements and code
Provisioned content types
And site columns have
dependency on element xml
files
Feature framework feature
with element xml files for
content type and site
columns.
WSPpackage
1
2
3
Anatomy of a Farm Solution
What could go wrong?
1. Memory Leaks
2. Performance Problems
3. Impersonation / Privilege Elevation
4. Overwritten system files
5. API Reflection / Support issues
6. Deployment / Upgrade problems
7. Stuck Artifacts
Complexity
Challenges with Farm/SB Solutions
Governance plan
Citizen Development
Citizen Development
• Loose collection of files (HTML, JS, CSS), CEWP, Script WP, JSLink
• SharePoint Designer eg. Workflows, Unghosting, DVWP
• Can’t be easily staged / versioned
• Might break on SharePoint updates
• Hard to maintain
• Quick and cheap
Quick & Dirty but effective
SharePoint
CSS
png
js
Example
What could go wrong?
1. Customization breaks
2. SharePoint Site breaks
3. Versioning / Rollback
4. Unghosting
5. Maintaining knowledge
6. Security
Dependency on
SharePoint
Challenges with Citizen Development
Governance plan
SharePoint Apps/Addins
App / Add in
• .app files
• Still new to many people
• Separate hosting model
• Various Hosting and usage models
• Complex authentication model
Flexible & Powerful
SharePoint
Service
Anatomy of an Addin
Provider Hosted Addins
SharePoint Hosted
Addins
PowerShell Addins
What could go wrong?
1. Authentication (App Security vs. User Security)
2. Technical Limitations
3. Standardization
(.NET vs. PS vs. JS/TypeScript)
4. PnP vs. Roll your own
5. Hosting
Security Model
Challenges with Apps/Add-ins
Governance plan
Apps/Addins & SharePoint Framework
App / Add in
• .app files
• Still new to many people
• Separate hosting model
• Various Hosting and usage models
• Complex authentication model
Flexible & Powerful
SPFx
• .spapp files
•GA since March 2017
•Currently only Client Parts and Extensions
•Separate hosting model
•Available on-prem on from SP2016 SP2
Very new development model to 'traditional'
SharePoint Devs
Anatomy of a SharePoint Framework solution
Content Delivery Network
or SharePoint
What what could go wrong?
1. Malicious Code injected via CDN
2. Bad Performance
3. Lack of Standardization
4. 3rd party Framework Lifecycle
5. 3rd party component conflicts
6. Code runs ”as the user”
7. Maintaining knowledge
DEMO
New toolchain
Challenges with SharePoint Framework
Governance plan
Standardize
If you are a SharePoint owner/customer
Development
practices
If you are a developer/architect
SharePoint
Developer Admin Validation Process
End Users
• Monitoring
• Version management
• Issueresolution plan
• Provider hosted add-in
infrastructure
• High trust / low trust
• New app notifications
• Feedback channels
• End user support & training
• Development support
• Test environments
• Pre-Verificationprocesses
• ALM process
• Testing process
• Validation process
• Who, what,when
• Approvals
• QA, UAT environments
Governance Considerations
Basic Governance Plan Questions (1)
1. What types of customizations are allowed?
2. Who is allowed to customize?
3. Which tools are approved to create customizations?
4. Which 3rd party components should be used in which versions and
where should they be referenced to / hosted?
5. How to implement and update customizations (SDLC)?
Basic Governance Plan Questions (2)
6. How are the customizations versioned?
7. How do you package and deploy customizations?
8. How are customizations piloted and tested?
9. Who validates and who delivers them?
10. Who is allowed to update when something changes and
who fixes it when it breaks?
Basic Governance Plan Questions (3)
11. What defines a business critical customization?
12. What is the SLA?
13. How to run and maintain customizations?
14. Who is responsible for ongoing support?
15. How do you monitor customizations
to know if they are working as expected?
Summary
1. SharePoint governance includes also customizations
2. Customizations have a high impact on the platform
3. Customization governance starts before you build them
4. The later you govern the more costly it will become
5. Tools can support and enforce the governance plan
Thank you!
Questions?
matt@rencore.com
@MATTEIN

More Related Content

What's hot

Managing Security in Agile Culture
Managing Security in Agile CultureManaging Security in Agile Culture
Managing Security in Agile CultureSARCCOM
 
End-to-end Testing for IoT Integrity
End-to-end Testing for IoT IntegrityEnd-to-end Testing for IoT Integrity
End-to-end Testing for IoT IntegrityParasoft
 
Cisco aci and AlgoSec webinar
Cisco aci and AlgoSec webinar Cisco aci and AlgoSec webinar
Cisco aci and AlgoSec webinar Maytal Levi
 
BUSTED! How to Find Security Bugs Fast!
BUSTED! How to Find Security Bugs Fast!BUSTED! How to Find Security Bugs Fast!
BUSTED! How to Find Security Bugs Fast!Parasoft
 
Security architecture best practices for saas applications
Security architecture best practices for saas applicationsSecurity architecture best practices for saas applications
Security architecture best practices for saas applicationskanimozhin
 
Filling your AppSec Toolbox - Which Tools, When to Use Them, and Why
Filling your AppSec Toolbox - Which Tools, When to Use Them, and WhyFilling your AppSec Toolbox - Which Tools, When to Use Them, and Why
Filling your AppSec Toolbox - Which Tools, When to Use Them, and WhyBlack Duck by Synopsys
 
The Ultimate Application Monitoring Guide for Kubernetes
The Ultimate Application Monitoring Guide for KubernetesThe Ultimate Application Monitoring Guide for Kubernetes
The Ultimate Application Monitoring Guide for KubernetesDevOps.com
 
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...Agile Testing Alliance
 
ATAGTR2017 Security Testing / IoT Testing in Real World
ATAGTR2017 Security Testing / IoT Testing in Real WorldATAGTR2017 Security Testing / IoT Testing in Real World
ATAGTR2017 Security Testing / IoT Testing in Real WorldAgile Testing Alliance
 
Understanding and Executing on API Developer Experience
Understanding and Executing on API Developer ExperienceUnderstanding and Executing on API Developer Experience
Understanding and Executing on API Developer ExperienceSmartBear
 
Testing IoT Apps with the Cloud
Testing IoT Apps with the CloudTesting IoT Apps with the Cloud
Testing IoT Apps with the CloudJosiah Renaudin
 
Advanced Architecture Analysis | January 2010
Advanced Architecture Analysis | January 2010Advanced Architecture Analysis | January 2010
Advanced Architecture Analysis | January 2010Klocwork
 
How Aporeto Secures Cloud-native Across Public, Private, & Hybrid Clouds with...
How Aporeto Secures Cloud-native Across Public, Private, & Hybrid Clouds with...How Aporeto Secures Cloud-native Across Public, Private, & Hybrid Clouds with...
How Aporeto Secures Cloud-native Across Public, Private, & Hybrid Clouds with...DevOps.com
 
How to Become an Effective Tester by Reusing Tests
How to Become an Effective Tester by Reusing TestsHow to Become an Effective Tester by Reusing Tests
How to Become an Effective Tester by Reusing TestsSmartBear
 
apidays LIVE New York 2021 - OWASP cautions against “insufficient logging & m...
apidays LIVE New York 2021 - OWASP cautions against “insufficient logging & m...apidays LIVE New York 2021 - OWASP cautions against “insufficient logging & m...
apidays LIVE New York 2021 - OWASP cautions against “insufficient logging & m...apidays
 
Modern CI/CD in the microservices world with Kubernetes
Modern CI/CD in the microservices world with KubernetesModern CI/CD in the microservices world with Kubernetes
Modern CI/CD in the microservices world with KubernetesMikalai Alimenkou
 
The State of Testing 2017
The State of Testing 2017The State of Testing 2017
The State of Testing 2017SmartBear
 
OReilly Software Architecture Conference: Architecture as code - objective m...
OReilly Software Architecture Conference:  Architecture as code - objective m...OReilly Software Architecture Conference:  Architecture as code - objective m...
OReilly Software Architecture Conference: Architecture as code - objective m...PaulaPaulSlides
 

What's hot (20)

Managing Security in Agile Culture
Managing Security in Agile CultureManaging Security in Agile Culture
Managing Security in Agile Culture
 
End-to-end Testing for IoT Integrity
End-to-end Testing for IoT IntegrityEnd-to-end Testing for IoT Integrity
End-to-end Testing for IoT Integrity
 
Cisco aci and AlgoSec webinar
Cisco aci and AlgoSec webinar Cisco aci and AlgoSec webinar
Cisco aci and AlgoSec webinar
 
BUSTED! How to Find Security Bugs Fast!
BUSTED! How to Find Security Bugs Fast!BUSTED! How to Find Security Bugs Fast!
BUSTED! How to Find Security Bugs Fast!
 
Security architecture best practices for saas applications
Security architecture best practices for saas applicationsSecurity architecture best practices for saas applications
Security architecture best practices for saas applications
 
Filling your AppSec Toolbox - Which Tools, When to Use Them, and Why
Filling your AppSec Toolbox - Which Tools, When to Use Them, and WhyFilling your AppSec Toolbox - Which Tools, When to Use Them, and Why
Filling your AppSec Toolbox - Which Tools, When to Use Them, and Why
 
The Ultimate Application Monitoring Guide for Kubernetes
The Ultimate Application Monitoring Guide for KubernetesThe Ultimate Application Monitoring Guide for Kubernetes
The Ultimate Application Monitoring Guide for Kubernetes
 
Testing Microservices
Testing MicroservicesTesting Microservices
Testing Microservices
 
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
 
ATAGTR2017 Security Testing / IoT Testing in Real World
ATAGTR2017 Security Testing / IoT Testing in Real WorldATAGTR2017 Security Testing / IoT Testing in Real World
ATAGTR2017 Security Testing / IoT Testing in Real World
 
Understanding and Executing on API Developer Experience
Understanding and Executing on API Developer ExperienceUnderstanding and Executing on API Developer Experience
Understanding and Executing on API Developer Experience
 
Testing IoT Apps with the Cloud
Testing IoT Apps with the CloudTesting IoT Apps with the Cloud
Testing IoT Apps with the Cloud
 
Advanced Architecture Analysis | January 2010
Advanced Architecture Analysis | January 2010Advanced Architecture Analysis | January 2010
Advanced Architecture Analysis | January 2010
 
How Aporeto Secures Cloud-native Across Public, Private, & Hybrid Clouds with...
How Aporeto Secures Cloud-native Across Public, Private, & Hybrid Clouds with...How Aporeto Secures Cloud-native Across Public, Private, & Hybrid Clouds with...
How Aporeto Secures Cloud-native Across Public, Private, & Hybrid Clouds with...
 
How to Become an Effective Tester by Reusing Tests
How to Become an Effective Tester by Reusing TestsHow to Become an Effective Tester by Reusing Tests
How to Become an Effective Tester by Reusing Tests
 
apidays LIVE New York 2021 - OWASP cautions against “insufficient logging & m...
apidays LIVE New York 2021 - OWASP cautions against “insufficient logging & m...apidays LIVE New York 2021 - OWASP cautions against “insufficient logging & m...
apidays LIVE New York 2021 - OWASP cautions against “insufficient logging & m...
 
Modern CI/CD in the microservices world with Kubernetes
Modern CI/CD in the microservices world with KubernetesModern CI/CD in the microservices world with Kubernetes
Modern CI/CD in the microservices world with Kubernetes
 
The State of Testing 2017
The State of Testing 2017The State of Testing 2017
The State of Testing 2017
 
Synectiks-Profile
Synectiks-ProfileSynectiks-Profile
Synectiks-Profile
 
OReilly Software Architecture Conference: Architecture as code - objective m...
OReilly Software Architecture Conference:  Architecture as code - objective m...OReilly Software Architecture Conference:  Architecture as code - objective m...
OReilly Software Architecture Conference: Architecture as code - objective m...
 

Similar to Matthias Einig from Rencore: Organizational considerations for customizing SharePoint and office 365 (ESPC 2017, Dublin)

Organisational Considerations for Customising SharePoint and Office 365
Organisational Considerations for Customising SharePoint and Office 365Organisational Considerations for Customising SharePoint and Office 365
Organisational Considerations for Customising SharePoint and Office 365Matthias Einig
 
What You Need to Know Before Upgrading to SharePoint 2013
What You Need to Know Before Upgrading to SharePoint 2013What You Need to Know Before Upgrading to SharePoint 2013
What You Need to Know Before Upgrading to SharePoint 2013Perficient, Inc.
 
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...TriNimbus
 
Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Chris Kernaghan
 
ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudJeremy Likness
 
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...Sam Garforth
 
Patching is Your Friend in the New World Order of EPM and ERP Cloud
Patching is Your Friend in the New World Order of EPM and ERP CloudPatching is Your Friend in the New World Order of EPM and ERP Cloud
Patching is Your Friend in the New World Order of EPM and ERP CloudDatavail
 
Automation Culture: Essential to Agile Success
Automation Culture: Essential to Agile SuccessAutomation Culture: Essential to Agile Success
Automation Culture: Essential to Agile SuccessTechWell
 
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...Rencore
 
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...SUGES (SharePoint Users Group España)
 
Application Insights for Integration Developers
Application Insights for Integration DevelopersApplication Insights for Integration Developers
Application Insights for Integration DevelopersSriram Hariharan
 
DevOps Simplex Services .pdf
DevOps Simplex Services .pdfDevOps Simplex Services .pdf
DevOps Simplex Services .pdfDebasish Das
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering MethodologiesNesrine Shokry
 
SPS Helsinki: Transforming SharePoint Farm Solutions to the App Model
SPS Helsinki: Transforming SharePoint Farm Solutions to the App ModelSPS Helsinki: Transforming SharePoint Farm Solutions to the App Model
SPS Helsinki: Transforming SharePoint Farm Solutions to the App ModelMatthias Einig
 
Navigating HCM Compliance Through Managed Services Part 2
Navigating HCM Compliance Through Managed Services Part 2Navigating HCM Compliance Through Managed Services Part 2
Navigating HCM Compliance Through Managed Services Part 2Smart ERP Solutions, Inc.
 
Meet Big Agile: Testing on Large-Scale Projects
Meet Big Agile: Testing on Large-Scale ProjectsMeet Big Agile: Testing on Large-Scale Projects
Meet Big Agile: Testing on Large-Scale ProjectsTechWell
 
Lifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and SolutionsLifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and SolutionsSPC Adriatics
 
Building Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed AgileBuilding Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed AgileWee Witthawaskul
 

Similar to Matthias Einig from Rencore: Organizational considerations for customizing SharePoint and office 365 (ESPC 2017, Dublin) (20)

Organisational Considerations for Customising SharePoint and Office 365
Organisational Considerations for Customising SharePoint and Office 365Organisational Considerations for Customising SharePoint and Office 365
Organisational Considerations for Customising SharePoint and Office 365
 
What You Need to Know Before Upgrading to SharePoint 2013
What You Need to Know Before Upgrading to SharePoint 2013What You Need to Know Before Upgrading to SharePoint 2013
What You Need to Know Before Upgrading to SharePoint 2013
 
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
 
Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017
 
ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the Cloud
 
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
 
Khushboo_Resume
Khushboo_ResumeKhushboo_Resume
Khushboo_Resume
 
Patching is Your Friend in the New World Order of EPM and ERP Cloud
Patching is Your Friend in the New World Order of EPM and ERP CloudPatching is Your Friend in the New World Order of EPM and ERP Cloud
Patching is Your Friend in the New World Order of EPM and ERP Cloud
 
Automation Culture: Essential to Agile Success
Automation Culture: Essential to Agile SuccessAutomation Culture: Essential to Agile Success
Automation Culture: Essential to Agile Success
 
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
 
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
 
Application Insights for Integration Developers
Application Insights for Integration DevelopersApplication Insights for Integration Developers
Application Insights for Integration Developers
 
DevOps Simplex Services .pdf
DevOps Simplex Services .pdfDevOps Simplex Services .pdf
DevOps Simplex Services .pdf
 
Journey to the center of DevOps - v6
Journey to the center of DevOps - v6Journey to the center of DevOps - v6
Journey to the center of DevOps - v6
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering Methodologies
 
SPS Helsinki: Transforming SharePoint Farm Solutions to the App Model
SPS Helsinki: Transforming SharePoint Farm Solutions to the App ModelSPS Helsinki: Transforming SharePoint Farm Solutions to the App Model
SPS Helsinki: Transforming SharePoint Farm Solutions to the App Model
 
Navigating HCM Compliance Through Managed Services Part 2
Navigating HCM Compliance Through Managed Services Part 2Navigating HCM Compliance Through Managed Services Part 2
Navigating HCM Compliance Through Managed Services Part 2
 
Meet Big Agile: Testing on Large-Scale Projects
Meet Big Agile: Testing on Large-Scale ProjectsMeet Big Agile: Testing on Large-Scale Projects
Meet Big Agile: Testing on Large-Scale Projects
 
Lifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and SolutionsLifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and Solutions
 
Building Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed AgileBuilding Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed Agile
 

More from 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
 
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
 
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
 
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
 

More from Rencore (9)

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
 
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
 
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...
 
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...
 

Recently uploaded

HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 

Recently uploaded (20)

HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 

Matthias Einig from Rencore: Organizational considerations for customizing SharePoint and office 365 (ESPC 2017, Dublin)

  • 1.
  • 2. Organizational considerations for customizing SharePoint and Office 365 Matthias Einig Rencore, Germany
  • 3. Matthias Einig matt@rencore.com rencore.com/blog @mattein CEO & Founder of Rencore SharePoint Saturdays Munich & Stockholm
  • 4. What is a SharePoint Customization? 1.Custom Code 2.Branding 3.Configuration
  • 8. Deployment Models in SharePoint Farm Solutions & Sandboxed Solutions Apps/Add-ins & SharePoint Framework Citizen Development
  • 9. Sandbox • WSP files • No control over server • Less flexible • Sandboxed code no longer supported in SPO With less power comes great frustration Farm & Sandboxed Solutions Full Trust • WSP files • Full control over server • Flexible • Complex • Hard to maintain With great power comes great responsibility
  • 10. Manifest xml in the solution package introduces the feature framework elements and code Provisioned content types And site columns have dependency on element xml files Feature framework feature with element xml files for content type and site columns. WSPpackage 1 2 3 Anatomy of a Farm Solution
  • 11. What could go wrong? 1. Memory Leaks 2. Performance Problems 3. Impersonation / Privilege Elevation 4. Overwritten system files 5. API Reflection / Support issues 6. Deployment / Upgrade problems 7. Stuck Artifacts
  • 12. Complexity Challenges with Farm/SB Solutions Governance plan
  • 13. Citizen Development Citizen Development • Loose collection of files (HTML, JS, CSS), CEWP, Script WP, JSLink • SharePoint Designer eg. Workflows, Unghosting, DVWP • Can’t be easily staged / versioned • Might break on SharePoint updates • Hard to maintain • Quick and cheap Quick & Dirty but effective
  • 15. What could go wrong? 1. Customization breaks 2. SharePoint Site breaks 3. Versioning / Rollback 4. Unghosting 5. Maintaining knowledge 6. Security
  • 16. Dependency on SharePoint Challenges with Citizen Development Governance plan
  • 17. SharePoint Apps/Addins App / Add in • .app files • Still new to many people • Separate hosting model • Various Hosting and usage models • Complex authentication model Flexible & Powerful
  • 18. SharePoint Service Anatomy of an Addin Provider Hosted Addins SharePoint Hosted Addins PowerShell Addins
  • 19. What could go wrong? 1. Authentication (App Security vs. User Security) 2. Technical Limitations 3. Standardization (.NET vs. PS vs. JS/TypeScript) 4. PnP vs. Roll your own 5. Hosting
  • 20. Security Model Challenges with Apps/Add-ins Governance plan
  • 21. Apps/Addins & SharePoint Framework App / Add in • .app files • Still new to many people • Separate hosting model • Various Hosting and usage models • Complex authentication model Flexible & Powerful SPFx • .spapp files •GA since March 2017 •Currently only Client Parts and Extensions •Separate hosting model •Available on-prem on from SP2016 SP2 Very new development model to 'traditional' SharePoint Devs
  • 22. Anatomy of a SharePoint Framework solution Content Delivery Network or SharePoint
  • 23. What what could go wrong? 1. Malicious Code injected via CDN 2. Bad Performance 3. Lack of Standardization 4. 3rd party Framework Lifecycle 5. 3rd party component conflicts 6. Code runs ”as the user” 7. Maintaining knowledge
  • 24. DEMO
  • 25. New toolchain Challenges with SharePoint Framework Governance plan
  • 26.
  • 27. Standardize If you are a SharePoint owner/customer
  • 28. Development practices If you are a developer/architect
  • 29. SharePoint Developer Admin Validation Process End Users • Monitoring • Version management • Issueresolution plan • Provider hosted add-in infrastructure • High trust / low trust • New app notifications • Feedback channels • End user support & training • Development support • Test environments • Pre-Verificationprocesses • ALM process • Testing process • Validation process • Who, what,when • Approvals • QA, UAT environments Governance Considerations
  • 30.
  • 31. Basic Governance Plan Questions (1) 1. What types of customizations are allowed? 2. Who is allowed to customize? 3. Which tools are approved to create customizations? 4. Which 3rd party components should be used in which versions and where should they be referenced to / hosted? 5. How to implement and update customizations (SDLC)?
  • 32. Basic Governance Plan Questions (2) 6. How are the customizations versioned? 7. How do you package and deploy customizations? 8. How are customizations piloted and tested? 9. Who validates and who delivers them? 10. Who is allowed to update when something changes and who fixes it when it breaks?
  • 33. Basic Governance Plan Questions (3) 11. What defines a business critical customization? 12. What is the SLA? 13. How to run and maintain customizations? 14. Who is responsible for ongoing support? 15. How do you monitor customizations to know if they are working as expected?
  • 34. Summary 1. SharePoint governance includes also customizations 2. Customizations have a high impact on the platform 3. Customization governance starts before you build them 4. The later you govern the more costly it will become 5. Tools can support and enforce the governance plan

Editor's Notes

  1. This is the Pre-Title Screen. Please do not place any content on this screen.
  2. To add your image, first delete the place holder image as shown in the white box. Then insert your picture and scale it to be bigger than the size of the white box shown. Finally, right click on your image and select ‘Send to back’ – your image should now be framed correctly. Please add co-speaker image directly below, if applicable
  3. Conformity to Guidelines
  4. D
  5. M
  6. M
  7. Give examples
  8. M
  9. M
  10. 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
  11. 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
  12. Manifest deployed to SharePoint AppCatalog by Tenant Admin (what is the solution, where is the JS hosted, what does the customization do, but does not contain the code) Code can be hosted in SharePoint or external CDN and loaded into page Governance plan, where do we host it Which 3rd party libraries do we use, and from where are they referenced. Code executes under the context of the current user (full trust)
  13. D
  14. Who is allowed o update a script an how Verisoning SPFx tenant wide install to the app catalog And SPFx runs in user account with all the priveledges of the user Fallback Add-in model, permission checkups, isolation, scripts cannot act on behalf of the user.
  15. Standardize client-side libraries usage Define a policy on using external scripts which locactions are considered safe Standardize hosting location for SPFx solutions technically you don’t have refer external scripts, so you could bundle react into your SFPx but this makes it harder to maintain and conflicts may occure with differen SPSx components. Communicate preconditions to project teams upfront Make explicit agreement with ISVs Can the solution be updated without your knowledge What is the SLA Where is the code hosted? Where is the data stored? How is the security enforced? Verify that solutions meet your requirements The more libraries are on a page the page size grows, conflicts with multiple libarires, updating
  16. Agree on preconditions upfront Guide customer if they don’t have a governance plan in place Develop good practices for your organization/team How do you test solutions? Locally QA UAT How do you release solutions? Where are they deployed to? Who governs them? What’s the SLA?