Developer application lifecycle process and tools - v.5


Published on

Application life cycle process with SharePoint 2010
Tools and processes to manage life cycle of portals
the development tean
Update management
Solution versioning
Feature versioning

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Developer application lifecycle process and tools - v.5

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