private void CommunityHome() { var migrationName = MethodBase.GetCurrentMethod().Name; try { var path = HostingEnvironment.MapPath(MigrationMarkersPath + migrationName + ".txt"); if (File.Exists(path)) return; var macroService = UmbracoContext.Current.Application.Services.MacroService; var macroAlias = "CommunityHome"; if (macroService.GetByAlias(macroAlias) == null) { // Run migration var macro = new Macro { Name = "[Community] Home", Alias = macroAlias, ScriptingFile = "~/Views/MacroPartials/Community/Home.cshtml", UseInEditor = true }; macro.Save(); } string[] lines = { "" }; File.WriteAllLines(path, lines); } catch (Exception ex) { LogHelper.Error<MigrationsHandler>(string.Format("Migration: '{0}' failed", migrationName), ex); } }
private void MemberActivationMigration() { var migrationName = MethodBase.GetCurrentMethod().Name; try { var path = HostingEnvironment.MapPath(MigrationMarkersPath + migrationName + ".txt"); if (File.Exists(path)) { return; } var macroService = UmbracoContext.Current.Application.Services.MacroService; var macroAlias = "MembersActivate"; if (macroService.GetByAlias(macroAlias) == null) { // Run migration var macro = new Macro { Name = "[Members] Activate", Alias = macroAlias, ScriptingFile = "~/Views/MacroPartials/Members/Activate.cshtml", UseInEditor = true }; macro.Save(); } var contentService = UmbracoContext.Current.Application.Services.ContentService; var rootNode = contentService.GetRootContent().OrderBy(x => x.SortOrder).First(x => x.ContentType.Alias == "Community"); var memberNode = rootNode.Children().FirstOrDefault(x => x.Name == "Member"); var pendingActivationPageName = "Pending activation"; if (memberNode != null && memberNode.Children().Any(x => x.Name == pendingActivationPageName) == false) { var pendingActivationPage = contentService.CreateContent(pendingActivationPageName, memberNode.Id, "Textpage"); pendingActivationPage.SetValue("bodyText", "<p>Thanks for signing up! <br />We\'ve sent you an email containing an activation link.</p><p>To be able to continue you need to click the link in that email. If you didn\'t get any mail from us, make sure to check your spam/junkmail folder for mail from [email protected].</p>"); contentService.SaveAndPublishWithStatus(pendingActivationPage); } var activatePageName = "Activate"; if (memberNode != null && memberNode.Children().Any(x => x.Name == activatePageName) == false) { var activatePage = contentService.CreateContent(activatePageName, memberNode.Id, "Textpage"); activatePage.SetValue("bodyText", string.Format("<?UMBRACO_MACRO macroAlias=\"{0}\" />", macroAlias)); contentService.SaveAndPublishWithStatus(activatePage); } string[] lines = { "" }; File.WriteAllLines(path, lines); } catch (Exception ex) { LogHelper.Error <MigrationsHandler>(string.Format("Migration: '{0}' failed", migrationName), ex); } }
private void SpamOverview() { var migrationName = MethodBase.GetCurrentMethod().Name; try { var path = HostingEnvironment.MapPath(MigrationMarkersPath + migrationName + ".txt"); if (File.Exists(path)) { return; } var macroService = UmbracoContext.Current.Application.Services.MacroService; var macroAlias = "AntiSpam"; if (macroService.GetByAlias(macroAlias) == null) { // Run migration var macro = new Macro { Name = "[Spam] Overview", Alias = macroAlias, ScriptingFile = "~/Views/MacroPartials/Spam/Overview.cshtml", UseInEditor = true }; macro.Save(); } var contentService = UmbracoContext.Current.Application.Services.ContentService; var rootNode = contentService.GetRootContent().OrderBy(x => x.SortOrder).First(x => x.ContentType.Alias == "Community"); var antiSpamPageName = "AntiSpam"; if (rootNode.Children().Any(x => x.Name == antiSpamPageName) == false) { var content = contentService.CreateContent(antiSpamPageName, rootNode.Id, "Textpage"); content.SetValue("bodyText", string.Format("<?UMBRACO_MACRO macroAlias=\"{0}\" />", macroAlias)); contentService.SaveAndPublishWithStatus(content); } string[] lines = { "" }; File.WriteAllLines(path, lines); } catch (Exception ex) { LogHelper.Error <MigrationsHandler>(string.Format("Migration: '{0}' failed", migrationName), ex); } }
private void CommunityHome() { var migrationName = MethodBase.GetCurrentMethod().Name; try { var path = HostingEnvironment.MapPath(MigrationMarkersPath + migrationName + ".txt"); if (File.Exists(path)) { return; } var macroService = UmbracoContext.Current.Application.Services.MacroService; var macroAlias = "CommunityHome"; if (macroService.GetByAlias(macroAlias) == null) { // Run migration var macro = new Macro { Name = "[Community] Home", Alias = macroAlias, ScriptingFile = "~/Views/MacroPartials/Community/Home.cshtml", UseInEditor = true }; macro.Save(); } string[] lines = { "" }; File.WriteAllLines(path, lines); } catch (Exception ex) { LogHelper.Error <MigrationsHandler>(string.Format("Migration: '{0}' failed", migrationName), ex); } }
private void AddReleaseCompareFeature() { var migrationName = MethodBase.GetCurrentMethod().Name; try { var path = HostingEnvironment.MapPath(MigrationMarkersPath + migrationName + ".txt"); if (File.Exists(path)) { return; } var contentTypeService = ApplicationContext.Current.Services.ContentTypeService; var releaseCompareAlias = "ReleaseCompare"; var compareContentType = contentTypeService.GetContentType(releaseCompareAlias); if (compareContentType == null) { var contentType = new ContentType(-1) { Name = "Release Compare", Alias = releaseCompareAlias }; contentTypeService.Save(contentType); } compareContentType = contentTypeService.GetContentType(releaseCompareAlias); var releaseLandingContentType = contentTypeService.GetContentType("ReleaseLanding"); var allowedContentTypes = new List <ContentTypeSort> { new ContentTypeSort(compareContentType.Id, 0) }; releaseLandingContentType.AllowedContentTypes = allowedContentTypes; contentTypeService.Save(releaseLandingContentType); var templatePathRelative = "~/masterpages/ReleaseCompare.master"; var templatePath = HostingEnvironment.MapPath(templatePathRelative); var templateContent = File.ReadAllText(templatePath); var releaseCompareTemplate = new Template("Release Compare", releaseCompareAlias) { MasterTemplateAlias = "Master", Content = templateContent }; var fileService = ApplicationContext.Current.Services.FileService; var masterTemplate = fileService.GetTemplate("Master"); releaseCompareTemplate.SetMasterTemplate(masterTemplate); fileService.SaveTemplate(releaseCompareTemplate); contentTypeService.Save(compareContentType); compareContentType.AllowedTemplates = new List <ITemplate> { releaseCompareTemplate }; compareContentType.SetDefaultTemplate(releaseCompareTemplate); contentTypeService.Save(compareContentType); var contentService = ApplicationContext.Current.Services.ContentService; var rootNode = contentService.GetRootContent().OrderBy(x => x.SortOrder).First(x => x.ContentType.Alias == "Community"); if (rootNode == null) { return; } var contributeNode = rootNode.Children().FirstOrDefault(x => x.Name == "Contribute"); if (contributeNode == null) { return; } var releasesNode = contributeNode.Children().FirstOrDefault(x => x.Name == "Releases"); if (releasesNode == null) { return; } var compareContent = contentService.CreateContent("Compare", releasesNode.Id, "ReleaseCompare"); compareContent.Template = releaseCompareTemplate; contentService.SaveAndPublishWithStatus(compareContent); var macroService = ApplicationContext.Current.Services.MacroService; const string macroAlias = "ReleasesDropdown"; if (macroService.GetByAlias(macroAlias) == null) { var macro = new Macro { Name = "ReleasesDropdown", Alias = macroAlias, ScriptingFile = "~/Views/MacroPartials/Releases/ReleasesDropdown.cshtml", UseInEditor = true }; macro.Save(); } string[] lines = { "" }; File.WriteAllLines(path, lines); } catch (Exception ex) { LogHelper.Error <MigrationsHandler>(string.Format("Migration: '{0}' failed", migrationName), ex); } }
private void SpamOverview() { var migrationName = MethodBase.GetCurrentMethod().Name; try { var path = HostingEnvironment.MapPath(MigrationMarkersPath + migrationName + ".txt"); if (File.Exists(path)) return; var macroService = UmbracoContext.Current.Application.Services.MacroService; var macroAlias = "AntiSpam"; if (macroService.GetByAlias(macroAlias) == null) { // Run migration var macro = new Macro { Name = "[Spam] Overview", Alias = macroAlias, ScriptingFile = "~/Views/MacroPartials/Spam/Overview.cshtml", UseInEditor = true }; macro.Save(); } var contentService = UmbracoContext.Current.Application.Services.ContentService; var rootNode = contentService.GetRootContent().OrderBy(x => x.SortOrder).First(x => x.ContentType.Alias == "Community"); var antiSpamPageName = "AntiSpam"; if(rootNode.Children().Any(x => x.Name == antiSpamPageName) == false) { var content = contentService.CreateContent(antiSpamPageName, rootNode.Id, "Textpage"); content.SetValue("bodyText", string.Format("<?UMBRACO_MACRO macroAlias=\"{0}\" />", macroAlias)); contentService.SaveAndPublishWithStatus(content); } string[] lines = { "" }; File.WriteAllLines(path, lines); } catch (Exception ex) { LogHelper.Error<MigrationsHandler>(string.Format("Migration: '{0}' failed", migrationName), ex); } }
private void MemberActivationMigration() { var migrationName = MethodBase.GetCurrentMethod().Name; try { var path = HostingEnvironment.MapPath(MigrationMarkersPath + migrationName + ".txt"); if (File.Exists(path)) return; var macroService = UmbracoContext.Current.Application.Services.MacroService; var macroAlias = "MembersActivate"; if (macroService.GetByAlias(macroAlias) == null) { // Run migration var macro = new Macro { Name = "[Members] Activate", Alias = macroAlias, ScriptingFile = "~/Views/MacroPartials/Members/Activate.cshtml", UseInEditor = true }; macro.Save(); } var contentService = UmbracoContext.Current.Application.Services.ContentService; var rootNode = contentService.GetRootContent().OrderBy(x => x.SortOrder).First(x => x.ContentType.Alias == "Community"); var memberNode = rootNode.Children().FirstOrDefault(x => x.Name == "Member"); var pendingActivationPageName = "Pending activation"; if (memberNode != null && memberNode.Children().Any(x => x.Name == pendingActivationPageName) == false) { var pendingActivationPage = contentService.CreateContent(pendingActivationPageName, memberNode.Id, "Textpage"); pendingActivationPage.SetValue("bodyText", "<p>Thanks for signing up! <br />We\'ve sent you an email containing an activation link.</p><p>To be able to continue you need to click the link in that email. If you didn\'t get any mail from us, make sure to check your spam/junkmail folder for mail from [email protected].</p>"); contentService.SaveAndPublishWithStatus(pendingActivationPage); } var activatePageName = "Activate"; if (memberNode != null && memberNode.Children().Any(x => x.Name == activatePageName) == false) { var activatePage = contentService.CreateContent(activatePageName, memberNode.Id, "Textpage"); activatePage.SetValue("bodyText", string.Format("<?UMBRACO_MACRO macroAlias=\"{0}\" />", macroAlias)); contentService.SaveAndPublishWithStatus(activatePage); } string[] lines = {""}; File.WriteAllLines(path, lines); } catch (Exception ex) { LogHelper.Error<MigrationsHandler>(string.Format("Migration: '{0}' failed", migrationName), ex); } }