- Part 1 – The Tools
- Part 2 – Exporting the Site
- Part 3 – Exporting the Lists
- Part 4 – Exporting the Site Columns and Content Types
- Part 5 – Wrap Up <Update>Please read the intro paragraph of part 5 for a correction relating to the title of this series. It should more appropriately be called something along the lines of “Exporting A SharePoint Site Definition and Features” but I’ll keep the original titling for now</Update>As I promised a blog post or two ago, I’ve been wanting to write up how to export a SharePoint site into a site template defined as a feature, so here is part 1 of the multi-part series.. Not only is exporting a SharePoint site into a feature good for repeatability (disaster recovery anyone), but I’ve actually used it in my last two clients when migrating a site (and subsequent upgrades) through various development environments. First and foremost I have to thank my good friend and coworker Kelly Jones for his help in guiding me down a path of standards and best practices in this area of SharePoint. He introduced me to a couple of tools and blog posts that really helped.
As noted in a previous post I enjoy checking out new technologies that help me do my job (or hobbies) more easily and efficiently. For this given topic I use a mix of tools that each have a set of advantages in certain areas. So what better way to get started then introduce you to a few of the tools that I’ve been using to get going on exporting a SharePoint site into a feature.
- WSPBuilder – This tool is a great choice for creating a SharePoint solution in Visual Studio that contains projects for SharePoint features, site templates, web parts, and many other entities. Note that the VB.net support was just recently added 2 builds ago and last I checked needed a little work still. Aside from that this tool let’s you do 1-click each for builds of your WSPs, deploy WSPs to farm, deploy files to 12 Hive, recycle app pools, attach to W3WP.exe process, and many other commonly needed functions. I also like the fact that the tool developer releases updated builds fairly regularly.
- SharePoint Solution Generator 2008 (included in the Visual Studio extensions for WSS 1.2 download) – Once you have a rough layout of how you would like your SharePoint site to look (pages, lists/libraries, web parts, etc) you’ll want to use this tool to create a starter site template. The output solution will contain a site template as well as list templates for any lists you chose to export. I will go into detail on how to integrate this output into your SharePoint solution in part 2.
- MOSS Feature Generator (previously called CT Feature Creator among other names) – A beauty in its own right, this tool let’s you export some of the pieces not captured by the site template such as site column and content type. I typically use this to capture the basis for a content type then fill in the remaining pieces with the next tool below.
- Imtech Fields Explorer (part of the Imtech ICT Velocity CodePlex project) – Honestly I am surprised that I don’t hear more buzz about this tool more often. Some initial suggestions for exporting site columns or content types come from Gary LaPointe’s blog post and another from Andrew Connell’s blog post. This tool fits nicely into a process for me. As such this is one of those diamond in the rough type of finds. As noted above, I use this tool to fill in the gaps of the MOSS Feature Generator which only lets you export one site column or content type at a time. The Imtech Fields Explorer on the other hand lets you export multiple site columns or content types at a time (but not both at the same time). With this tool you can integrate your output into a SharePoint feature (using the MOSS Feature Generator above) to deploy all of your site columns and content types to a site collection. When you are exporting half a dozen site content types with 40+ site columns this will save you lots of time.
So now you have a list of some tools to check out (or become more familiar with if you’re already using them.) The next part in the series will be focused on taking a site that you have already modified a bit and exporting it into a basis site template. Depending on how much ground I cover this may turn into a 3 or 4 part series. Until then, shoot me any feedback if you have problems getting these tools up and running or suggestions for other tools you’re using to export site templates into a feature. Enjoy and have a safe and fun July 4th.
– Frog Out