SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Acing Application Life Cycle
 Management in SharePoint
                  Jeremy Thake
                    Chief Architect


                    Level: Intermediate
Jeremy Thake

AvePoint Labs




Author                  Chief Architect
Agenda
•   What ALM is
•   Approaches to ALM
•   ALM Maturity Model
•   Getting started
•   Case Study
What is ALM?
Application Lifecycle Management (ALM) is a
  continuous process of managing the life of
  an application through governance,
  development and maintenance.




WikiPedia
ALM is the marriage of business
  management to software engineering made
  possible by tools that facilitate and integrate
  requirements management, architecture,
  coding, testing, tracking, and release
  management.




WikiPedia
Three aspects of ALM




David Chappell (2008)
Governance




David Chappell (2008)
Development




David Chappell (2008)
Operations




David Chappell (2008)
Focus for today…development
•   Requirements management
•   Architecture
•   Coding
•   Testing
•   Tracking
•   Release management
APPROACHES OF
ALM
Today’s poll question
•   I am developing Visual Studio SharePoint
    projects
•   I am packaging all custom code as a WSP
•   I am using source control
•   I am using a build server
•   I am using SPDisposeCheck
•   I am doing unit testing
Coding
•   Source Control
    – “Copy of” projects
    – No source code for a build (labeling)
    – Branching
    – Shelving
Coding
•   Code Analysis
    – Consistent code
      Naming standards
      Casing
      Formatting
    – Disposing correctly
    – Defensive coding
    – Readable coding
Coding
•   Debugging
    – Breakpoints in code
    – Inspecting live objects
    – Prevents
      debug statements throughout code
      unnecessary logging whilst in development that stays
Testing
•   Unit Testing
•   Integration Testing
•   Web Testing
•   Lab Management
Tracking
•   Tasks
•   Issues
•   Bugs
•   Risks
Release management
•   Continuous Integration
•   Automation!
    – release packages
    – unit testing
    – code analysis
    – build numbers
•   Red/Green
    – Don’t break the build!
Artifact
Provisioning
Declarative vs. Imperative
•   Declaratively
    – Provision some artifacts
    – SPI’s built into Visual Studio
•   Imperatively
    – Provision / de-provision all
    – Run class methods
    – Easier to debug & test
    – Defensive coding
    – Code samples
    – Wrapper classes
SharePoint Designer
•   Promotion between environments
•   Should certain artifacts be packaged as a
    WSP?
•   Manual copying and pasting files
•   Restricting use by policy
•   Using third party tools to manage
    deployments
One farm, many feature versions active


        SITE A                  SITE B        SITE C


        SPDevWiki                SPDevWiki      SPDevWiki
        V1.0.0.0
        V3.0.0.0                 V3.0.0.0
                                 V2.0.0.0       V3.0.0.0




 SPDevWiki          SPDevWiki     SPDevWiki
 V1.0.0.0           V2.0.0.0      V3.0.0.0
App Model
•   Code executed off SharePoint
•   Can be any language executed on any web
    server
•   Client-side object model executed on
    pages hosted in SharePoint
Automated
  Builds
Build Process
Build Process
Unit and Integration Testing
•   No interfaces
•   Integration
•   Tiered layer development
•   Design Patterns
•   TypeMock Isolator, Moles/Pex, SharePoint
    Emulator
Load and Performance Testing
•   Visual Studio Ultimate
•   Stress test code
    – Simulating users
•   Highlights overuse of
    creating new SPSite
    objects
•   Validates server roles
    and hardware
ALM Maturity
Model
Where are you?



                                                Automated
                                                Testing

                                   Automated
                                   Deployment
                       Automated
             Source    Builds
             control

   No
   Source
   Control
GETTING
STARTED
The Microsoft approach
•   Visual Studio 2010 Team System
    – Visual Studio 2010
    – Team Foundation Server 2010
    – Test Professional 2010
    – Project Server 2010
•   ALL INTEGRATED
•   TFS in the cloud is coming!
Visual Studio 2010
TFS 2012 and SharePoint 2013
•   Supported now
•   http://blog.hinshelwood.com/integrate-
    sharepoint-2013-with-team-foundation-
    server-2012/
SharePoint 2010 Build server
•   It doesn’t work out of the box ;-)
    – Need to put assemblies on TFS server
      http://msdn.microsoft.com/en-us/ff622991.aspx
•   SharePoint/TFS Continuous Integration
    Starter Pack
    http://sharepointci.codeplex.com/
SharePoint 2013 Build Server
•   SharePoint Server 2013 Client
    Components SDK Preview
    – http://www.microsoft.com/en-
      us/download/details.aspx?id=30355
•   Microsoft Windows SDK for Windows 7
    and .NET Framework 4
    – http://www.microsoft.com/en-
      us/download/details.aspx?id=8279
The cheaper
•   Source control
    – TortoiseHg and Mercurial
•   Continuous Integration
    – JetBrains Team City
NothingButsharep
oint.com
Case study
Approach
•   BitBucket.org
    – $10 a month for a mercurial solution
•   No automated builds
    – as I do releases...but from Source Code
•   Using AvePoint’s DocAve Deployment
    Manager to deploy from Dev to Test to
    Production
Additional Tools
•   Developer Dashboard
     stsadm -o setproperty -pn developer-dashboard -pv
    ondemand

•   Microsoft.SharePoint.Emulators (NuGet)
•   SPDisposeCheck (bit.ly/iiE3D6)
•   VS2010 SharePoint Power Tools
    (bit.ly/hmx9hS)
•   CKS:Dev (bit.ly/4Gpju2)
•   Fiddler (www.fiddler2.com)
•   SharePoint Manager 2010 (bit.ly/4dtX5A)
Q&A
      Jeremy Thake
      www.jeremythake.com
      www.NothingButSharePoint.com




      jeremy.thake@avepoint.com
      @jthake
      www.linkedin.com/in/jeremythake

Weitere ähnliche Inhalte

Was ist angesagt?

Access share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAccess share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAlexander Meijers
 
Develop business apps cross-platform development using visual studio with x...
Develop business apps   cross-platform development using visual studio with x...Develop business apps   cross-platform development using visual studio with x...
Develop business apps cross-platform development using visual studio with x...Alexander Meijers
 
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - RoadmapECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - RoadmapEuropean Collaboration Summit
 
Non SharePoint Deployment
Non SharePoint DeploymentNon SharePoint Deployment
Non SharePoint DeploymentSparked
 
Getting Started with SharePoint Development
Getting Started with SharePoint DevelopmentGetting Started with SharePoint Development
Getting Started with SharePoint DevelopmentChakkaradeep Chandran
 
Spca2014 harbar wac
Spca2014 harbar wacSpca2014 harbar wac
Spca2014 harbar wacNCCOMMS
 
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...Bram de Jager
 
Designing SharePoint solutions – Big Decisions for Big Success
Designing SharePoint solutions – Big Decisions for Big SuccessDesigning SharePoint solutions – Big Decisions for Big Success
Designing SharePoint solutions – Big Decisions for Big SuccessSPC Adriatics
 
ECS19 - Damir Dobric - Designing and Operating modern applications with Micro...
ECS19 - Damir Dobric - Designing and Operating modern applications with Micro...ECS19 - Damir Dobric - Designing and Operating modern applications with Micro...
ECS19 - Damir Dobric - Designing and Operating modern applications with Micro...European Collaboration Summit
 
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...Nik Patel
 
Sp2013 overview biwug
Sp2013 overview biwugSp2013 overview biwug
Sp2013 overview biwugBIWUG
 
Share point 2013 and sql server 2012 what to choose
Share point 2013 and sql server 2012   what to chooseShare point 2013 and sql server 2012   what to choose
Share point 2013 and sql server 2012 what to chooseAlexander Meijers
 
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the EnterpriseEnvision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the EnterpriseEnvision IT
 
Best Practices Configuring And Developing Share Point Solutions
Best Practices Configuring And Developing Share Point SolutionsBest Practices Configuring And Developing Share Point Solutions
Best Practices Configuring And Developing Share Point SolutionsAlexander Meijers
 
More Best Practices With Share Point Solutions
More Best Practices With Share Point SolutionsMore Best Practices With Share Point Solutions
More Best Practices With Share Point SolutionsAlexander Meijers
 
Introduction to the new SharePoint 2013 App Model
Introduction to the new SharePoint 2013 App ModelIntroduction to the new SharePoint 2013 App Model
Introduction to the new SharePoint 2013 App ModelNoorez Khamis
 
ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...
ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...
ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...European Collaboration Summit
 
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienDeep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienChris O'Brien
 
The SharePoint 2013 App Model
The SharePoint 2013 App ModelThe SharePoint 2013 App Model
The SharePoint 2013 App ModelSPC Adriatics
 

Was ist angesagt? (20)

Access share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAccess share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-apps
 
Develop business apps cross-platform development using visual studio with x...
Develop business apps   cross-platform development using visual studio with x...Develop business apps   cross-platform development using visual studio with x...
Develop business apps cross-platform development using visual studio with x...
 
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - RoadmapECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
 
Non SharePoint Deployment
Non SharePoint DeploymentNon SharePoint Deployment
Non SharePoint Deployment
 
Getting Started with SharePoint Development
Getting Started with SharePoint DevelopmentGetting Started with SharePoint Development
Getting Started with SharePoint Development
 
Spca2014 harbar wac
Spca2014 harbar wacSpca2014 harbar wac
Spca2014 harbar wac
 
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
 
Designing SharePoint solutions – Big Decisions for Big Success
Designing SharePoint solutions – Big Decisions for Big SuccessDesigning SharePoint solutions – Big Decisions for Big Success
Designing SharePoint solutions – Big Decisions for Big Success
 
ECS19 - Damir Dobric - Designing and Operating modern applications with Micro...
ECS19 - Damir Dobric - Designing and Operating modern applications with Micro...ECS19 - Damir Dobric - Designing and Operating modern applications with Micro...
ECS19 - Damir Dobric - Designing and Operating modern applications with Micro...
 
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
 
Sp2013 overview biwug
Sp2013 overview biwugSp2013 overview biwug
Sp2013 overview biwug
 
Share point 2013 and sql server 2012 what to choose
Share point 2013 and sql server 2012   what to chooseShare point 2013 and sql server 2012   what to choose
Share point 2013 and sql server 2012 what to choose
 
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the EnterpriseEnvision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
 
ECS19 - Robi Voncina - Upgrade to SharePoint 2019
ECS19 - Robi Voncina - Upgrade to SharePoint 2019ECS19 - Robi Voncina - Upgrade to SharePoint 2019
ECS19 - Robi Voncina - Upgrade to SharePoint 2019
 
Best Practices Configuring And Developing Share Point Solutions
Best Practices Configuring And Developing Share Point SolutionsBest Practices Configuring And Developing Share Point Solutions
Best Practices Configuring And Developing Share Point Solutions
 
More Best Practices With Share Point Solutions
More Best Practices With Share Point SolutionsMore Best Practices With Share Point Solutions
More Best Practices With Share Point Solutions
 
Introduction to the new SharePoint 2013 App Model
Introduction to the new SharePoint 2013 App ModelIntroduction to the new SharePoint 2013 App Model
Introduction to the new SharePoint 2013 App Model
 
ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...
ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...
ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...
 
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienDeep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
 
The SharePoint 2013 App Model
The SharePoint 2013 App ModelThe SharePoint 2013 App Model
The SharePoint 2013 App Model
 

Ähnlich wie Acing application lifecycle management in SharePoint

Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Delta-N
 
Application lifecycle management in SharePoint
Application lifecycle management in SharePointApplication lifecycle management in SharePoint
Application lifecycle management in SharePointJeremy Thake
 
Lean-Agile SharePoint Development
Lean-Agile SharePoint DevelopmentLean-Agile SharePoint Development
Lean-Agile SharePoint DevelopmentBill Ayers
 
A Day in the Life: Developer Enhancements with Visual Studio 2012
A Day in the Life: Developer Enhancements with Visual Studio 2012A Day in the Life: Developer Enhancements with Visual Studio 2012
A Day in the Life: Developer Enhancements with Visual Studio 2012Imaginet
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersSPC Adriatics
 
Getting Started With Coded UI testing: Building Your First Automated Test
Getting Started With Coded UI testing: Building Your First Automated TestGetting Started With Coded UI testing: Building Your First Automated Test
Getting Started With Coded UI testing: Building Your First Automated TestImaginet
 
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014Phil Leggetter
 
Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?Jeff Bramwell
 
Udvid din test portefølje med coded ui test og cloud load test
Udvid din test portefølje med coded ui test og cloud load testUdvid din test portefølje med coded ui test og cloud load test
Udvid din test portefølje med coded ui test og cloud load testPeter Lindberg
 
#spsclt18 vincent biret #spfx #devops
#spsclt18 vincent biret #spfx #devops#spsclt18 vincent biret #spfx #devops
#spsclt18 vincent biret #spfx #devopsVincent Biret
 
Getting Started with Coded UI Testing: Building Your First Automated Test
Getting Started with Coded UI Testing: Building Your First Automated TestGetting Started with Coded UI Testing: Building Your First Automated Test
Getting Started with Coded UI Testing: Building Your First Automated TestImaginet
 
Sitecore development approach evolution – destination helix
Sitecore development approach evolution – destination helixSitecore development approach evolution – destination helix
Sitecore development approach evolution – destination helixPeter Nazarov
 
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?Vincent Biret
 
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
 
Intro to SharePoint 2010 development for .NET developers
Intro to SharePoint 2010 development for .NET developersIntro to SharePoint 2010 development for .NET developers
Intro to SharePoint 2010 development for .NET developersJohn Ferringer
 
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?Vincent Biret
 
Uncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentUncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentEric Overfield
 

Ähnlich wie Acing application lifecycle management in SharePoint (20)

Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012
 
Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012
 
Application lifecycle management in SharePoint
Application lifecycle management in SharePointApplication lifecycle management in SharePoint
Application lifecycle management in SharePoint
 
Lean-Agile SharePoint Development
Lean-Agile SharePoint DevelopmentLean-Agile SharePoint Development
Lean-Agile SharePoint Development
 
A Day in the Life: Developer Enhancements with Visual Studio 2012
A Day in the Life: Developer Enhancements with Visual Studio 2012A Day in the Life: Developer Enhancements with Visual Studio 2012
A Day in the Life: Developer Enhancements with Visual Studio 2012
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill Ayers
 
Getting Started With Coded UI testing: Building Your First Automated Test
Getting Started With Coded UI testing: Building Your First Automated TestGetting Started With Coded UI testing: Building Your First Automated Test
Getting Started With Coded UI testing: Building Your First Automated Test
 
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
 
Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?
 
Udvid din test portefølje med coded ui test og cloud load test
Udvid din test portefølje med coded ui test og cloud load testUdvid din test portefølje med coded ui test og cloud load test
Udvid din test portefølje med coded ui test og cloud load test
 
#spsclt18 vincent biret #spfx #devops
#spsclt18 vincent biret #spfx #devops#spsclt18 vincent biret #spfx #devops
#spsclt18 vincent biret #spfx #devops
 
Getting Started with Coded UI Testing: Building Your First Automated Test
Getting Started with Coded UI Testing: Building Your First Automated TestGetting Started with Coded UI Testing: Building Your First Automated Test
Getting Started with Coded UI Testing: Building Your First Automated Test
 
Sitecore development approach evolution – destination helix
Sitecore development approach evolution – destination helixSitecore development approach evolution – destination helix
Sitecore development approach evolution – destination helix
 
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
 
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
 
Intro to SharePoint 2010 development for .NET developers
Intro to SharePoint 2010 development for .NET developersIntro to SharePoint 2010 development for .NET developers
Intro to SharePoint 2010 development for .NET developers
 
SPFx (SharePoint Framework)
SPFx (SharePoint Framework)SPFx (SharePoint Framework)
SPFx (SharePoint Framework)
 
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
 
Agile sites @ telmore
Agile sites @ telmore Agile sites @ telmore
Agile sites @ telmore
 
Uncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentUncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint Development
 

Mehr von Jeremy Thake

Using Microsoft Teams to enhance your organizational productivity
Using Microsoft Teams to enhance your organizational productivityUsing Microsoft Teams to enhance your organizational productivity
Using Microsoft Teams to enhance your organizational productivityJeremy Thake
 
Connect with your customers wherever they are with an azure based mobile solu...
Connect with your customers wherever they are with an azure based mobile solu...Connect with your customers wherever they are with an azure based mobile solu...
Connect with your customers wherever they are with an azure based mobile solu...Jeremy Thake
 
Understand the future of software development in the cloud with the azure app...
Understand the future of software development in the cloud with the azure app...Understand the future of software development in the cloud with the azure app...
Understand the future of software development in the cloud with the azure app...Jeremy Thake
 
Connect with your customers wherever they are with an azure based mobile solu...
Connect with your customers wherever they are with an azure based mobile solu...Connect with your customers wherever they are with an azure based mobile solu...
Connect with your customers wherever they are with an azure based mobile solu...Jeremy Thake
 
Getting started with SharePoint 2013 online development
Getting started with SharePoint 2013 online developmentGetting started with SharePoint 2013 online development
Getting started with SharePoint 2013 online developmentJeremy Thake
 
Presenting SharePoint as a service back to your organization
Presenting SharePoint as a service back to your organizationPresenting SharePoint as a service back to your organization
Presenting SharePoint as a service back to your organizationJeremy Thake
 
The future of social collaboration in SharePoint
The future of social collaboration in SharePointThe future of social collaboration in SharePoint
The future of social collaboration in SharePointJeremy Thake
 
Introducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app modelIntroducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app modelJeremy Thake
 
SharePoint 2013 overview jeremy thake
SharePoint 2013 overview   jeremy thakeSharePoint 2013 overview   jeremy thake
SharePoint 2013 overview jeremy thakeJeremy Thake
 
Getting started with Office 365 SharePoint 2010 online development
Getting started with Office 365 SharePoint 2010 online developmentGetting started with Office 365 SharePoint 2010 online development
Getting started with Office 365 SharePoint 2010 online developmentJeremy Thake
 
How to create a secure efficient extranet user experience
How to create a secure efficient extranet user experienceHow to create a secure efficient extranet user experience
How to create a secure efficient extranet user experienceJeremy Thake
 
Deep dive into feature versioning in SharePoint 2010
Deep dive into feature versioning in SharePoint 2010Deep dive into feature versioning in SharePoint 2010
Deep dive into feature versioning in SharePoint 2010Jeremy Thake
 
How we built nothingbutsharepoint.com on sharepoint 2010
How we built nothingbutsharepoint.com on sharepoint 2010How we built nothingbutsharepoint.com on sharepoint 2010
How we built nothingbutsharepoint.com on sharepoint 2010Jeremy Thake
 
Governance enforcement with out of the box SharePoint
Governance enforcement with out of the box SharePointGovernance enforcement with out of the box SharePoint
Governance enforcement with out of the box SharePointJeremy Thake
 
Deep dive into feature versioning and upgrade support in SharePoint 2010
Deep dive into feature versioning and upgrade support in SharePoint 2010Deep dive into feature versioning and upgrade support in SharePoint 2010
Deep dive into feature versioning and upgrade support in SharePoint 2010Jeremy Thake
 
AUSPC 2011: How we did it: NothingButSharePoint.com
AUSPC 2011: How we did it: NothingButSharePoint.comAUSPC 2011: How we did it: NothingButSharePoint.com
AUSPC 2011: How we did it: NothingButSharePoint.comJeremy Thake
 
Do's and Don'ts for SharePoint developers
Do's and Don'ts for SharePoint developersDo's and Don'ts for SharePoint developers
Do's and Don'ts for SharePoint developersJeremy Thake
 
Jeremy thake introducing alm to share point development implementations (ap...
Jeremy thake   introducing alm to share point development implementations (ap...Jeremy thake   introducing alm to share point development implementations (ap...
Jeremy thake introducing alm to share point development implementations (ap...Jeremy Thake
 
Share Point Development With Unit Testing
Share Point Development With Unit TestingShare Point Development With Unit Testing
Share Point Development With Unit TestingJeremy Thake
 
How Asp.Net Developers Can Leverage Share Point
How Asp.Net Developers Can Leverage Share PointHow Asp.Net Developers Can Leverage Share Point
How Asp.Net Developers Can Leverage Share PointJeremy Thake
 

Mehr von Jeremy Thake (20)

Using Microsoft Teams to enhance your organizational productivity
Using Microsoft Teams to enhance your organizational productivityUsing Microsoft Teams to enhance your organizational productivity
Using Microsoft Teams to enhance your organizational productivity
 
Connect with your customers wherever they are with an azure based mobile solu...
Connect with your customers wherever they are with an azure based mobile solu...Connect with your customers wherever they are with an azure based mobile solu...
Connect with your customers wherever they are with an azure based mobile solu...
 
Understand the future of software development in the cloud with the azure app...
Understand the future of software development in the cloud with the azure app...Understand the future of software development in the cloud with the azure app...
Understand the future of software development in the cloud with the azure app...
 
Connect with your customers wherever they are with an azure based mobile solu...
Connect with your customers wherever they are with an azure based mobile solu...Connect with your customers wherever they are with an azure based mobile solu...
Connect with your customers wherever they are with an azure based mobile solu...
 
Getting started with SharePoint 2013 online development
Getting started with SharePoint 2013 online developmentGetting started with SharePoint 2013 online development
Getting started with SharePoint 2013 online development
 
Presenting SharePoint as a service back to your organization
Presenting SharePoint as a service back to your organizationPresenting SharePoint as a service back to your organization
Presenting SharePoint as a service back to your organization
 
The future of social collaboration in SharePoint
The future of social collaboration in SharePointThe future of social collaboration in SharePoint
The future of social collaboration in SharePoint
 
Introducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app modelIntroducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app model
 
SharePoint 2013 overview jeremy thake
SharePoint 2013 overview   jeremy thakeSharePoint 2013 overview   jeremy thake
SharePoint 2013 overview jeremy thake
 
Getting started with Office 365 SharePoint 2010 online development
Getting started with Office 365 SharePoint 2010 online developmentGetting started with Office 365 SharePoint 2010 online development
Getting started with Office 365 SharePoint 2010 online development
 
How to create a secure efficient extranet user experience
How to create a secure efficient extranet user experienceHow to create a secure efficient extranet user experience
How to create a secure efficient extranet user experience
 
Deep dive into feature versioning in SharePoint 2010
Deep dive into feature versioning in SharePoint 2010Deep dive into feature versioning in SharePoint 2010
Deep dive into feature versioning in SharePoint 2010
 
How we built nothingbutsharepoint.com on sharepoint 2010
How we built nothingbutsharepoint.com on sharepoint 2010How we built nothingbutsharepoint.com on sharepoint 2010
How we built nothingbutsharepoint.com on sharepoint 2010
 
Governance enforcement with out of the box SharePoint
Governance enforcement with out of the box SharePointGovernance enforcement with out of the box SharePoint
Governance enforcement with out of the box SharePoint
 
Deep dive into feature versioning and upgrade support in SharePoint 2010
Deep dive into feature versioning and upgrade support in SharePoint 2010Deep dive into feature versioning and upgrade support in SharePoint 2010
Deep dive into feature versioning and upgrade support in SharePoint 2010
 
AUSPC 2011: How we did it: NothingButSharePoint.com
AUSPC 2011: How we did it: NothingButSharePoint.comAUSPC 2011: How we did it: NothingButSharePoint.com
AUSPC 2011: How we did it: NothingButSharePoint.com
 
Do's and Don'ts for SharePoint developers
Do's and Don'ts for SharePoint developersDo's and Don'ts for SharePoint developers
Do's and Don'ts for SharePoint developers
 
Jeremy thake introducing alm to share point development implementations (ap...
Jeremy thake   introducing alm to share point development implementations (ap...Jeremy thake   introducing alm to share point development implementations (ap...
Jeremy thake introducing alm to share point development implementations (ap...
 
Share Point Development With Unit Testing
Share Point Development With Unit TestingShare Point Development With Unit Testing
Share Point Development With Unit Testing
 
How Asp.Net Developers Can Leverage Share Point
How Asp.Net Developers Can Leverage Share PointHow Asp.Net Developers Can Leverage Share Point
How Asp.Net Developers Can Leverage Share Point
 

Kürzlich hochgeladen

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Kürzlich hochgeladen (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

Acing application lifecycle management in SharePoint

  • 1. Acing Application Life Cycle Management in SharePoint Jeremy Thake Chief Architect Level: Intermediate
  • 3. Agenda • What ALM is • Approaches to ALM • ALM Maturity Model • Getting started • Case Study
  • 5. Application Lifecycle Management (ALM) is a continuous process of managing the life of an application through governance, development and maintenance. WikiPedia
  • 6. ALM is the marriage of business management to software engineering made possible by tools that facilitate and integrate requirements management, architecture, coding, testing, tracking, and release management. WikiPedia
  • 7. Three aspects of ALM David Chappell (2008)
  • 11. Focus for today…development • Requirements management • Architecture • Coding • Testing • Tracking • Release management
  • 13. Today’s poll question • I am developing Visual Studio SharePoint projects • I am packaging all custom code as a WSP • I am using source control • I am using a build server • I am using SPDisposeCheck • I am doing unit testing
  • 14. Coding • Source Control – “Copy of” projects – No source code for a build (labeling) – Branching – Shelving
  • 15. Coding • Code Analysis – Consistent code Naming standards Casing Formatting – Disposing correctly – Defensive coding – Readable coding
  • 16. Coding • Debugging – Breakpoints in code – Inspecting live objects – Prevents debug statements throughout code unnecessary logging whilst in development that stays
  • 17. Testing • Unit Testing • Integration Testing • Web Testing • Lab Management
  • 18. Tracking • Tasks • Issues • Bugs • Risks
  • 19. Release management • Continuous Integration • Automation! – release packages – unit testing – code analysis – build numbers • Red/Green – Don’t break the build!
  • 21. Declarative vs. Imperative • Declaratively – Provision some artifacts – SPI’s built into Visual Studio • Imperatively – Provision / de-provision all – Run class methods – Easier to debug & test – Defensive coding – Code samples – Wrapper classes
  • 22. SharePoint Designer • Promotion between environments • Should certain artifacts be packaged as a WSP? • Manual copying and pasting files • Restricting use by policy • Using third party tools to manage deployments
  • 23. One farm, many feature versions active SITE A SITE B SITE C SPDevWiki SPDevWiki SPDevWiki V1.0.0.0 V3.0.0.0 V3.0.0.0 V2.0.0.0 V3.0.0.0 SPDevWiki SPDevWiki SPDevWiki V1.0.0.0 V2.0.0.0 V3.0.0.0
  • 24. App Model • Code executed off SharePoint • Can be any language executed on any web server • Client-side object model executed on pages hosted in SharePoint
  • 28. Unit and Integration Testing • No interfaces • Integration • Tiered layer development • Design Patterns • TypeMock Isolator, Moles/Pex, SharePoint Emulator
  • 29. Load and Performance Testing • Visual Studio Ultimate • Stress test code – Simulating users • Highlights overuse of creating new SPSite objects • Validates server roles and hardware
  • 31. Where are you? Automated Testing Automated Deployment Automated Source Builds control No Source Control
  • 33. The Microsoft approach • Visual Studio 2010 Team System – Visual Studio 2010 – Team Foundation Server 2010 – Test Professional 2010 – Project Server 2010 • ALL INTEGRATED • TFS in the cloud is coming!
  • 35. TFS 2012 and SharePoint 2013 • Supported now • http://blog.hinshelwood.com/integrate- sharepoint-2013-with-team-foundation- server-2012/
  • 36. SharePoint 2010 Build server • It doesn’t work out of the box ;-) – Need to put assemblies on TFS server http://msdn.microsoft.com/en-us/ff622991.aspx • SharePoint/TFS Continuous Integration Starter Pack http://sharepointci.codeplex.com/
  • 37. SharePoint 2013 Build Server • SharePoint Server 2013 Client Components SDK Preview – http://www.microsoft.com/en- us/download/details.aspx?id=30355 • Microsoft Windows SDK for Windows 7 and .NET Framework 4 – http://www.microsoft.com/en- us/download/details.aspx?id=8279
  • 38. The cheaper • Source control – TortoiseHg and Mercurial • Continuous Integration – JetBrains Team City
  • 40. Approach • BitBucket.org – $10 a month for a mercurial solution • No automated builds – as I do releases...but from Source Code • Using AvePoint’s DocAve Deployment Manager to deploy from Dev to Test to Production
  • 41. Additional Tools • Developer Dashboard stsadm -o setproperty -pn developer-dashboard -pv ondemand • Microsoft.SharePoint.Emulators (NuGet) • SPDisposeCheck (bit.ly/iiE3D6) • VS2010 SharePoint Power Tools (bit.ly/hmx9hS) • CKS:Dev (bit.ly/4Gpju2) • Fiddler (www.fiddler2.com) • SharePoint Manager 2010 (bit.ly/4dtX5A)
  • 42. Q&A Jeremy Thake www.jeremythake.com www.NothingButSharePoint.com jeremy.thake@avepoint.com @jthake www.linkedin.com/in/jeremythake

Hinweis der Redaktion

  1. Like a human life, an application’s lifecycle is demarcated by significant events. It begins with an idea: Why don’t we build something that does this? Once the application is created, the next big event is deployment, when the application goes into production. And finally, when it no longer has business value, the application reaches end of life and is removed from service.
  2. Devs“It works on my machine”“Can’t find the source control for this version”“Haven’t got the source control”“I’ve made changes in SharePoint Root”“I copied it to the GAC manually”Admins“We don’t know where to deploy it!”“What version is in Production?”
  3. Automate building of WSPEnforce that all artefacts get deployed via WSP.No manual copying of files to SharePoint RootDisaster RecoveryCheck in policyBuild StampingBuild ServerSeparate serverDon’t install SharePoint on it!Get administrators to push to environments…or automate it (PowerShell 2.0 remoting)
  4. http://msdn.microsoft.com/en-us/library/dd293540.aspx
  5. SharePoint is now a part of the toolset out of the gates!
  6. http://www.cruisecontrolnet.org/projects/ccnet/wiki
  7. Sandboxed-compatible Visual Web Part This item template enables you to use a visual designer to create SharePoint web parts that can be deployed in a SharePoint 2010 sandboxed solution.Sandboxed Compilation This extension displays build errors when you use types or members in a SharePoint 2010 sandboxed project which are not allowed in the SharePoint sandbox environment.