10 Answers Found

I would almost always choose a Site Definition, maybe I am "OldSchool" but I like have the physical aspx file on the file system ofthe SharePoint server. The advantage of having the physical file isthat you can use any tool you want to edit the aspx file (I prefer aplain text editor) and you can backup/restore a physical file mucheasier than a block of data stored somewhere in the SharePointdatabase. As most people know storing the aspx file in the databaseis refered to as "Unghosted", which means you have to use Front Pageto make any edits to the page, performance will take a hit and thebackup/restore process is no longer just a simple file restore.

The only time I would use a Site Template is if I needed the contentas well as the look and feel. Site Templates will move custom lists,meta data and list data itself (I am pretty sure of that). SiteDefinitions are just the look and feel (no data).

I like to think of a custom Web Template (STP) as a macro on top of aSite Definition. The value of using them is scope (site collection vs.global only) and the ability to overcome some pesky irritations ofcustom site definitions. In the end, every Web (Area too) weatherprovisioned and templatized using a configuration of a site definitionor a custom Web Template is ultimately dependant upon a specific sitedefinition. The custom Web Template is an intermediate means to an end.They certainly do have their place.

To me, site definitions are a way to do customizations, whereas site template are a way to spread customizations. I say it much more eloquently in a Word file somewhere, but the general gist is definitions create, templates propagate.

Since you can't go back and update a site template and in turn affect all sites based of that site template, to me they are strickly for spreading your customizations, best use being role based changes. (I have a post half written I need to put on my blog about role based templates). But bascially, you identify a need, you tweak a site to meet that need (via lists or whatever), package up that solution and then propogate it to many sites in the form of a template.

If you need to adjust the branding or the look of a site, that needs to be done with site definitions, or better yet just with CSS and images.

As for this message, I typically instantiate sites from code through a globally installed template (stsadm âo addtemplate) so that we can leverage site templates where possible and modify the underlying site definition where we have to. The naming of global templates is goofy but it at least gets you past the limitation of being able to use a template only within a site collection.

I describe templates as accessories for a car. It controls whether you have a CD player or not, however, it doesnât define the basic structure for the car. The basic structure for the car comes from the site definition â no matter what kind of accessories you add to (or take away from) the car.

I drift towards site Definitions myself â¦ but thatâs because most of my customers are very large. However, I actually, use both a site definition and a site template. I put the site template on the site definition so the users can easily manipulate the web parts on the default pages.

As a sidebar, you can define data in a site definition, itâs just a tad bit more challenging to do â itâs right to do it with site templates.

Of course, I use AddTemplate too (wish it worked for list templates).But the fact that custom Web templates are scoped to a site collectioncan be extremely handy. In fact, more often than using AddTemplate, I'vecreated a custom Web template from my custom site definition, not tocustomize it, but just so that it would only be local in scope.

Your "accessories for a car" analogy seems to work. It took me a fewminutes to feel comfortable with it but I can't find any glaring flawswith it. I suppose that a new custom list is like a CD player. And a newlinks list is like adding more cup holders to the ones that exist. Andapplying a theme is like painting flames on the doors (I won't do thateither). Adding Web Parts to the existing pages is like putting in askylight or using custom mirrors. I had trouble coming up with whatadding data into an existing list is like; putting your CD jewel casesinto the CD holder or throwing "valuables" into the glove compartment?

Go4Sharepoint, is a Microsoft Featured Community.
Microsoft, Windows, Sharepoint, Sharepoint logo, Windows logo, etc are trademarks of the Microsoft Corporation.
All product names, logos, copyrights, and trademarks mentioned are acknowledged as the registered intellectual property of their respective owners. This site is not in any way affiliated with, nor has it been authorized, sponsored, or otherwise approved by, Microsoft Corporation.