Beispiel #1
0
        /// <summary>
        /// Setup variations on a site
        /// </summary>
        /// <param name="site">The site</param>
        /// <param name="variationSettings">The variation settings</param>
        public void SetupVariations(SPSite site, VariationSettingsInfo variationSettings)
        {
            // Configure varaitions settings
            this.EnsureVariationsSettings(site, variationSettings);
            
            // Create labels
            this.EnsureVariationlabels(site, variationSettings.Labels.ToList());

            // Create hierachies
            this.CreateHierarchies(site, variationSettings.Labels.ToList());
        }
Beispiel #2
0
        public void EnsureVariationsSettings(SPSite site, VariationSettingsInfo variationSettings)
        {
            var rootWeb = site.RootWeb;
            Guid varRelationshipsListId = new Guid(rootWeb.AllProperties["_VarRelationshipsListId"] as string);
            SPList varRelationshipsList = rootWeb.Lists[varRelationshipsListId];
            SPFolder rootFolder = varRelationshipsList.RootFolder;

            // Automatic creation
            rootFolder.Properties["EnableAutoSpawnPropertyName"] = variationSettings.IsAutomaticTargetPageCreation.ToString();

            // Recreate Deleted Target Page; set to false to enable recreation
            rootFolder.Properties["AutoSpawnStopAfterDeletePropertyName"] = (!variationSettings.IsRecreateDeletedTargetPage).ToString();

            // Update Target Page Web Parts
            rootFolder.Properties["UpdateWebPartsPropertyName"] = variationSettings.IsUpdateTargetPageWebParts.ToString();

            // Resources
            rootFolder.Properties["CopyResourcesPropertyName"] = variationSettings.IsCopyResourcesToTarget.ToString();

            // Notification
            rootFolder.Properties["SendNotificationEmailPropertyName"] = variationSettings.IsSendNotificationEmail.ToString();
            rootFolder.Properties["SourceVarRootWebTemplatePropertyName"] = variationSettings.SourceVariationTopLevelWebTemplate;
            rootFolder.Update();

            SPListItem item = null;
            if (varRelationshipsList.Items.Count > 0)
            {
                item = varRelationshipsList.Items[0];
            }
            else
            {
                item = varRelationshipsList.Items.Add();
                item["GroupGuid"] = new Guid("F68A02C8-2DCC-4894-B67D-BBAED5A066F9");
            }

            item["Deleted"] = false;
            item["ObjectID"] = rootWeb.ServerRelativeUrl;
            item["ParentAreaID"] = string.Empty;

            item.Update();
        }