When creating new content-centric Web sites using something like ASP.NET, developers usually follow a set lifecycle. I've been involved in my share of content-centric sites using tools like Microsoft Content Management Server 2002 and Office SharePoint Server 2007 Web Content Management. The process is pretty easy getting a site off the ground:
We first create a basic site with the core templates, just enough to enter some dummy content in. We need this for things like content rollups and the like. We then continue building out the site. Finally we reach a point where our site is created enough to where the content owners can start loading content into the site (or we migrate content from an existing site).
Ultimately we'll take the development codebase and deploy it to production and migrate all the content (or as many of us do, just deploy the development site to production).
The next thing that comes up is when you want to keep doing development. We all would want to develop against the production system in order to work with real world content. With an ASP.NET 2.0 site, this isn't too hard as it usually means you are just backing up and restoring a SQL Server database.
However when you toss Office SharePoint Server 2007 into the mix, you quickly find this isn't the most intuitive task. I get a lot of questions about how you're supposed to do this. Suffice to say, where are a few ways to skin this cat, but I've got a way that works for me and is pretty simple. There are few manual tasks, but most of this could be scripted to automate it.
This article will explain how you can do this. I'll be using my company's site, www.CriticalPathTraining.com which is a Office SharePoint Server 2007 Web Content Management site as my sample in this process.