So, once you have your SharePoint site all planned out, what is the generally accepted or best way to start building out and configure multiple lists, document libraries and content types? Using the GUI seems like a very tedious and click-heavy process to me, while on the other hand, using list definitions and writing XML schema files appears to be a very error-prone and fiddly process.

What is the generally accepted way to start building out a site after you get a specification - assuming it is most likely a one-off design. Is there some kind of tool or process that allows developers or SharePoint admins to build out a large chunk of the basic structure of a SharePoint site more efficiently than the GUI?

3 Answers 3


It's a great question, and I will be interested in hearing what others think as well.

List definition schemas work well if it is a repeatable process (e.g. you will create multiple instances of the list) and/or you need some of the other items to go along with your list (such as maintenance pages, views) when activated. For one-offs I agree with you that it is overkill.

Doing it through the web interface is definitely click-heavy. SharePoint Designer streamlines it just a little (SharePoint Designer 2010 streamlines it even more).

Gary Lapointe put together a nice article about how to do this via the STSADM command line utility at http://stsadm.blogspot.com/2008/07/add-list.html.

Another alternative if you are a .NET developer is to create your lists programmatically using the object model. Bundle your code that creates the lists into a feature that runs onFeatureActived.

With SharePoint 2010, the latter alternative has been simplified even more by use of the Client Object Model and PowerShell.

In terms of best practices, since you are talking about one-offs, I think scripting it via STSADM, PowerShell or the Object Model are the best ways to go. You could possibly re-use scripts at times and keep copies of the scripts for DR purposes.


I agree with Rob. Creating content types really just adds in another step to the process of creating a list and for a one off doesn't really seem to buy you anything. I know when creating a list schema is it easier to reference an existing content type rather than add each field programmatically. I think power shell would be a quick way to create one off lists, if you needed to create complex views it would be easier to use the GUI though or you will have to create them with CAML. In the past if I wanted to create a list programmatically with a complicated view so I could move it between environments, I created the view with the GUI first and used the OM to copy the CAML out to use in my code.

Here are a couple of links I found on using power shell to create lists:

Here is an article on using PowerShell with SharePoint 2007.


For one-off types of work, there's not a lot you can do. The brunt of the work will probably be the content type. Once that's created, it's only a few mouse clicks to add it to your list/library.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.