private void ExtractTemplate(string dirName, string fileName) { var outputTemplate = new ProvisioningTemplate(); var helper = new OfficeDevPnP.Core.Framework.Provisioning.ObjectHandlers.Utilities.ClientSidePageContentsHelper(); var ci = new OfficeDevPnP.Core.Framework.Provisioning.ObjectHandlers.ProvisioningTemplateCreationInformation(SelectedWeb); ci.PersistBrandingFiles = PersistBrandingFiles; if (!string.IsNullOrEmpty(dirName)) { var fileSystemConnector = new FileSystemConnector(dirName, ""); ci.FileConnector = fileSystemConnector; } helper.ExtractClientSidePage(SelectedWeb, outputTemplate, ci, new OfficeDevPnP.Core.Diagnostics.PnPMonitoredScope(), null, Identity.Name, false); if (!string.IsNullOrEmpty(fileName)) { System.IO.File.WriteAllText(Path.Combine(dirName, fileName), outputTemplate.ToXML()); } else { WriteObject(outputTemplate.ToXML()); } }
//gavdcodeend 46 //gavdcodebegin 47 static void SpCsPnpcoreGenerateSiteListTemplate(ClientContext spCtx) { OfficeDevPnP.Core.Framework.Provisioning.ObjectHandlers. ProvisioningTemplateCreationInformation myProvisioner = new OfficeDevPnP.Core.Framework.Provisioning.ObjectHandlers. ProvisioningTemplateCreationInformation(spCtx.Web); myProvisioner.FileConnector = new OfficeDevPnP.Core.Framework.Provisioning.Connectors. FileSystemConnector(@"C:\Temporary\InMemTemplate.xml", ""); List <string> myLists = new List <string>(); myLists.Add("MyCustomList"); myLists.Add("Shared Documents"); myProvisioner.ListsToExtract = myLists; // Write progress to output myProvisioner.ProgressDelegate = delegate(String prMessage, Int32 prProgress, Int32 prTotal) { Console.WriteLine("{0:00}/{1:00} - {2}", prProgress, prTotal, prMessage); }; // Template in memory OfficeDevPnP.Core.Framework.Provisioning.Model.ProvisioningTemplate myTemplate = spCtx.Web.GetProvisioningTemplate(myProvisioner); // Template in file OfficeDevPnP.Core.Framework.Provisioning.Providers.Xml.XMLTemplateProvider myXmlProvider = new OfficeDevPnP.Core.Framework.Provisioning.Providers. Xml.XMLFileSystemTemplateProvider(@"C:\Temporary", ""); myXmlProvider.SaveAs(myTemplate, "TestProvisioningLists.xml"); }