9/4/08

Crear sitios a partir de plantillas

Podemos crear un sitio mediante código. En realidad, prácticamente todo lo que hacemos mediente Clicks en MOSS podemos implementarlo con el API de SharePoint. El código sería algo parecido a esto:

public static void CrearSitio(string urlWebPadre, string NombrePlantilla, string urlRelativaNuevoSitio, string Titulo, string Descripcion, bool EliminarSiExiste)
{
SPSite siteTop = new SPSite(urlWebPadre);
SPWeb siteRoot = siteTop.OpenWeb();
SPWebCollection myWebs = siteRoot.Webs;
//Obtenemos colección de plantillas
SPWebTemplateCollection webTemplateCollection = siteTop.GetCustomWebTemplates(3082);
//Obtenemos plantilla deseada
SPWebTemplate webTemplate = webTemplateCollection[NombrePlantilla];
//Eliminamos si existe
if (EliminarSiExiste && myWebs[urlRelativaNuevoSitio].Exists)
{
myWebs.Delete(urlRelativaNuevoSitio);
}
//Creamos sitio:
myWebs.Add(urlRelativaNuevoSitio, Titulo, Descripcion, 3082, webTemplate, true, false);
}

saludos,
Juan Alcalá

No hay comentarios: