Name Title Company 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 ID: 337255
Download Presentation The PPT/PDF document "Application Lifecycle Management in Shar..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1Slide2
Application Lifecycle Management in SharePoint 2010
Name
Title
CompanySlide3
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 versioningSlide4
SharePoint ALM
Application life cycle in SharePoint 2010Slide5
ALM challenges in 2007
Feature management
How to version features correctly?
How to upgrade already existing content types?
How to know which feature receivers have been updated?
Site management
Inconsistent packaging story with site
templates
Preserving customizations on
upgrade
How
to update already provisioned sites?
How to update site provisioning engine?Slide6
ALM in 2010
Life cycle management has been taken into account in the platform
2010 platform provides much better story to manage the life cycle of deployed functionalities
Still process planning has to be doneSlide7
ALM processSlide8
SharePoint Tools Continuum
Professional developer
Custom Web Parts
Code Workflows
Event Receivers
List Definitions
Application Pages
WSP Package
Designer/IW/Power User
Create lists &
libs
Design Web Pages
Web part hook-up
Views & forms
Declarative Workflows
Browser
editingSlide9
SharePoint Designer 2010
SharePoint Designer 2010’s focus has changed from page-oriented to feature/functionality oriented
SPD 2010 is
THE
tool for building complete,
rich, reusable, process-centric applications
SPD can utilize modular components developed with VS2010
Target Users
Primary: Business Unit IT, Power IW
Secondary: Developers
(Rapid Development, Prototyping)Slide10
Giving IT Control over
SharePoint Designer 2010
Many organizations blocked SPD 2007 rather than address specific challenges introduced by the product
New control features added to SharePoint 2010
and SharePoint Designer
Server and site collection administrators can enable/disable
on a Web app/site collection
Allow site to be opened in SPD
Allow customization of files
Allow customization of master pages and layout pages
Allow site collection
admins
to see the site URL structure
These options be set at the Web app/site collection level
Web app can allow customization of files, but site collection owner can block itSlide11
Save Site as Template – part of ALM
Creates a WSP
Stores the template to solution catalog
Improvements to WSP to enable this
WebFeatures
,
SiteFeatures
SourceVersion
WebTemplate
feature element
PropertyBag
feature element
$
ListId:Lists
/Announcements;WorkflowAssociation Feature ElementCustomSchema attribute on
ListInstanceSolution DependenciesSlide12
Tools – Import WSP to VS2010Slide13
Importing existing site to Visual Studio 2010
demo Slide14
Source Code Control
SharePoint Designer
- No support for “real” source code control
Pages are now created inside of a versioned SharePoint library by default
Visual Studio - SharePoint projects have full support for source controlSlide15
Automated builds with 2010
Since VS2010 natively understands SharePoint development, not that complex anymore
No need for modified msbuild scripts
Wsp packages are output to the same location as the assemblies (dll’s)
More comprehensive scripting support with PowerShell to automate deployments
Possibility still to modify different xml files to customize the build processSlide16
Setting up team development
What are my options for team based development?Slide17
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 optionSlide18
SharePoint on Windows 7
Install Windows 7 x 64
o
n a physical partition
Access Enterprise Resources
such as Team System, Build
Servers etc...
Develop!
Boot normally
Install:
SharePoint 2010
Office 2010 Visual
Studio 2010
Etc..Slide19
Win 7 + Boot to
VHD
Install Windows 7 x 64
o
n 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 7, SP2010, Office 2010, VS2010, Etc. then
copy to shared location for reuse
Access Enterprise Resources
such as Team System, Build
Servers etc...Slide20
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, SP2010, Office 2010, VS2010, Etc. and
copy to shared location for reuse
Copy new instance of the VHD for developer
Access Enterprise Resources
such as Team System, Build
Servers etc
...
Hyper-V is the simplest way to create and manage VHDs.
Boot normallySlide21
Team Foundation Server
f
or easy Application
Lifecycle Management
Work Item Tracking
Source Code Control
Manage Test Cases
Log bugs and defects
Automated Testing
Load Testing
Team build for continuous integrationSlide22
models for Solution life cycle management
How to manage customization life cycle process in 2010?Slide23
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
)Slide24
Assembly BindingRedirect
Definitions in solution manifest will result updates to web.config, which will update existing instances assembly referencesSlide25
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 MethodSlide26
Feature versioning files
Feature v2
Upgrade Action
XML
Feature Receiver
Feature
Feature v1
Element files
Element files
Element files
To modify
existing
sites
To modify creation of
new
sites
Element filesSlide27
Upgrading Features
Version Range
v1.0 - v2.0
Upgrade Action
All
XML
Feature Receiver
v2.0 - v3.0
XML
Feature Receiver
Each Feature
Feature
XML
Feature ReceiverSlide28
Declarative Feature Upgrade
UpgradeActions
Declaratively specify upgrade
actions
VersionRange
(Optional)
Conditions based on installed version of featureSlide29
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 listsSlide30
MapFile
Allows changing of
file
paths
within SharePoint
V1.0
MyExamplePage.aspx
V2.0
MyExamplePage2.aspx
http://intranet/myexamplepage.aspxSlide31
ApplyFeatureManifest
Apply new artifacts to SharePoint without reactivating features
Applies new structures defined in the element xml file as part of the upgradeSlide32
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 activatedSlide33
Declarative Feature Upgrade
When to run following actions
First custom upgrade action named ’example’
Second custom upgrade action with own parametersSlide34
FeatureUpgrading EventSlide35
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
Upgrade manager
XML
Feature Receiver
XML
Feature ReceiverSlide36
Upgrading previous customizations
demo Slide37
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 SPSiteSlide38
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:\contoso_solution_v2.wsp -GACDeploymentFarm Wide – actual upgradepsconfig -cmd upgrade -inplace b2b
More Granular use the object modelFeature.Upgrade()Provides away to upgrade individual sites one by oneSlide39
How to upgrade Sandbox solution?
Sandbox solution
Upload WSP with upgraded features
and select “Upgrade” in UISlide40
Granular Solution Upgrade
demo Slide41
Summary
Application life cycle process with SharePoint 2010
Tools and processes to manage life cycle of already deployed
portals
Setting up team
development
Update management
Solution
versioning
Feature
versioningSlide42Slide43
©
2010 Microsoft
Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.