예제 #1
0
        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());
            }
        }
예제 #2
0
        //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");
        }