Upload
ivan-sanders
View
811
Download
3
Tags:
Embed Size (px)
DESCRIPTION
Application life cycle process with SharePoint 2010Tools and processes to manage life cycle of portalsthe development teanUpdate managementSolution versioningFeature versioning
Citation preview
SharePoint DeveloperApplication Lifecycle Process
Ivan Sanders
SharePoint ArchitectDimension Solutions inc.
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
1.0 1.1 1.2 2.0 3.0 3.1
Release Minor bug release
Bug Release Larger new version
Production Release
ALM process
SharePoint Tools Continuum
Professional developer
VisualStudio
Custom Web Parts
Code Workflows
Event Receivers
List Definitions
Application Pages
WSP Package
Designer/IW/Power User
SharePointDesigner
Create lists & libs
Design Web Pages
Web part hook-up
Views & forms
Declarative Workflows
Browserediting
Importing existing site to Visual Studio 2008
demo
Source Code Control SharePoint Designer - No support for “real”
source code controlPages are created inside of a versioned
SharePoint library by default
Visual Studio - SharePoint projects have full support for source control
SETTING UP TEAM DEVELOPMENTWhat are my options for team based development?
Setting up team development environment There are different options for environment
setup depending on project and team size1. SharePoint on client OS2. Boot to VHD3. 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 64on a physical partition
Access Enterprise Resourcessuch as Team System, Build Servers etc...
Develop!
Boot normally
Install:- SharePoint 2007- Office 2010
Visual- Studio 2008, - VSeWSS 1.3,
Etc..
Win 7 + Boot to VHDInstall Windows 7 x 64on a physical partition
Develop!
Boot normally
Pull VHD from Network VHD ‘Library’ or Create with Windows 7 Boot to VHD
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
Access Enterprise Resourcessuch as Team System, Build Servers etc...
Centralized virtualized environments
Install Windows 2008 on physical partition / Hyper-V Role
Develop!
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
Copy new instance of the VHD for developer
Access Enterprise Resourcessuch as Team System, Build Servers etc...
Hyper-V is the simplest way to create and manage VHDs.
Boot normally
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
MODELS FOR SOLUTION LIFE CYCLE MANAGEMENT
How to manage customization life cycle process in 2010?
Solution Upgrade Improvements
BindingRedirect in manifest.xmlRedirect existing code to upgraded assemblies
Support for versioned feature upgradesDeclarative & 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 propertyQueryFeatures methodUpgrade Method
Feature versioning files
Feature v2
Upgrade ActionXMLFeature Receive
r
FeatureFeature v1Element
filesElement
files
Element files
To modify existing sites
To modify creation of new sites
Element files
Upgrading Features
Version Range v1.0 - v2.0
Upgrade Action
All
XMLFeature Receive
r
v2.0 - v3.0
XMLFeature Receive
r
Each FeatureFeature
XMLFeature Receive
r
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
V1.0MyExampleP
age.aspx
V2.0MyExamplePage2.aspx
http://intranet/myexamplepage.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 upgradeMethod is called for each feature instance that is
active on the sitesFeature 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 classProvides easier testability for your custom actionsYou can utilize the same code for upgraded and changes
Design custom actions as generic as possible using parametersProvides flexibility and reusability on your code
Upgrade manager
XMLFeature Receive
r
XMLFeature Receive
r
Upgrading previous customizations
demo
Feature Upgrade Object Model
QueryFeatures method (4 overloads)(Guid featureId)(Guid featureId, bool needsUpgrade)(Guid featureId, Version featureVersion)(SPFeatureScope, bool needsUpgrade)
Available from SPWebService, SPWebApplication,SPContentDatabase and SPSite
How to upgrade full trust solution?
Deploy updates to farmstsadm -o upgradesolution -name solution.wsp -filename solution.wsp
Update-SPSolution -Identity contoso_solution.wsp -LiteralPath c:\contoso_solution_v2.wsp -GACDeployment
Farm Wide – actual upgradepsconfig -cmd upgrade -inplace b2b
More Granular use the object modelFeature.Upgrade()Provides away to upgrade individual sites one by one
How to upgrade Sandbox solution?
Sandbox solutionUpload WSP with upgraded features
and select “Upgrade” in UI
Granular Solution Upgrade
demo
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