I want to create a Sharepoint site so that I may automate the creation of new site from within my site. For example, a firm has several projects. A Project Manager tries to create a new site from the site I created. He should be able to create a site of his project name where he can find all the required documents like Project Charter, Project Management Plan, Execution Plan, etc.

I would place all these documents as templates on the original site and when a Project Manager clicks on "Create New Project" he should see all the phases of a project and within those phases, the related documents. He can fill in those documents with the data and save them on the site he created. Is this possible through Sharepoint? If yes, how can I accomplish this?

2 Answers 2


From what I can understand, you wants to automate a site creation process. Meaning to say that the created site should have some predefined settings according to your client request. I have done something like that. What I did was,

  1. I created a new site (based on the Team Site template), modified that site design, create some new document library and add some document template to the document libraries as the user requested.
  2. Next, I go to the SiteAction->Site Setting and click on the save site as template link. Fill out the details and CHECK the INCLUDE CONTENT. Then upload the template into the Solutions Galleries.
  3. Then I created a solution (application page) and put a link in the Site Setting and named it Create a new Department. When the user click this link, my solution will create a new site based on the template that I've specified. So they get all the initial setting a site should have based on the company policy.
  4. Thats not all, I will break inheritance, copied only the Visitor group and then create 3 new empty groups (Admin,Manager and Member) also change the master page.

Some of the code is as follow:-

 SPWebTemplate targetTemplate = GetTemplate(currentWeb, templateName, 1033);


using (SPWeb newWeb = web.Webs.Add(properUrlName, siteName, description, 1033, targetTemplate, false, false))
                                    newWeb.AllowUnsafeUpdates = true;

                                    string masterPageUrl = site.RootWeb.ServerRelativeUrl + "/_catalogs/masterpage/NeMaster.master";

                                    newWeb.MasterUrl = masterPageUrl;
                                    newWeb.CustomMasterUrl = masterPageUrl;


                                    SPGroup visitor = newWeb.Groups["Visitors"];

                                    RemoveAllPermissions(newWeb, visitor.ID);


Hope this answer your question.


You can create a custom web template(using Visual studio 2010) which includes the necessary documents by default. This webtemplate could be used by the manager to create the new sites.

Microsoft also has another tool built over SharePoint called Enterprise Project Management server which should be able to solve your requirements.

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.