SlideShare une entreprise Scribd logo
1  sur  34
SharePoint DeveloperApplication Lifecycle Process Ivan Sanders SharePoint ArchitectDimension Solutions inc. ivan@dimension-si.com
Agenda Application life cycle process with SharePoint 2010 Tools and processes to manage life cycle of portals Setting up team development Update management Solution versioning Feature versioning
ALM Life cycle management has been taken into account in the platform The SharePoint platform provides a rich set of features to deploy custom code Still process planning has to be done
ALM process
SharePoint Tools Continuum VisualStudio SharePoint Designer Professional developer Designer/IW/Power User Create lists & libs Design Web Pages Web part hook-up Views & forms Declarative Workflows Custom Web Parts Code Workflows Event Receivers List Definitions Application Pages WSP Package Browserediting
Importing existing site to Visual Studio 2008 demo
Source Code Control SharePoint Designer - No support for “real” source code control Pages are created inside of a versioned SharePoint library by default Visual Studio - SharePoint projects have full support for source control
What are my options for team based development? Setting up team development
Setting up team development environment There are different options for environment setup depending on project and team size SharePoint on client OS Boot to VHD Centralized virtualized environment SharePoint has to be installed on the development machine Access to source control solution for efficient code sharing for each option
SharePoint on Windows 2008 R2 Install Windows 2008 x 64 on a physical partition Install: ,[object Object]
Office 2010 Visual
Studio 2008,
VSeWSS 1.3, Etc..Access Enterprise Resources such as Team System, Build  Servers etc... Develop! Boot normally
Win 7 + Boot to VHD Install Windows 7 x 64 on a physical partition Pull VHD from Network VHD ‘Library’ or Create with Windows 7 Access Enterprise Resources such as Team System, Build  Servers etc... Develop! After creating a VHD, use bcdedit to set bootable, boot, install Windows 2008, SP2007 Office 2010, VS2010, Etc. then copy to shared location for reuse Boot normally Boot to VHD
Centralized virtualized environments Install Windows 2008 on  physical partition / Hyper-V Role Copy new instance of the VHD for developer Start VHD in Hyper-V and use remote access After creating a VHD, install OS, SP200,7 Office 2010, VS2010, Etc. and copy to shared location for reuse Develop! Boot normally Access Enterprise Resources such as Team System, Build  Servers etc... Hyper-V is the simplest way to create and manage VHDs.
Team Foundation Server 2010for easy Application Lifecycle Management Works with Visual Studio 2008 Work Item Tracking Source Code Control Manage Test Cases Log bugs and defects Automated Testing Load Testing Team build for continuous integration
How to manage customization life cycle process in 2010? models for Solution life cycle management
Solution Upgrade Improvements BindingRedirect in manifest.xml Redirect existing code to upgraded assemblies Support for versioned feature upgrades Declarative & Programmatic actions on upgrade Feature Upgrade Query Object Model  Find out what features are installed and what their versions are Support to define IIS recycle type during the upgrade (full stop/start or application pool recycle)
Assembly BindingRedirect Definitions in solution manifest will result updates to web.config, which will update existing instances assembly references
Upgrading Features Feature Version Attribute ActivationDependency -MinimumVersion attribute Declarative feature upgrade elements FeatureUpgrading event New Feature Receiver event  Object Model Changes Version property QueryFeatures method Upgrade Method
Feature versioning files Feature Element files Element files Feature v1 Element files Element files Feature v2 XML Feature Receiver To modify existing sites To modify creation of new sites Upgrade Action
Upgrading Features Each Feature Feature v1.0 - v2.0 All v2.0 - v3.0 Version Range XML Feature Receiver XML Feature Receiver XML Feature Receiver Upgrade Action
Declarative Feature Upgrade UpgradeActions Declaratively specify upgrade actions VersionRange (Optional) Conditions based on installed version of feature
AddContentTypeField Allows adding a field to an existing content type. Child instance update can be also identified Updates content types in sub sites and in lists
MapFile Allows changing of file paths within SharePoint http://intranet/myexamplepage.aspx V1.0 MyExamplePage.aspx V2.0 MyExamplePage2.aspx
ApplyFeatureManifest Apply new artifacts to SharePoint without reactivating features Applies new structures defined in the element xml file as part of the upgrade
Custom upgrade action Custom actions can be also developed Possibility to bypass parameters to receiver Feature receiver has new FeatureUpgrading method, which is called during upgrade Method is called for each feature instance that is active on the sites Feature instances activated in 10 sites = 10 feature upgrade calls Feature upgrade gets the site context from where feature is activated
Declarative Feature Upgrade When to run following actions First custom upgrade action named ’example’ Second custom upgrade action with own parameters
FeatureUpgrading Event
Custom actions – design guidelines Place your upgrade code to centralized utility class Provides easier testability for your custom actions You can utilize the same code for upgraded and changes Design custom actions as generic as possible using parameters Provides flexibility and reusability on your code XML Feature Receiver Upgrade manager XML Feature Receiver
Upgrading previous customizations demo
Feature Upgrade Object Model QueryFeatures method (4 overloads) (GuidfeatureId) (GuidfeatureId, boolneedsUpgrade) (GuidfeatureId, Version featureVersion) (SPFeatureScope, boolneedsUpgrade) Available from SPWebService, SPWebApplication,SPContentDatabase and SPSite
How to upgrade full trust solution? Deploy updates to farm stsadm-o upgradesolution -name solution.wsp -filename solution.wsp Update-SPSolution -Identity contoso_solution.wsp -LiteralPath c:ontoso_solution_v2.wsp -GACDeployment Farm Wide – actual upgrade psconfig -cmd upgrade -inplace b2b More Granular use the object model Feature.Upgrade() Provides away to upgrade individual sites one by one
How to upgrade Sandbox solution? Sandbox solution Upload WSP with upgraded featuresand select “Upgrade” in UI

Contenu connexe

Tendances

Dive into Microsoft SharePoint Server 2016 Upgrade, Migration and beyond
Dive into Microsoft SharePoint Server 2016 Upgrade, Migration and beyondDive into Microsoft SharePoint Server 2016 Upgrade, Migration and beyond
Dive into Microsoft SharePoint Server 2016 Upgrade, Migration and beyondJason Himmelstein
 
Practical Business Intelligence in SharePoint 2013 - Helsinki Finalnd
Practical Business Intelligence in SharePoint 2013 - Helsinki FinalndPractical Business Intelligence in SharePoint 2013 - Helsinki Finalnd
Practical Business Intelligence in SharePoint 2013 - Helsinki FinalndIvan Sanders
 
SoCalCodeCamp SharePoint Server 2010 a Developer Platform
SoCalCodeCamp SharePoint Server 2010 a Developer PlatformSoCalCodeCamp SharePoint Server 2010 a Developer Platform
SoCalCodeCamp SharePoint Server 2010 a Developer PlatformIvan Sanders
 
Peter Ward: The True Power of SharePoint Designer Workflows
Peter Ward: The True Power of SharePoint Designer WorkflowsPeter Ward: The True Power of SharePoint Designer Workflows
Peter Ward: The True Power of SharePoint Designer WorkflowsSharePoint Saturday NY
 
Back to the Basics: SharePoint Fundamentals by Joel Oleson
Back to the Basics: SharePoint Fundamentals by Joel OlesonBack to the Basics: SharePoint Fundamentals by Joel Oleson
Back to the Basics: SharePoint Fundamentals by Joel OlesonJoel Oleson
 
SharePoint Saturday Houston 2012
SharePoint Saturday Houston 2012SharePoint Saturday Houston 2012
SharePoint Saturday Houston 2012Ivan Sanders
 
SharePoint Saturday Sacramento Business Intelligence with SharePoint 2010
SharePoint Saturday Sacramento  Business Intelligence with SharePoint 2010SharePoint Saturday Sacramento  Business Intelligence with SharePoint 2010
SharePoint Saturday Sacramento Business Intelligence with SharePoint 2010Ivan Sanders
 
2014 09-20 - SPSNJ - Worst Practices of SharePoint
2014 09-20 - SPSNJ - Worst Practices of SharePoint2014 09-20 - SPSNJ - Worst Practices of SharePoint
2014 09-20 - SPSNJ - Worst Practices of SharePointDan Usher
 
SharePoint 2010 IT Pro Overview
SharePoint 2010 IT Pro OverviewSharePoint 2010 IT Pro Overview
SharePoint 2010 IT Pro OverviewJ.D. Wade
 
OnPath SharePoint Training Solution Written Justification
OnPath SharePoint Training Solution Written JustificationOnPath SharePoint Training Solution Written Justification
OnPath SharePoint Training Solution Written JustificationShadeed Eleazer
 
An Introduction to SharePoint Designer 2010
An Introduction to SharePoint Designer 2010An Introduction to SharePoint Designer 2010
An Introduction to SharePoint Designer 2010Ben Robb
 
SharePoint Saturday NYC - Business Intelligence
SharePoint Saturday NYC - Business IntelligenceSharePoint Saturday NYC - Business Intelligence
SharePoint Saturday NYC - Business IntelligenceIvan Sanders
 
Practical Business Intelligence in SharePoint 2013 - Honolulu
Practical Business Intelligence in SharePoint 2013 - HonoluluPractical Business Intelligence in SharePoint 2013 - Honolulu
Practical Business Intelligence in SharePoint 2013 - HonoluluIvan Sanders
 
TechEd Africa 2011 - OFC307: Architecting a Disaster Tolerant and Highly Avai...
TechEd Africa 2011 - OFC307: Architecting a Disaster Tolerant and Highly Avai...TechEd Africa 2011 - OFC307: Architecting a Disaster Tolerant and Highly Avai...
TechEd Africa 2011 - OFC307: Architecting a Disaster Tolerant and Highly Avai...Michael Noel
 
Pretty Up My SharePoint
Pretty Up My SharePointPretty Up My SharePoint
Pretty Up My SharePointCorinna Lins
 
Share Point For Beginners V1
Share Point For Beginners V1Share Point For Beginners V1
Share Point For Beginners V1MJ Ferdous
 
SharePoint and Azure - A Match Made in the Clouds
SharePoint and Azure - A Match Made in the CloudsSharePoint and Azure - A Match Made in the Clouds
SharePoint and Azure - A Match Made in the CloudsShailen Sukul
 
4 tools, sandboxed solutionds, web part development
4   tools, sandboxed solutionds, web part development4   tools, sandboxed solutionds, web part development
4 tools, sandboxed solutionds, web part developmenticdesktop
 
SharePoint 2013 Sneak Peek
SharePoint 2013 Sneak PeekSharePoint 2013 Sneak Peek
SharePoint 2013 Sneak PeekShailen Sukul
 

Tendances (20)

Dive into Microsoft SharePoint Server 2016 Upgrade, Migration and beyond
Dive into Microsoft SharePoint Server 2016 Upgrade, Migration and beyondDive into Microsoft SharePoint Server 2016 Upgrade, Migration and beyond
Dive into Microsoft SharePoint Server 2016 Upgrade, Migration and beyond
 
Practical Business Intelligence in SharePoint 2013 - Helsinki Finalnd
Practical Business Intelligence in SharePoint 2013 - Helsinki FinalndPractical Business Intelligence in SharePoint 2013 - Helsinki Finalnd
Practical Business Intelligence in SharePoint 2013 - Helsinki Finalnd
 
SoCalCodeCamp SharePoint Server 2010 a Developer Platform
SoCalCodeCamp SharePoint Server 2010 a Developer PlatformSoCalCodeCamp SharePoint Server 2010 a Developer Platform
SoCalCodeCamp SharePoint Server 2010 a Developer Platform
 
Peter Ward: The True Power of SharePoint Designer Workflows
Peter Ward: The True Power of SharePoint Designer WorkflowsPeter Ward: The True Power of SharePoint Designer Workflows
Peter Ward: The True Power of SharePoint Designer Workflows
 
Back to the Basics: SharePoint Fundamentals by Joel Oleson
Back to the Basics: SharePoint Fundamentals by Joel OlesonBack to the Basics: SharePoint Fundamentals by Joel Oleson
Back to the Basics: SharePoint Fundamentals by Joel Oleson
 
SharePoint Saturday Houston 2012
SharePoint Saturday Houston 2012SharePoint Saturday Houston 2012
SharePoint Saturday Houston 2012
 
SharePoint Saturday Sacramento Business Intelligence with SharePoint 2010
SharePoint Saturday Sacramento  Business Intelligence with SharePoint 2010SharePoint Saturday Sacramento  Business Intelligence with SharePoint 2010
SharePoint Saturday Sacramento Business Intelligence with SharePoint 2010
 
2014 09-20 - SPSNJ - Worst Practices of SharePoint
2014 09-20 - SPSNJ - Worst Practices of SharePoint2014 09-20 - SPSNJ - Worst Practices of SharePoint
2014 09-20 - SPSNJ - Worst Practices of SharePoint
 
SharePoint 2010 IT Pro Overview
SharePoint 2010 IT Pro OverviewSharePoint 2010 IT Pro Overview
SharePoint 2010 IT Pro Overview
 
OnPath SharePoint Training Solution Written Justification
OnPath SharePoint Training Solution Written JustificationOnPath SharePoint Training Solution Written Justification
OnPath SharePoint Training Solution Written Justification
 
An Introduction to SharePoint Designer 2010
An Introduction to SharePoint Designer 2010An Introduction to SharePoint Designer 2010
An Introduction to SharePoint Designer 2010
 
SharePoint Saturday NYC - Business Intelligence
SharePoint Saturday NYC - Business IntelligenceSharePoint Saturday NYC - Business Intelligence
SharePoint Saturday NYC - Business Intelligence
 
Practical Business Intelligence in SharePoint 2013 - Honolulu
Practical Business Intelligence in SharePoint 2013 - HonoluluPractical Business Intelligence in SharePoint 2013 - Honolulu
Practical Business Intelligence in SharePoint 2013 - Honolulu
 
TechEd Africa 2011 - OFC307: Architecting a Disaster Tolerant and Highly Avai...
TechEd Africa 2011 - OFC307: Architecting a Disaster Tolerant and Highly Avai...TechEd Africa 2011 - OFC307: Architecting a Disaster Tolerant and Highly Avai...
TechEd Africa 2011 - OFC307: Architecting a Disaster Tolerant and Highly Avai...
 
Pretty Up My SharePoint
Pretty Up My SharePointPretty Up My SharePoint
Pretty Up My SharePoint
 
Share Point For Beginners V1
Share Point For Beginners V1Share Point For Beginners V1
Share Point For Beginners V1
 
SharePoint and Azure - A Match Made in the Clouds
SharePoint and Azure - A Match Made in the CloudsSharePoint and Azure - A Match Made in the Clouds
SharePoint and Azure - A Match Made in the Clouds
 
Anusha Padala
Anusha PadalaAnusha Padala
Anusha Padala
 
4 tools, sandboxed solutionds, web part development
4   tools, sandboxed solutionds, web part development4   tools, sandboxed solutionds, web part development
4 tools, sandboxed solutionds, web part development
 
SharePoint 2013 Sneak Peek
SharePoint 2013 Sneak PeekSharePoint 2013 Sneak Peek
SharePoint 2013 Sneak Peek
 

En vedette

Coclustering Base Classification For Out Of Domain Documents
Coclustering Base Classification For Out Of Domain DocumentsCoclustering Base Classification For Out Of Domain Documents
Coclustering Base Classification For Out Of Domain Documentslau
 
SharePoint Intelligence Introduction To Share Point Designer Workflows
SharePoint Intelligence Introduction To Share Point Designer WorkflowsSharePoint Intelligence Introduction To Share Point Designer Workflows
SharePoint Intelligence Introduction To Share Point Designer WorkflowsIvan Sanders
 
Ep structured share point development - v.4
Ep   structured share point development - v.4Ep   structured share point development - v.4
Ep structured share point development - v.4Ivan Sanders
 
San Fernando Valley SharePoint UserGroup Jully 11, 2012
San Fernando Valley SharePoint UserGroup Jully 11, 2012San Fernando Valley SharePoint UserGroup Jully 11, 2012
San Fernando Valley SharePoint UserGroup Jully 11, 2012Ivan Sanders
 
SharePoint 2013 Business Intelligence Demos to build your businesss 2.0
SharePoint 2013 Business Intelligence Demos to build your businesss 2.0SharePoint 2013 Business Intelligence Demos to build your businesss 2.0
SharePoint 2013 Business Intelligence Demos to build your businesss 2.0Ivan Sanders
 
Enterprise Content Management in SharePoint 2010 inplace autotagging with ter...
Enterprise Content Management in SharePoint 2010 inplace autotagging with ter...Enterprise Content Management in SharePoint 2010 inplace autotagging with ter...
Enterprise Content Management in SharePoint 2010 inplace autotagging with ter...Ivan Sanders
 

En vedette (6)

Coclustering Base Classification For Out Of Domain Documents
Coclustering Base Classification For Out Of Domain DocumentsCoclustering Base Classification For Out Of Domain Documents
Coclustering Base Classification For Out Of Domain Documents
 
SharePoint Intelligence Introduction To Share Point Designer Workflows
SharePoint Intelligence Introduction To Share Point Designer WorkflowsSharePoint Intelligence Introduction To Share Point Designer Workflows
SharePoint Intelligence Introduction To Share Point Designer Workflows
 
Ep structured share point development - v.4
Ep   structured share point development - v.4Ep   structured share point development - v.4
Ep structured share point development - v.4
 
San Fernando Valley SharePoint UserGroup Jully 11, 2012
San Fernando Valley SharePoint UserGroup Jully 11, 2012San Fernando Valley SharePoint UserGroup Jully 11, 2012
San Fernando Valley SharePoint UserGroup Jully 11, 2012
 
SharePoint 2013 Business Intelligence Demos to build your businesss 2.0
SharePoint 2013 Business Intelligence Demos to build your businesss 2.0SharePoint 2013 Business Intelligence Demos to build your businesss 2.0
SharePoint 2013 Business Intelligence Demos to build your businesss 2.0
 
Enterprise Content Management in SharePoint 2010 inplace autotagging with ter...
Enterprise Content Management in SharePoint 2010 inplace autotagging with ter...Enterprise Content Management in SharePoint 2010 inplace autotagging with ter...
Enterprise Content Management in SharePoint 2010 inplace autotagging with ter...
 

Similaire à Developer application lifecycle process and tools - v.5

SharePoint Connections Coast to Coast Migrating SharePoint 2007 Solutions to ...
SharePoint Connections Coast to Coast Migrating SharePoint 2007 Solutions to ...SharePoint Connections Coast to Coast Migrating SharePoint 2007 Solutions to ...
SharePoint Connections Coast to Coast Migrating SharePoint 2007 Solutions to ...Ivan Sanders
 
Automating Your Enterprise Application Deployments With PowerShell by Geoff V...
Automating Your Enterprise Application Deployments With PowerShell by Geoff V...Automating Your Enterprise Application Deployments With PowerShell by Geoff V...
Automating Your Enterprise Application Deployments With PowerShell by Geoff V...SPTechCon
 
Automating Your Enterprise Application Deployments with PowerShell
Automating Your Enterprise Application Deployments with PowerShellAutomating Your Enterprise Application Deployments with PowerShell
Automating Your Enterprise Application Deployments with PowerShellGeoff Varosky
 
What’s New for Devs
What’s New for DevsWhat’s New for Devs
What’s New for DevsMicrosoftFeed
 
Kleimeyer SharePoint Resume
Kleimeyer SharePoint ResumeKleimeyer SharePoint Resume
Kleimeyer SharePoint Resumeskmeyer2010
 
Vs2010 Apiit Mix On Campus_Ngan Seok Chern
Vs2010 Apiit Mix On Campus_Ngan Seok ChernVs2010 Apiit Mix On Campus_Ngan Seok Chern
Vs2010 Apiit Mix On Campus_Ngan Seok ChernQuek Lilian
 
Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)Steve Lange
 
Vs2008 to improve Development
Vs2008  to improve DevelopmentVs2008  to improve Development
Vs2008 to improve Developmentmaddinapudi
 
SharePoint Development For Asp Net Developers
SharePoint Development For Asp Net DevelopersSharePoint Development For Asp Net Developers
SharePoint Development For Asp Net DevelopersCorey Roth
 
Intro to VS 2010 & .Net 4.0
Intro to VS 2010 & .Net 4.0Intro to VS 2010 & .Net 4.0
Intro to VS 2010 & .Net 4.0Clint Edmonson
 
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
 
Best practices for share point solution deployment
Best practices for share point solution deploymentBest practices for share point solution deployment
Best practices for share point solution deploymentSalaudeen Rajack
 
Introduction to development using the share point framework mv ps
Introduction to development using the share point framework mv psIntroduction to development using the share point framework mv ps
Introduction to development using the share point framework mv psUsama Wahab Khan Cloud, Data and AI
 
Workflow in SharePoint 2010
Workflow in SharePoint 2010Workflow in SharePoint 2010
Workflow in SharePoint 2010barryboudreau
 
Building & managing wa app wely
Building & managing wa app   welyBuilding & managing wa app   wely
Building & managing wa app welySpiffy
 
Building & Managing Windows Azure
Building & Managing Windows AzureBuilding & Managing Windows Azure
Building & Managing Windows AzureK.Mohamed Faizal
 
Updated Resume
Updated ResumeUpdated Resume
Updated Resumechaunhi
 

Similaire à Developer application lifecycle process and tools - v.5 (20)

SharePoint Connections Coast to Coast Migrating SharePoint 2007 Solutions to ...
SharePoint Connections Coast to Coast Migrating SharePoint 2007 Solutions to ...SharePoint Connections Coast to Coast Migrating SharePoint 2007 Solutions to ...
SharePoint Connections Coast to Coast Migrating SharePoint 2007 Solutions to ...
 
Automating Your Enterprise Application Deployments With PowerShell by Geoff V...
Automating Your Enterprise Application Deployments With PowerShell by Geoff V...Automating Your Enterprise Application Deployments With PowerShell by Geoff V...
Automating Your Enterprise Application Deployments With PowerShell by Geoff V...
 
Automating Your Enterprise Application Deployments with PowerShell
Automating Your Enterprise Application Deployments with PowerShellAutomating Your Enterprise Application Deployments with PowerShell
Automating Your Enterprise Application Deployments with PowerShell
 
SharePoint 2010 Development
SharePoint 2010 DevelopmentSharePoint 2010 Development
SharePoint 2010 Development
 
What’s New for Devs
What’s New for DevsWhat’s New for Devs
What’s New for Devs
 
Kleimeyer SharePoint Resume
Kleimeyer SharePoint ResumeKleimeyer SharePoint Resume
Kleimeyer SharePoint Resume
 
Vs2010 Apiit Mix On Campus_Ngan Seok Chern
Vs2010 Apiit Mix On Campus_Ngan Seok ChernVs2010 Apiit Mix On Campus_Ngan Seok Chern
Vs2010 Apiit Mix On Campus_Ngan Seok Chern
 
Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)
 
Vs2008 to improve Development
Vs2008  to improve DevelopmentVs2008  to improve Development
Vs2008 to improve Development
 
SharePoint Development For Asp Net Developers
SharePoint Development For Asp Net DevelopersSharePoint Development For Asp Net Developers
SharePoint Development For Asp Net Developers
 
ASP.NET OVERVIEW
ASP.NET OVERVIEWASP.NET OVERVIEW
ASP.NET OVERVIEW
 
Vsts 2
Vsts 2Vsts 2
Vsts 2
 
Intro to VS 2010 & .Net 4.0
Intro to VS 2010 & .Net 4.0Intro to VS 2010 & .Net 4.0
Intro to VS 2010 & .Net 4.0
 
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
 
Best practices for share point solution deployment
Best practices for share point solution deploymentBest practices for share point solution deployment
Best practices for share point solution deployment
 
Introduction to development using the share point framework mv ps
Introduction to development using the share point framework mv psIntroduction to development using the share point framework mv ps
Introduction to development using the share point framework mv ps
 
Workflow in SharePoint 2010
Workflow in SharePoint 2010Workflow in SharePoint 2010
Workflow in SharePoint 2010
 
Building & managing wa app wely
Building & managing wa app   welyBuilding & managing wa app   wely
Building & managing wa app wely
 
Building & Managing Windows Azure
Building & Managing Windows AzureBuilding & Managing Windows Azure
Building & Managing Windows Azure
 
Updated Resume
Updated ResumeUpdated Resume
Updated Resume
 

Plus de Ivan Sanders

#OCSPUG SharePoint 2013 Best Practices
#OCSPUG SharePoint 2013 Best Practices#OCSPUG SharePoint 2013 Best Practices
#OCSPUG SharePoint 2013 Best PracticesIvan Sanders
 
O365 DEVCamp Los Angeles June 16, 2015 Module 06 Hook into SharePoint APIs wi...
O365 DEVCamp Los Angeles June 16, 2015 Module 06 Hook into SharePoint APIs wi...O365 DEVCamp Los Angeles June 16, 2015 Module 06 Hook into SharePoint APIs wi...
O365 DEVCamp Los Angeles June 16, 2015 Module 06 Hook into SharePoint APIs wi...Ivan Sanders
 
O365 DEVCamp Los Angeles June 16, 2015 Module 05 Hook into Apps for Office
  O365 DEVCamp Los Angeles June 16, 2015 Module 05 Hook into Apps for Office  O365 DEVCamp Los Angeles June 16, 2015 Module 05 Hook into Apps for Office
O365 DEVCamp Los Angeles June 16, 2015 Module 05 Hook into Apps for OfficeIvan Sanders
 
O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs
O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIsO365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs
O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIsIvan Sanders
 
O365 DEVCamp Los Angeles June 16, 2015 Module 03 Hook into Apps for Sharepoint
O365 DEVCamp Los Angeles June 16, 2015 Module 03 Hook into Apps for SharepointO365 DEVCamp Los Angeles June 16, 2015 Module 03 Hook into Apps for Sharepoint
O365 DEVCamp Los Angeles June 16, 2015 Module 03 Hook into Apps for SharepointIvan Sanders
 
O365 DEVCamp Los Angeles June 16, 2015 Module 02 Setting up the Environments
O365 DEVCamp Los Angeles June 16, 2015 Module 02 Setting up the EnvironmentsO365 DEVCamp Los Angeles June 16, 2015 Module 02 Setting up the Environments
O365 DEVCamp Los Angeles June 16, 2015 Module 02 Setting up the EnvironmentsIvan Sanders
 
Real world business workflow with SharePoint designer 2013
Real world business workflow with SharePoint designer 2013Real world business workflow with SharePoint designer 2013
Real world business workflow with SharePoint designer 2013Ivan Sanders
 
Practical Business Intelligence with SharePoint 2013
Practical Business Intelligence with SharePoint 2013Practical Business Intelligence with SharePoint 2013
Practical Business Intelligence with SharePoint 2013Ivan Sanders
 
Self-Service Business Intelligence in SharePoint 2013
Self-Service Business Intelligence in SharePoint 2013Self-Service Business Intelligence in SharePoint 2013
Self-Service Business Intelligence in SharePoint 2013Ivan Sanders
 
Creating Business Intelligence with SharePoint 2010
Creating Business Intelligence  with SharePoint 2010Creating Business Intelligence  with SharePoint 2010
Creating Business Intelligence with SharePoint 2010Ivan Sanders
 
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...Ivan Sanders
 
SharePoint Connections Coast to Coast Developer Boot Camp Crash Course v3
SharePoint Connections Coast to Coast Developer Boot Camp Crash Course v3SharePoint Connections Coast to Coast Developer Boot Camp Crash Course v3
SharePoint Connections Coast to Coast Developer Boot Camp Crash Course v3Ivan Sanders
 

Plus de Ivan Sanders (12)

#OCSPUG SharePoint 2013 Best Practices
#OCSPUG SharePoint 2013 Best Practices#OCSPUG SharePoint 2013 Best Practices
#OCSPUG SharePoint 2013 Best Practices
 
O365 DEVCamp Los Angeles June 16, 2015 Module 06 Hook into SharePoint APIs wi...
O365 DEVCamp Los Angeles June 16, 2015 Module 06 Hook into SharePoint APIs wi...O365 DEVCamp Los Angeles June 16, 2015 Module 06 Hook into SharePoint APIs wi...
O365 DEVCamp Los Angeles June 16, 2015 Module 06 Hook into SharePoint APIs wi...
 
O365 DEVCamp Los Angeles June 16, 2015 Module 05 Hook into Apps for Office
  O365 DEVCamp Los Angeles June 16, 2015 Module 05 Hook into Apps for Office  O365 DEVCamp Los Angeles June 16, 2015 Module 05 Hook into Apps for Office
O365 DEVCamp Los Angeles June 16, 2015 Module 05 Hook into Apps for Office
 
O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs
O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIsO365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs
O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs
 
O365 DEVCamp Los Angeles June 16, 2015 Module 03 Hook into Apps for Sharepoint
O365 DEVCamp Los Angeles June 16, 2015 Module 03 Hook into Apps for SharepointO365 DEVCamp Los Angeles June 16, 2015 Module 03 Hook into Apps for Sharepoint
O365 DEVCamp Los Angeles June 16, 2015 Module 03 Hook into Apps for Sharepoint
 
O365 DEVCamp Los Angeles June 16, 2015 Module 02 Setting up the Environments
O365 DEVCamp Los Angeles June 16, 2015 Module 02 Setting up the EnvironmentsO365 DEVCamp Los Angeles June 16, 2015 Module 02 Setting up the Environments
O365 DEVCamp Los Angeles June 16, 2015 Module 02 Setting up the Environments
 
Real world business workflow with SharePoint designer 2013
Real world business workflow with SharePoint designer 2013Real world business workflow with SharePoint designer 2013
Real world business workflow with SharePoint designer 2013
 
Practical Business Intelligence with SharePoint 2013
Practical Business Intelligence with SharePoint 2013Practical Business Intelligence with SharePoint 2013
Practical Business Intelligence with SharePoint 2013
 
Self-Service Business Intelligence in SharePoint 2013
Self-Service Business Intelligence in SharePoint 2013Self-Service Business Intelligence in SharePoint 2013
Self-Service Business Intelligence in SharePoint 2013
 
Creating Business Intelligence with SharePoint 2010
Creating Business Intelligence  with SharePoint 2010Creating Business Intelligence  with SharePoint 2010
Creating Business Intelligence with SharePoint 2010
 
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...
 
SharePoint Connections Coast to Coast Developer Boot Camp Crash Course v3
SharePoint Connections Coast to Coast Developer Boot Camp Crash Course v3SharePoint Connections Coast to Coast Developer Boot Camp Crash Course v3
SharePoint Connections Coast to Coast Developer Boot Camp Crash Course v3
 

Dernier

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
🐬 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
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Dernier (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Developer application lifecycle process and tools - v.5

  • 1. SharePoint DeveloperApplication Lifecycle Process Ivan Sanders SharePoint ArchitectDimension Solutions inc. ivan@dimension-si.com
  • 2. Agenda Application life cycle process with SharePoint 2010 Tools and processes to manage life cycle of portals Setting up team development Update management Solution versioning Feature versioning
  • 3. ALM Life cycle management has been taken into account in the platform The SharePoint platform provides a rich set of features to deploy custom code Still process planning has to be done
  • 5. SharePoint Tools Continuum VisualStudio SharePoint Designer Professional developer Designer/IW/Power User Create lists & libs Design Web Pages Web part hook-up Views & forms Declarative Workflows Custom Web Parts Code Workflows Event Receivers List Definitions Application Pages WSP Package Browserediting
  • 6. Importing existing site to Visual Studio 2008 demo
  • 7. Source Code Control SharePoint Designer - No support for “real” source code control Pages are created inside of a versioned SharePoint library by default Visual Studio - SharePoint projects have full support for source control
  • 8. What are my options for team based development? Setting up team development
  • 9. Setting up team development environment There are different options for environment setup depending on project and team size SharePoint on client OS Boot to VHD Centralized virtualized environment SharePoint has to be installed on the development machine Access to source control solution for efficient code sharing for each option
  • 10.
  • 13. VSeWSS 1.3, Etc..Access Enterprise Resources such as Team System, Build Servers etc... Develop! Boot normally
  • 14. Win 7 + Boot to VHD Install Windows 7 x 64 on a physical partition Pull VHD from Network VHD ‘Library’ or Create with Windows 7 Access Enterprise Resources such as Team System, Build Servers etc... Develop! After creating a VHD, use bcdedit to set bootable, boot, install Windows 2008, SP2007 Office 2010, VS2010, Etc. then copy to shared location for reuse Boot normally Boot to VHD
  • 15. Centralized virtualized environments Install Windows 2008 on physical partition / Hyper-V Role Copy new instance of the VHD for developer Start VHD in Hyper-V and use remote access After creating a VHD, install OS, SP200,7 Office 2010, VS2010, Etc. and copy to shared location for reuse Develop! Boot normally Access Enterprise Resources such as Team System, Build Servers etc... Hyper-V is the simplest way to create and manage VHDs.
  • 16. Team Foundation Server 2010for easy Application Lifecycle Management Works with Visual Studio 2008 Work Item Tracking Source Code Control Manage Test Cases Log bugs and defects Automated Testing Load Testing Team build for continuous integration
  • 17. How to manage customization life cycle process in 2010? models for Solution life cycle management
  • 18. Solution Upgrade Improvements BindingRedirect in manifest.xml Redirect existing code to upgraded assemblies Support for versioned feature upgrades Declarative & Programmatic actions on upgrade Feature Upgrade Query Object Model Find out what features are installed and what their versions are Support to define IIS recycle type during the upgrade (full stop/start or application pool recycle)
  • 19. Assembly BindingRedirect Definitions in solution manifest will result updates to web.config, which will update existing instances assembly references
  • 20. Upgrading Features Feature Version Attribute ActivationDependency -MinimumVersion attribute Declarative feature upgrade elements FeatureUpgrading event New Feature Receiver event Object Model Changes Version property QueryFeatures method Upgrade Method
  • 21. Feature versioning files Feature Element files Element files Feature v1 Element files Element files Feature v2 XML Feature Receiver To modify existing sites To modify creation of new sites Upgrade Action
  • 22. Upgrading Features Each Feature Feature v1.0 - v2.0 All v2.0 - v3.0 Version Range XML Feature Receiver XML Feature Receiver XML Feature Receiver Upgrade Action
  • 23. Declarative Feature Upgrade UpgradeActions Declaratively specify upgrade actions VersionRange (Optional) Conditions based on installed version of feature
  • 24. AddContentTypeField Allows adding a field to an existing content type. Child instance update can be also identified Updates content types in sub sites and in lists
  • 25. MapFile Allows changing of file paths within SharePoint http://intranet/myexamplepage.aspx V1.0 MyExamplePage.aspx V2.0 MyExamplePage2.aspx
  • 26. ApplyFeatureManifest Apply new artifacts to SharePoint without reactivating features Applies new structures defined in the element xml file as part of the upgrade
  • 27. Custom upgrade action Custom actions can be also developed Possibility to bypass parameters to receiver Feature receiver has new FeatureUpgrading method, which is called during upgrade Method is called for each feature instance that is active on the sites Feature instances activated in 10 sites = 10 feature upgrade calls Feature upgrade gets the site context from where feature is activated
  • 28. Declarative Feature Upgrade When to run following actions First custom upgrade action named ’example’ Second custom upgrade action with own parameters
  • 30. Custom actions – design guidelines Place your upgrade code to centralized utility class Provides easier testability for your custom actions You can utilize the same code for upgraded and changes Design custom actions as generic as possible using parameters Provides flexibility and reusability on your code XML Feature Receiver Upgrade manager XML Feature Receiver
  • 32. Feature Upgrade Object Model QueryFeatures method (4 overloads) (GuidfeatureId) (GuidfeatureId, boolneedsUpgrade) (GuidfeatureId, Version featureVersion) (SPFeatureScope, boolneedsUpgrade) Available from SPWebService, SPWebApplication,SPContentDatabase and SPSite
  • 33. How to upgrade full trust solution? Deploy updates to farm stsadm-o upgradesolution -name solution.wsp -filename solution.wsp Update-SPSolution -Identity contoso_solution.wsp -LiteralPath c:ontoso_solution_v2.wsp -GACDeployment Farm Wide – actual upgrade psconfig -cmd upgrade -inplace b2b More Granular use the object model Feature.Upgrade() Provides away to upgrade individual sites one by one
  • 34. How to upgrade Sandbox solution? Sandbox solution Upload WSP with upgraded featuresand select “Upgrade” in UI
  • 36. Summary Application life cycle process with SharePoint 2007 Tools and processes to manage life cycle of already deployed portals Setting up team development Update management Solution versioning Feature versioning