It’s a common scenario that a SharePoint environment or at least a part of it is dedicated to a more unstructured collaboration area with team sites, project sites, sites for virtual teams etc. This type of collaboration areas tend to grow in the amount of sites quite fast. From a SharePoint perspective this is not a problem if you have set up your environment in a good way. But from an administration point of view this could take up quite a large amount of time if you don’t have a good process to handle the site creation and maintenance. Because, you might not want everyone to be able to create new sites whenever they want, at least not if you have a large environment. And it might also be so that the IT department has set up a service around team sites that the business is paying for, in that case the new sites needs to go through an request process.
What we will do in the following two posts is that we will create a workflow to automate this process so that the end users can request a site. When the site is approved the site will automatically be created.
In our case we will as in earlier post use the Site Directory in MOSS but you could easily change this to be any kind of list in either MOSS or WSS.
Below is a picture of the Site Directory. The only thing we have added is Type of Site, this will be used later to know what template to use in the site creation process. What we then do is that we allow users to create entries in the list and as default the Site Directory has the content approval turned on. If you don’t use the Site Directory you can turn on the Content Approval in List Settings and Versioning Settings.

When we have added all the fields we need in the Site Directory the end user can go to the form and fill in the information about the site they want to have.

And when the item is added, the Approval Status will be saying pending. Now it’s time for the administrator or the owner of the collaboration area to approve or decline the request. He or she also has the possibility to add or change some of the information if the request does not follow the policy in naming standards etc.

What we also need to do is to have a PowerShell script that is set up as a timer job and that with your chosen frequency looks in the list and sees if there are any items that has an Approval Status = Approved and no Created Date. If it finds any entries matching the criteria it takes the information from the list and creates the site.
Curious about how the script is done? Niklas will not disappoint you, part 2.








[...] is the fourth Cross Blog post that I’ve made with Mattias and they are getting better and [...]
Great! this worked like a charm!
It sure does