One aspect of SharePoint that many people struggle with is site provisioning. How do you give you users the ability to create sites so you, as the site administrator aren’t creating all the sites, but still control your sites so you don’t end up with thousands of unwanted or uncontrolled SharePoint sites?
Myself, along with a couple of co-workers at EPC Group have created a custom site provisioning workflow. By creating a custom list and adding some custom .NET code as well as attaching a workflow we were able to make a very efficient site provisioning process. Any user can access the site request form. They fill out the information about the site they wish to create, including the site template, the department, country, region, desired permissions and the justification for their site as well as other information. This request is added to the custom list and a workflow is trigger alerting the set administrator to the request. The administrator can then accept or reject the request as well as change any information. Once the request is approved, the site is automatically created using the site template selected and using a url that is built based on various selection and information entered in the site request form.
This allows you to have a lot more control over the creation of sites as well as have an ongoing list of all sites created. From this general format you can add/remove automation based on how much you want done automatically vs. done manually and just to keep a running list of all sites and meta data about the sites.