Welcome to Comunidade Bloggers |create|it| Sign in | Join | Help

André Vala

FAST Search Server


  • SP24 Conference
    European SharePoint Community Awards 2012 Winner
    Locations of visitors to this page

    Comunidade Portuguesa de SharePoint

    Member of the SharePoint Community

    View André Vala's profile on LinkedIn

    © André Vala and Create IT, 2006-2013. Unauthorized use and/or duplication of this material without express and written permission from this blog’s author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to André Vala and Create IT with appropriate and specific direction to the original content.

SharePoint 2007 Deployment: Overview

I'm starting a new series of posts on SharePoint Deployment, since I believe it's one of the hardest tasks on a SharePoint project. This first post will be updated every time I add a new article to this series.

SharePoint 2007 Deployment Series

Part 0: Overview (this post)
Part 1: Features and Solutions
Part 2: Creating and Using Features
Part 3: Creating and Using Solutions
Part 4: Site Column Features
Part 5: Site Content Type Features
Part 6: List Template Features
Part 7: List Instance Features
Part 8: Custom Action Features
Part 9: Module Features
Part 10: Event Registration Features
Part 11: Content Type Binding Features
Part 12: Feature Stapling (Feature Site Template Association)
Part 13: Using Resources in Features 

Who Needs Deployment?

Regarding the development environment, there are two types of SharePoint projects:

  • Single environment projects, where everything is configured and developed directly in the production environment;
  • Multiple environment projects, where all the development and configuration is done in a development environment, then possibly deployed to a testing environment, and finally deployed to the production environment.

Additionally, you can have two types of farms, in a SharePoint installment:

  • Single server farm, when there is only one SharePoint Server in the farm (although there can be additional SQL Servers);
  • Multiple server farm, when there are several SharePoint Servers, possibly with different server roles, in the farm.

For Single Server – Single Environment projects, which are the least common type, the developers don't really need to be concerned about deployment since everything is done on the same server. But for the other types of projects (Single Server – Multiple Environment, Multiple ServerSingle Environment and Multiple Server Multiple Environment) developers will need to deploy their work to the servers.

What Does Deployment Mean, in a SharePoint Sense?

In SharePoint, deployment means the necessary actions to install your software solution in a SharePoint environment, whether that solution consists of web parts, custom web controls, event handlers, custom web pages, or just master pages.

So, imagine you have created site columns and content types directly on the SharePoint UI, customized some master pages using SharePoint Designer and installed a few custom web parts on your Development Environment, and now you need to deploy this to the Testing Environment (and later on, to the Production Environment). You can choose from a few different deployment methods:

  • Stone Age Deployment. You do it all over again in the Testing Environment, and later you will repeat the procedure in the Production Environment. It's not hard to figure out this is a bad practice: probably you won't be able to repeat the tasks in the exact same order as you did before, and that might result in errors or in a Testing Environment that is not a replica of the Development Environment. Also, that means the developers must have administration access in all the environments, which is not always the case.
  • Backup/Restore Deployment. You perform a farm backup on the Development Environment and restore it in the Testing Environment. Although commonly used, it's not the best practice either: you must make sure all the assemblies, web.config modifications, and file system changes are present in the destination environment before you restore the backup. Also, you might have some problems if the environments are not in the same windows domain.
  • Content Deployment. You use SharePoint's content deployment paths and jobs. That can be a good solution, but it has some limitations: unless you are deploying a whole site collection, you'll need to make sure all the assemblies, web.config modifications, and file system changes are present in the destination environment before you restore the backup. Content deployment is targeted at "contents" and not at "structure", although some of the SharePoint structures are migrated with the contents. Also, both environments must be connected for automatic content deployment to work. You have the option to export a site collection to a .CAB file and import it in the destination environment using STSADM commands, but the same limitations apply.
  • Solution Deployment. You build SharePoint Features for all the objects you developed and pack them in one or more SharePoint Solutions. This is the recommended approach for structure deployment, since it allows for multiple server farm deployment, allows the deployment of assemblies, web.config modifications, files in file system folders as well as all SharePoint objects.

This series of posts will focus on the last deployment method.

Posted: Sunday, December 02, 2007 11:46 AM by andrevala


Confluence: SharePoint Development Wiki said:

Top This Week ()()()() SharePoint's Branding Limitations, Part 1 SharePoint Magazine

# July 28, 2009 5:47 AM

harsh said:

First of all. Thanks very much for your useful post. I just came across your blog and wanted to drop you a note telling you how impressed I was with the information you have posted here. Please let me introduce you some info related to this post and I hope that it is useful for community. There is a good SharePoint resource site, Have alook http://www.how2sharepoint.com/ http://www.sharepoint2003.com/ http://sharepointbank.com/ Thanks again Rahul
# January 3, 2010 9:19 AM

Russia said:

Hey very nice blog!! Man ..  I will bookmark your blog and take the feeds also...

# March 31, 2010 12:15 AM

Sreenath H B said:

Hi Andre Thanks for this wonderful series. I use them as a ready reference from my bookmarks. As a huge request, please do not take this blog offline at any point in the future due to any reason whatsoever. I would have nowhere to go if you took these series off the internet! Thank You Sreenath
# April 1, 2010 5:39 PM

gowri sankar said:

very informative. I am going to bookmark this link and also I will share with my friends and team.

# October 16, 2010 5:47 AM

amarnath poosala said:

i havent found such an informative forum in the web..thanks a lot..pls dont take it offline for what ever reasons...and pls keep posting...a great blog from a great author...i got what exacly i am looking for..thanks a ton....

# May 9, 2011 7:44 AM
Anonymous comments are disabled