+ All Categories
Home > Technology > Developer application lifecycle process and tools - v.5

Developer application lifecycle process and tools - v.5

Date post: 18-Nov-2014
Category:
Upload: ivan-sanders
View: 811 times
Download: 3 times
Share this document with a friend
Description:
Application life cycle process with SharePoint 2010Tools and processes to manage life cycle of portalsthe development teanUpdate managementSolution versioningFeature versioning
Popular Tags:
34
SharePoint Developer Application Lifecycle Process Ivan Sanders SharePoint Architect Dimension Solutions inc. [email protected]
Transcript
Page 1: Developer application lifecycle process and tools - v.5

SharePoint DeveloperApplication Lifecycle Process

Ivan Sanders

SharePoint ArchitectDimension Solutions inc.

[email protected]

Page 2: Developer application lifecycle process and tools - v.5

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

Page 3: Developer application lifecycle process and tools - v.5

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

Page 4: Developer application lifecycle process and tools - v.5

ALM process

Page 5: Developer application lifecycle process and tools - v.5

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

Page 6: Developer application lifecycle process and tools - v.5

Importing existing site to Visual Studio 2008

demo

Page 7: Developer application lifecycle process and tools - v.5

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

Page 8: Developer application lifecycle process and tools - v.5

SETTING UP TEAM DEVELOPMENTWhat are my options for team based development?

Page 9: Developer application lifecycle process and tools - v.5

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

Page 10: Developer application lifecycle process and tools - v.5

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

Page 11: Developer application lifecycle process and tools - v.5

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

Page 12: Developer application lifecycle process and tools - v.5

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

Page 13: Developer application lifecycle process and tools - v.5

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

Page 14: Developer application lifecycle process and tools - v.5

MODELS FOR SOLUTION LIFE CYCLE MANAGEMENT

How to manage customization life cycle process in 2010?

Page 15: Developer application lifecycle process and tools - v.5

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)

Page 16: Developer application lifecycle process and tools - v.5

Assembly BindingRedirect

Definitions in solution manifest will result updates to

web.config, which will update existing instances assembly

references

Page 17: Developer application lifecycle process and tools - v.5

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

Page 18: Developer application lifecycle process and tools - v.5

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

Page 19: Developer application lifecycle process and tools - v.5

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

Page 20: Developer application lifecycle process and tools - v.5

Declarative Feature Upgrade UpgradeActions

Declaratively specify upgrade actions VersionRange (Optional)

Conditions based on installed version of feature

Page 21: Developer application lifecycle process and tools - v.5

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

Page 22: Developer application lifecycle process and tools - v.5

MapFile Allows changing of file paths within

SharePoint

V1.0MyExampleP

age.aspx

V2.0MyExamplePage2.aspx

http://intranet/myexamplepage.aspx

Page 23: Developer application lifecycle process and tools - v.5

ApplyFeatureManifest Apply new artifacts to SharePoint without

reactivating features Applies new structures defined in the element

xml file as part of the upgrade

Page 24: Developer application lifecycle process and tools - v.5

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

Page 25: Developer application lifecycle process and tools - v.5

Declarative Feature Upgrade

When to run following actions

First custom upgrade action named ’example’

Second custom upgrade action with own parameters

Page 26: Developer application lifecycle process and tools - v.5

FeatureUpgrading Event

Page 27: Developer application lifecycle process and tools - v.5

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

Page 28: Developer application lifecycle process and tools - v.5

Upgrading previous customizations

demo

Page 29: Developer application lifecycle process and tools - v.5

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

Page 30: Developer application lifecycle process and tools - v.5

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

Page 31: Developer application lifecycle process and tools - v.5

How to upgrade Sandbox solution?

Sandbox solutionUpload WSP with upgraded features

and select “Upgrade” in UI

Page 32: Developer application lifecycle process and tools - v.5

Granular Solution Upgrade

demo

Page 33: Developer application lifecycle process and tools - v.5

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

Page 34: Developer application lifecycle process and tools - v.5

Recommended