Example #1
0
        /// <summary>
        /// Get's the base template that will be used to filter out "OOB" fields
        /// </summary>
        /// <param name="web">web to operate against</param>
        /// <returns>Provisioning template of the base template of STS#0</returns>
        public OfficeDevPnP.Core.Framework.Provisioning.Model.ProvisioningTemplate GetBaseTemplate(Web web)
        {
            if (this.baseTemplate == null)
            {
                this.baseTemplate = web.GetBaseTemplate("STS", 0);

                // Ensure certain new fields are there
                var sitePagesInBaseTemplate = baseTemplate.Lists.Where(p => p.Url == "SitePages").FirstOrDefault();
                if (sitePagesInBaseTemplate != null)
                {
                    AddFieldRef(sitePagesInBaseTemplate.FieldRefs, new Guid("ccc1037f-f65e-434a-868e-8c98af31fe29"), "_ComplianceFlags");
                    AddFieldRef(sitePagesInBaseTemplate.FieldRefs, new Guid("d4b6480a-4bed-4094-9a52-30181ea38f1d"), "_ComplianceTag");
                    AddFieldRef(sitePagesInBaseTemplate.FieldRefs, new Guid("92be610e-ddbb-49f4-b3b1-5c2bc768df8f"), "_ComplianceTagWrittenTime");
                    AddFieldRef(sitePagesInBaseTemplate.FieldRefs, new Guid("418d7676-2d6f-42cf-a16a-e43d2971252a"), "_ComplianceTagUserId");
                    AddFieldRef(sitePagesInBaseTemplate.FieldRefs, new Guid("8382d247-72a9-44b1-9794-7b177edc89f3"), "_IsRecord");
                    AddFieldRef(sitePagesInBaseTemplate.FieldRefs, new Guid("d307dff3-340f-44a2-9f4b-fbfe1ba07459"), "_CommentCount");
                    AddFieldRef(sitePagesInBaseTemplate.FieldRefs, new Guid("db8d9d6d-dc9a-4fbd-85f3-4a753bfdc58c"), "_LikeCount");
                    AddFieldRef(sitePagesInBaseTemplate.FieldRefs, new Guid("3a6b296c-3f50-445c-a13f-9c679ea9dda3"), "ComplianceAssetId");
                    AddFieldRef(sitePagesInBaseTemplate.FieldRefs, new Guid("9de685c5-fdf5-4319-b987-3edf55efb36f"), "_SPSitePageFlags");
                    AddFieldRef(sitePagesInBaseTemplate.FieldRefs, new Guid("1a53ab5a-11f9-4b92-a377-8cfaaf6ba7be"), "_DisplayName");
                }
            }

            return(this.baseTemplate);
        }
Example #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");
        }
 private CacheManager()
 {
     // place for instance initialization code
     clientSideComponents   = new ConcurrentDictionary <string, List <ClientSideComponent> >(10, 10);
     siteToComponentMapping = new ConcurrentDictionary <Guid, string>(10, 100);
     baseTemplate           = null;
     fieldsToCopy           = new ConcurrentDictionary <string, List <FieldData> >(10, 10);
 }
Example #4
0
 private CacheManager()
 {
     // place for instance initialization code
     clientSideComponents        = new ConcurrentDictionary <string, List <ClientSideComponent> >(10, 10);
     siteToComponentMapping      = new ConcurrentDictionary <Guid, string>(10, 100);
     baseTemplate                = null;
     fieldsToCopy                = new ConcurrentDictionary <string, List <FieldData> >(10, 10);
     AssetsTransfered            = new List <AssetTransferredEntity>();
     publishingPagesLibraryNames = new ConcurrentDictionary <uint, string>(10, 10);
     resourceStrings             = new ConcurrentDictionary <string, Dictionary <uint, string> >();
     generatedPageLayoutMappings = new ConcurrentDictionary <string, PageLayout>();
     userJsonStrings             = new ConcurrentDictionary <string, Dictionary <int, UserEntity> >();
     contentTypes                = new ConcurrentDictionary <string, string>();
     publishingContentTypeFields = new ConcurrentDictionary <string, List <FieldData> >();
 }
Example #5
0
        //gavdcodeend 47

        //gavdcodebegin 48
        static void SpCsPnpcoreApplySiteTemplate(ClientContext spCtx)
        {
            Web myWeb = spCtx.Web;

            spCtx.Load(myWeb, w => w.Title);
            spCtx.ExecuteQueryRetry();

            OfficeDevPnP.Core.Framework.Provisioning.Providers.Xml.XMLTemplateProvider
                myXmlProvider = new OfficeDevPnP.Core.Framework.Provisioning.Providers.
                                Xml.XMLFileSystemTemplateProvider(@"C:\Temporary", "");

            OfficeDevPnP.Core.Framework.Provisioning.Model.ProvisioningTemplate
                myTemplate = myXmlProvider.GetTemplate("TestProvisioningSite.xml");

            myWeb.ApplyProvisioningTemplate(myTemplate);
        }
Example #6
0
        public void Can_TemplateExtension_Map_Fields_For_Splitting()
        {
            var original = new OfficeDevPnP.Core.Framework.Provisioning.Model.ProvisioningTemplate()
            {
                Id               = Guid.NewGuid().ToString(),
                Version          = 1,
                Scope            = OfficeDevPnP.Core.Framework.Provisioning.Model.ProvisioningTemplateScope.RootSite,
                BaseSiteTemplate = "STS0"
            };

            var newTemplate = new OfficeDevPnP.Core.Framework.Provisioning.Model.ProvisioningTemplate();

            ProvisioningTemplateExtension.MapFieldsFromParent(newTemplate, original);

            Assert.AreEqual(original.Id, newTemplate.Id);
            Assert.AreEqual(original.Version, newTemplate.Version);
            Assert.AreEqual(original.Scope, newTemplate.Scope);
            Assert.AreEqual(original.BaseSiteTemplate, newTemplate.BaseSiteTemplate);
        }
Example #7
0
 private CacheManager()
 {
     // place for instance initialization code
     clientSideComponents        = new ConcurrentDictionary <string, List <ClientSideComponent> >();
     siteToComponentMapping      = new ConcurrentDictionary <Guid, string>();
     baseTemplate                = null;
     fieldsToCopy                = new ConcurrentDictionary <string, List <FieldData> >();
     AssetsTransfered            = new List <AssetTransferredEntity>();
     publishingPagesLibraryNames = new ConcurrentDictionary <uint, string>();
     blogListNames               = new ConcurrentDictionary <uint, string>();
     webType                     = new ConcurrentDictionary <string, string>();
     resourceStrings             = new ConcurrentDictionary <string, Dictionary <uint, string> >();
     generatedPageLayoutMappings = new ConcurrentDictionary <string, PageLayout>();
     userJsonStrings             = new ConcurrentDictionary <string, Dictionary <int, UserEntity> >();
     userJsonStringsViaUpn       = new ConcurrentDictionary <string, Dictionary <string, UserEntity> >();
     ensuredUsers                = new ConcurrentDictionary <string, Dictionary <string, ResolvedUser> >();
     MappedUsers                 = new Dictionary <string, string>();
     contentTypes                = new ConcurrentDictionary <string, string>();
     publishingContentTypeFields = new ConcurrentDictionary <string, List <FieldData> >();
     SharepointVersions          = new ConcurrentDictionary <Uri, SPVersion>();
     ExactSharepointVersions     = new ConcurrentDictionary <Uri, string>();
     AADTenantId                 = new ConcurrentDictionary <Uri, Guid>();
 }
Example #8
0
 /// <summary>
 /// Clear base template cache
 /// </summary>
 public void ClearBaseTemplate()
 {
     this.baseTemplate = null;
 }