in

SharePoint Blogs

The Best Place for SharePoint-related Blogs

Sander's Blog

Programmatically Add/Remove Site Templates in the Site Gallery

Took me a while to find out how to connect to the Site Gallery, so this might save you some time.

using (SPSite root = new SPSite([yourRootURL]))
{
    // DELETE OLD TEMPLATES
    List<string> toDelete = new List<string>();

    using (SPWeb web = root.OpenWeb())
    {
        SPFolder folder = web.Folders["_catalogs"];
        SPFolder subfolder = folder.SubFolders["wt"];

        using (SPWeb web = root.OpenWeb())
        {
            SPFolder folder = web.Folders["_catalogs"];
            SPFolder subfolder = folder.SubFolders["wt"];

             int numberOfTemplates = subfolder.Files.Count;
    
             for (int i = (numberOfTemplates - 1); i >= 0; i--)
             {
                 subfolder.Files.Delete(subfolder.FilesIdea.Url);
             }
        }
    }

    // SAVE SITE AS TEMPLATE
    using (SPWeb web = root.OpenWeb([yourSiteUrl]))
    {
        web.SaveAsTemplate("[Filename]", "[Title]", "[Description]", true/false);
    }
}

Credits to Serge for pointing me in the right direction: http://weblogs.asp.net/soever/archive/2006/06/28/NAnt-task-for-SharePoint_3A00_-Save-SPWeb-as-site-template-to-the-filesystem.aspx

Comments

 

Links (2/21/2008) « Steve Pietrek’s SharePoint Stuff said:

Pingback from  Links (2/21/2008) &laquo; Steve Pietrek&#8217;s SharePoint Stuff

February 21, 2008 7:27 PM

Leave a Comment

(required )  
(optional )
(required )  
Add

Need SharePoint Training? Attend a SharePoint Bootcamp!

Posts (c) their respective authors. Everything else (c) 2007 SharePoint Experts