Developer application lifecycle process and tools - v.5

722 views
630 views

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
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
722
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
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 />ivan@dimension-si.com<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 />

×