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