Kris has been working on an article discussing Custom Site Definitions within SharePoint published in the online .NET Developers Journal.

Do we need to create custom site definitions in order to avoid upgrading problems? That is a question I have heard so many times. My answer is always two-fold.

  • Yes, you avoid upgrading problems since you isolate the modifications in your own site template. It is of course more difficult and requires a lot of knowledge on the underlying XML (CAML) infrastructure, but once you can do it, it is a good approach. Kris his article is a good start, but do not underestimate the additional work you will have to do.
  • No, because you will have those upgrading problems anyway. Suppose that Microsoft adds new features to their existing site definitions, your own work will have to be modified again to incorporate those changes. If the changes are big, you will probably end up redoing a lot of stuff anyway.

So, my advice is always, think before you act. When you dive into the customization of site definitions, you are starting something you could regret in a couple of months. Well, that is my feeling anyway. How about yours?