From 1c8b4412e388ba452976bafd7fe4d08b6a80c8fe Mon Sep 17 00:00:00 2001 From: Shannon Date: Thu, 31 Jan 2019 00:57:10 +1100 Subject: [PATCH] Removes scheduled tasks --- .../UmbracoSettings/IScheduledTask.cs | 13 -- .../UmbracoSettings/IScheduledTasksSection.cs | 11 -- .../IUmbracoSettingsSection.cs | 2 - .../UmbracoSettings/ScheduledTaskElement.cs | 31 ----- .../ScheduledTasksCollection.cs | 31 ----- .../UmbracoSettings/ScheduledTasksElement.cs | 26 ---- .../UmbracoSettings/UmbracoSettingsSection.cs | 11 -- .../UmbracoSettings/WebRoutingElement.cs | 2 +- src/Umbraco.Core/Sync/ApplicationUrlHelper.cs | 16 --- src/Umbraco.Core/Umbraco.Core.csproj | 5 - .../ScheduledTasksElementDefaultTests.cs | 20 --- .../ScheduledTasksElementTests.cs | 24 ---- .../WebRoutingElementDefaultTests.cs | 2 +- .../UmbracoSettings/WebRoutingElementTests.cs | 2 +- .../UmbracoSettings/umbracoSettings.config | 6 - .../umbracoSettings.minimal.config | 3 - .../Misc/ApplicationUrlHelperTests.cs | 48 +------ .../TestHelpers/SettingsForTests.cs | 4 +- src/Umbraco.Tests/Umbraco.Tests.csproj | 2 - .../Web/Mvc/SurfaceControllerTests.cs | 4 +- .../Web/TemplateUtilitiesTests.cs | 2 +- .../config/umbracoSettings.Release.config | 7 - .../config/umbracoSettings.config | 5 - src/Umbraco.Web/Routing/UrlProviderMode.cs | 5 +- src/Umbraco.Web/Scheduling/ScheduledTasks.cs | 127 ------------------ .../Scheduling/SchedulerComponent.cs | 10 +- src/Umbraco.Web/Umbraco.Web.csproj | 1 - 27 files changed, 14 insertions(+), 406 deletions(-) delete mode 100644 src/Umbraco.Core/Configuration/UmbracoSettings/IScheduledTask.cs delete mode 100644 src/Umbraco.Core/Configuration/UmbracoSettings/IScheduledTasksSection.cs delete mode 100644 src/Umbraco.Core/Configuration/UmbracoSettings/ScheduledTaskElement.cs delete mode 100644 src/Umbraco.Core/Configuration/UmbracoSettings/ScheduledTasksCollection.cs delete mode 100644 src/Umbraco.Core/Configuration/UmbracoSettings/ScheduledTasksElement.cs delete mode 100644 src/Umbraco.Tests/Configurations/UmbracoSettings/ScheduledTasksElementDefaultTests.cs delete mode 100644 src/Umbraco.Tests/Configurations/UmbracoSettings/ScheduledTasksElementTests.cs delete mode 100644 src/Umbraco.Web/Scheduling/ScheduledTasks.cs diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/IScheduledTask.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/IScheduledTask.cs deleted file mode 100644 index 22fa0288bc..0000000000 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/IScheduledTask.cs +++ /dev/null @@ -1,13 +0,0 @@ -namespace Umbraco.Core.Configuration.UmbracoSettings -{ - public interface IScheduledTask - { - string Alias { get; } - - bool Log { get; } - - int Interval { get; } - - string Url { get; } - } -} diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/IScheduledTasksSection.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/IScheduledTasksSection.cs deleted file mode 100644 index e4a52e1fb1..0000000000 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/IScheduledTasksSection.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System.Collections.Generic; - -namespace Umbraco.Core.Configuration.UmbracoSettings -{ - public interface IScheduledTasksSection : IUmbracoConfigurationSection - { - IEnumerable Tasks { get; } - - string BaseUrl { get; } - } -} diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/IUmbracoSettingsSection.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/IUmbracoSettingsSection.cs index 33416d38cc..db3f937a35 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/IUmbracoSettingsSection.cs +++ b/src/Umbraco.Core/Configuration/UmbracoSettings/IUmbracoSettingsSection.cs @@ -14,8 +14,6 @@ namespace Umbraco.Core.Configuration.UmbracoSettings ILoggingSection Logging { get; } - IScheduledTasksSection ScheduledTasks { get; } - IProvidersSection Providers { get; } IWebRoutingSection WebRouting { get; } diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/ScheduledTaskElement.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/ScheduledTaskElement.cs deleted file mode 100644 index a7ecd6f84e..0000000000 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/ScheduledTaskElement.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System.Configuration; - -namespace Umbraco.Core.Configuration.UmbracoSettings -{ - internal class ScheduledTaskElement : ConfigurationElement, IScheduledTask - { - [ConfigurationProperty("alias")] - public string Alias - { - get { return (string)base["alias"]; } - } - - [ConfigurationProperty("log")] - public bool Log - { - get { return (bool)base["log"]; } - } - - [ConfigurationProperty("interval")] - public int Interval - { - get { return (int)base["interval"]; } - } - - [ConfigurationProperty("url")] - public string Url - { - get { return (string)base["url"]; } - } - } -} diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/ScheduledTasksCollection.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/ScheduledTasksCollection.cs deleted file mode 100644 index 9e9a037c0f..0000000000 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/ScheduledTasksCollection.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System.Collections.Generic; -using System.Configuration; - -namespace Umbraco.Core.Configuration.UmbracoSettings -{ - internal class ScheduledTasksCollection : ConfigurationElementCollection, IEnumerable - { - protected override ConfigurationElement CreateNewElement() - { - return new ScheduledTaskElement(); - } - - protected override object GetElementKey(ConfigurationElement element) - { - return ((ScheduledTaskElement)element).Alias; - } - - IEnumerator IEnumerable.GetEnumerator() - { - for (var i = 0; i < Count; i++) - { - yield return BaseGet(i) as IScheduledTask; - } - } - - System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() - { - return GetEnumerator(); - } - } -} diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/ScheduledTasksElement.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/ScheduledTasksElement.cs deleted file mode 100644 index 5c83939a7f..0000000000 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/ScheduledTasksElement.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System.Collections.Generic; -using System.Configuration; - -namespace Umbraco.Core.Configuration.UmbracoSettings -{ - internal class ScheduledTasksElement : ConfigurationElement, IScheduledTasksSection - { - [ConfigurationCollection(typeof(ScheduledTasksCollection), AddItemName = "task")] - [ConfigurationProperty("", IsDefaultCollection = true)] - internal ScheduledTasksCollection Tasks - { - get { return (ScheduledTasksCollection)base[""]; } - } - - IEnumerable IScheduledTasksSection.Tasks - { - get { return Tasks; } - } - - [ConfigurationProperty("baseUrl", IsRequired = false, DefaultValue = null)] - public string BaseUrl - { - get { return (string)base["baseUrl"]; } - } - } -} diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/UmbracoSettingsSection.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/UmbracoSettingsSection.cs index 9ed635f6a9..929babef83 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/UmbracoSettingsSection.cs +++ b/src/Umbraco.Core/Configuration/UmbracoSettings/UmbracoSettingsSection.cs @@ -34,12 +34,6 @@ namespace Umbraco.Core.Configuration.UmbracoSettings get { return (LoggingElement)this["logging"]; } } - [ConfigurationProperty("scheduledTasks")] - internal ScheduledTasksElement ScheduledTasks - { - get { return (ScheduledTasksElement)this["scheduledTasks"]; } - } - [ConfigurationProperty("providers")] internal ProvidersElement Providers { @@ -77,11 +71,6 @@ namespace Umbraco.Core.Configuration.UmbracoSettings get { return Logging; } } - IScheduledTasksSection IUmbracoSettingsSection.ScheduledTasks - { - get { return ScheduledTasks; } - } - IProvidersSection IUmbracoSettingsSection.Providers { get { return Providers; } diff --git a/src/Umbraco.Core/Configuration/UmbracoSettings/WebRoutingElement.cs b/src/Umbraco.Core/Configuration/UmbracoSettings/WebRoutingElement.cs index b4bd821338..7b7102f2e7 100644 --- a/src/Umbraco.Core/Configuration/UmbracoSettings/WebRoutingElement.cs +++ b/src/Umbraco.Core/Configuration/UmbracoSettings/WebRoutingElement.cs @@ -22,7 +22,7 @@ namespace Umbraco.Core.Configuration.UmbracoSettings [ConfigurationProperty("disableRedirectUrlTracking", DefaultValue = "false")] public bool DisableRedirectUrlTracking => (bool) base["disableRedirectUrlTracking"]; - [ConfigurationProperty("urlProviderMode", DefaultValue = "AutoLegacy")] + [ConfigurationProperty("urlProviderMode", DefaultValue = "Auto")] public string UrlProviderMode => (string) base["urlProviderMode"]; [ConfigurationProperty("umbracoApplicationUrl", DefaultValue = null)] diff --git a/src/Umbraco.Core/Sync/ApplicationUrlHelper.cs b/src/Umbraco.Core/Sync/ApplicationUrlHelper.cs index a10c967866..9cd4a58c65 100644 --- a/src/Umbraco.Core/Sync/ApplicationUrlHelper.cs +++ b/src/Umbraco.Core/Sync/ApplicationUrlHelper.cs @@ -66,22 +66,6 @@ namespace Umbraco.Core.Sync return umbracoApplicationUrl; } - // try umbracoSettings:settings/scheduledTasks/@baseUrl - // which is assumed to: - // - end with SystemDirectories.Umbraco - // - NOT contain any scheme (because, legacy) - // - end or not with a slash, it will be taken care of - // eg "mysite.com/umbraco" - url = settings.ScheduledTasks.BaseUrl; - if (url.IsNullOrWhiteSpace() == false) - { - var ssl = globalSettings.UseHttps ? "s" : ""; - url = "http" + ssl + "://" + url; - var umbracoApplicationUrl = url.TrimEnd('/'); - logger.Info(TypeOfApplicationUrlHelper, "ApplicationUrl: {UmbracoAppUrl} (using scheduledTasks/@baseUrl)", umbracoApplicationUrl); - return umbracoApplicationUrl; - } - // try the server registrar // which is assumed to return a url that: // - end with SystemDirectories.Umbraco diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj index 1f10085e14..35ef18d3e8 100755 --- a/src/Umbraco.Core/Umbraco.Core.csproj +++ b/src/Umbraco.Core/Umbraco.Core.csproj @@ -265,8 +265,6 @@ - - @@ -276,9 +274,6 @@ - - - diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/ScheduledTasksElementDefaultTests.cs b/src/Umbraco.Tests/Configurations/UmbracoSettings/ScheduledTasksElementDefaultTests.cs deleted file mode 100644 index c5947207c5..0000000000 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/ScheduledTasksElementDefaultTests.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Linq; -using NUnit.Framework; - -namespace Umbraco.Tests.Configurations.UmbracoSettings -{ - [TestFixture] - public class ScheduledTasksElementDefaultTests : ScheduledTasksElementTests - { - protected override bool TestingDefaults - { - get { return true; } - } - - [Test] - public override void Tasks() - { - Assert.IsTrue(SettingsSection.ScheduledTasks.Tasks.Any() == false); - } - } -} diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/ScheduledTasksElementTests.cs b/src/Umbraco.Tests/Configurations/UmbracoSettings/ScheduledTasksElementTests.cs deleted file mode 100644 index b040e124d9..0000000000 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/ScheduledTasksElementTests.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.Linq; -using NUnit.Framework; - -namespace Umbraco.Tests.Configurations.UmbracoSettings -{ - [TestFixture] - public class ScheduledTasksElementTests : UmbracoSettingsTests - { - [Test] - public virtual void Tasks() - { - Assert.IsTrue(SettingsSection.ScheduledTasks.Tasks.Count() == 2); - Assert.IsTrue(SettingsSection.ScheduledTasks.Tasks.ElementAt(0).Alias == "test60"); - Assert.IsTrue(SettingsSection.ScheduledTasks.Tasks.ElementAt(0).Log == true); - Assert.IsTrue(SettingsSection.ScheduledTasks.Tasks.ElementAt(0).Interval == 60); - Assert.IsTrue(SettingsSection.ScheduledTasks.Tasks.ElementAt(0).Url == "http://localhost/umbraco/test.aspx"); - Assert.IsTrue(SettingsSection.ScheduledTasks.Tasks.ElementAt(1).Alias == "testtest"); - Assert.IsTrue(SettingsSection.ScheduledTasks.Tasks.ElementAt(1).Log == false); - Assert.IsTrue(SettingsSection.ScheduledTasks.Tasks.ElementAt(1).Interval == 61); - Assert.IsTrue(SettingsSection.ScheduledTasks.Tasks.ElementAt(1).Url == "http://localhost/umbraco/test1.aspx"); - } - - } -} diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/WebRoutingElementDefaultTests.cs b/src/Umbraco.Tests/Configurations/UmbracoSettings/WebRoutingElementDefaultTests.cs index 6ff2dc8340..b593e9082e 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/WebRoutingElementDefaultTests.cs +++ b/src/Umbraco.Tests/Configurations/UmbracoSettings/WebRoutingElementDefaultTests.cs @@ -14,7 +14,7 @@ namespace Umbraco.Tests.Configurations.UmbracoSettings [Test] public override void UrlProviderMode() { - Assert.IsTrue(SettingsSection.WebRouting.UrlProviderMode == "AutoLegacy"); + Assert.IsTrue(SettingsSection.WebRouting.UrlProviderMode == "Auto"); } [Test] diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/WebRoutingElementTests.cs b/src/Umbraco.Tests/Configurations/UmbracoSettings/WebRoutingElementTests.cs index f7dce4cb80..dad1173c3f 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/WebRoutingElementTests.cs +++ b/src/Umbraco.Tests/Configurations/UmbracoSettings/WebRoutingElementTests.cs @@ -20,7 +20,7 @@ namespace Umbraco.Tests.Configurations.UmbracoSettings [Test] public virtual void UrlProviderMode() { - Assert.IsTrue(SettingsSection.WebRouting.UrlProviderMode == "AutoLegacy"); + Assert.IsTrue(SettingsSection.WebRouting.UrlProviderMode == "Auto"); } } } diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.config b/src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.config index 4561ed10bd..5367fe3ece 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.config +++ b/src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.config @@ -119,12 +119,6 @@ - - - - - - diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.minimal.config b/src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.minimal.config index cd9738c58f..6119926eaa 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.minimal.config +++ b/src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.minimal.config @@ -37,9 +37,6 @@ - - - diff --git a/src/Umbraco.Tests/Misc/ApplicationUrlHelperTests.cs b/src/Umbraco.Tests/Misc/ApplicationUrlHelperTests.cs index 47c854333a..79878a59a1 100644 --- a/src/Umbraco.Tests/Misc/ApplicationUrlHelperTests.cs +++ b/src/Umbraco.Tests/Misc/ApplicationUrlHelperTests.cs @@ -37,8 +37,7 @@ namespace Umbraco.Tests.Misc // no applicable settings, but a provider var settings = Mock.Of(section => - section.WebRouting == Mock.Of(wrSection => wrSection.UmbracoApplicationUrl == (string)null) - && section.ScheduledTasks == Mock.Of()); + section.WebRouting == Mock.Of(wrSection => wrSection.UmbracoApplicationUrl == (string)null)); var globalConfig = Mock.Get(SettingsForTests.GenerateMockGlobalSettings()); globalConfig.Setup(x => x.UseHttps).Returns(true); @@ -59,8 +58,7 @@ namespace Umbraco.Tests.Misc // no applicable settings, but a provider var settings = Mock.Of(section => - section.WebRouting == Mock.Of(wrSection => wrSection.UmbracoApplicationUrl == (string) null) - && section.ScheduledTasks == Mock.Of()); + section.WebRouting == Mock.Of(wrSection => wrSection.UmbracoApplicationUrl == (string) null)); var globalConfig = Mock.Get(SettingsForTests.GenerateMockGlobalSettings()); globalConfig.Setup(x => x.UseHttps).Returns(true); @@ -82,8 +80,7 @@ namespace Umbraco.Tests.Misc // no applicable settings, cannot set url var settings = Mock.Of(section => - section.WebRouting == Mock.Of(wrSection => wrSection.UmbracoApplicationUrl == (string) null) - && section.ScheduledTasks == Mock.Of()); + section.WebRouting == Mock.Of(wrSection => wrSection.UmbracoApplicationUrl == (string) null)); var globalConfig = Mock.Get(SettingsForTests.GenerateMockGlobalSettings()); globalConfig.Setup(x => x.UseHttps).Returns(true); @@ -93,47 +90,12 @@ namespace Umbraco.Tests.Misc // still NOT set Assert.IsNull(url); } - - [Test] - public void SetApplicationUrlFromStSettingsNoSsl() - { - var settings = Mock.Of(section => - section.WebRouting == Mock.Of(wrSection => wrSection.UmbracoApplicationUrl == (string) null) - && section.ScheduledTasks == Mock.Of(tasksSection => tasksSection.BaseUrl == "mycoolhost.com/umbraco")); - - var globalConfig = Mock.Get(SettingsForTests.GenerateMockGlobalSettings()); - globalConfig.Setup(x => x.UseHttps).Returns(false); - - - - var url = ApplicationUrlHelper.TryGetApplicationUrl(settings, Mock.Of(), globalConfig.Object, Mock.Of()); - - Assert.AreEqual("http://mycoolhost.com/umbraco", url); - } - - [Test] - public void SetApplicationUrlFromStSettingsSsl() - { - var settings = Mock.Of(section => - section.WebRouting == Mock.Of(wrSection => wrSection.UmbracoApplicationUrl == (string) null) - && section.ScheduledTasks == Mock.Of(tasksSection => tasksSection.BaseUrl == "mycoolhost.com/umbraco/")); - - var globalConfig = Mock.Get(SettingsForTests.GenerateMockGlobalSettings()); - globalConfig.Setup(x => x.UseHttps).Returns(true); - - - - var url = ApplicationUrlHelper.TryGetApplicationUrl(settings, Mock.Of(), globalConfig.Object, Mock.Of()); - - Assert.AreEqual("https://mycoolhost.com/umbraco", url); - } - + [Test] public void SetApplicationUrlFromWrSettingsSsl() { var settings = Mock.Of(section => - section.WebRouting == Mock.Of(wrSection => wrSection.UmbracoApplicationUrl == "httpx://whatever.com/umbraco/") - && section.ScheduledTasks == Mock.Of(tasksSection => tasksSection.BaseUrl == "mycoolhost.com/umbraco")); + section.WebRouting == Mock.Of(wrSection => wrSection.UmbracoApplicationUrl == "httpx://whatever.com/umbraco/")); var globalConfig = Mock.Get(SettingsForTests.GenerateMockGlobalSettings()); globalConfig.Setup(x => x.UseHttps).Returns(true); diff --git a/src/Umbraco.Tests/TestHelpers/SettingsForTests.cs b/src/Umbraco.Tests/TestHelpers/SettingsForTests.cs index a989289cd3..86a767f84a 100644 --- a/src/Umbraco.Tests/TestHelpers/SettingsForTests.cs +++ b/src/Umbraco.Tests/TestHelpers/SettingsForTests.cs @@ -38,7 +38,6 @@ namespace Umbraco.Tests.TestHelpers var security = new Mock(); var requestHandler = new Mock(); var logging = new Mock(); - var tasks = new Mock(); var providers = new Mock(); var routing = new Mock(); @@ -46,7 +45,6 @@ namespace Umbraco.Tests.TestHelpers settings.Setup(x => x.Security).Returns(security.Object); settings.Setup(x => x.RequestHandler).Returns(requestHandler.Object); settings.Setup(x => x.Logging).Returns(logging.Object); - settings.Setup(x => x.ScheduledTasks).Returns(tasks.Object); settings.Setup(x => x.Providers).Returns(providers.Object); settings.Setup(x => x.WebRouting).Returns(routing.Object); @@ -55,7 +53,7 @@ namespace Umbraco.Tests.TestHelpers settings.Setup(x => x.Content.ImageFileTypes).Returns(ContentImagingElement.GetDefaultImageFileTypes()); settings.Setup(x => x.RequestHandler.AddTrailingSlash).Returns(true); settings.Setup(x => x.RequestHandler.CharCollection).Returns(RequestHandlerElement.GetDefaultCharReplacements()); - settings.Setup(x => x.WebRouting.UrlProviderMode).Returns("AutoLegacy"); + settings.Setup(x => x.WebRouting.UrlProviderMode).Returns("Auto"); settings.Setup(x => x.Providers.DefaultBackOfficeUserProvider).Returns("UsersMembershipProvider"); return settings.Object; diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj index 8c86873e0a..83d2e83d94 100644 --- a/src/Umbraco.Tests/Umbraco.Tests.csproj +++ b/src/Umbraco.Tests/Umbraco.Tests.csproj @@ -302,8 +302,6 @@ - - diff --git a/src/Umbraco.Tests/Web/Mvc/SurfaceControllerTests.cs b/src/Umbraco.Tests/Web/Mvc/SurfaceControllerTests.cs index 03844b5d72..69f6c5d13e 100644 --- a/src/Umbraco.Tests/Web/Mvc/SurfaceControllerTests.cs +++ b/src/Umbraco.Tests/Web/Mvc/SurfaceControllerTests.cs @@ -120,7 +120,7 @@ namespace Umbraco.Tests.Web.Mvc new Mock().Object, publishedSnapshotService.Object, new Mock(null, null, globalSettings).Object, - Mock.Of(section => section.WebRouting == Mock.Of(routingSection => routingSection.UrlProviderMode == "AutoLegacy")), + Mock.Of(section => section.WebRouting == Mock.Of(routingSection => routingSection.UrlProviderMode == "Auto")), Enumerable.Empty(), globalSettings, new TestVariationContextAccessor(), @@ -145,7 +145,7 @@ namespace Umbraco.Tests.Web.Mvc [Test] public void Mock_Current_Page() { - var webRoutingSettings = Mock.Of(section => section.UrlProviderMode == "AutoLegacy"); + var webRoutingSettings = Mock.Of(section => section.UrlProviderMode == "Auto"); var globalSettings = TestObjects.GetGlobalSettings(); var umbracoContext = UmbracoContext.EnsureContext( diff --git a/src/Umbraco.Tests/Web/TemplateUtilitiesTests.cs b/src/Umbraco.Tests/Web/TemplateUtilitiesTests.cs index 4bcad4f4d3..aa44e7d085 100644 --- a/src/Umbraco.Tests/Web/TemplateUtilitiesTests.cs +++ b/src/Umbraco.Tests/Web/TemplateUtilitiesTests.cs @@ -102,7 +102,7 @@ namespace Umbraco.Tests.Web snapshotService, new Mock(null, null, globalSettings).Object, //setup a quick mock of the WebRouting section - Mock.Of(section => section.WebRouting == Mock.Of(routingSection => routingSection.UrlProviderMode == "AutoLegacy")), + Mock.Of(section => section.WebRouting == Mock.Of(routingSection => routingSection.UrlProviderMode == "Auto")), //pass in the custom url provider new[]{ testUrlProvider.Object }, globalSettings, diff --git a/src/Umbraco.Web.UI/config/umbracoSettings.Release.config b/src/Umbraco.Web.UI/config/umbracoSettings.Release.config index ba16e34c3c..c42a5f7668 100644 --- a/src/Umbraco.Web.UI/config/umbracoSettings.Release.config +++ b/src/Umbraco.Web.UI/config/umbracoSettings.Release.config @@ -74,17 +74,10 @@ - - true - - - - - - - - - - diff --git a/src/Umbraco.Web/Routing/UrlProviderMode.cs b/src/Umbraco.Web/Routing/UrlProviderMode.cs index b45dc7c777..ac29aed3fb 100644 --- a/src/Umbraco.Web/Routing/UrlProviderMode.cs +++ b/src/Umbraco.Web/Routing/UrlProviderMode.cs @@ -1,14 +1,11 @@ namespace Umbraco.Web.Routing { /// - /// Specifies the type of urls that the url provider should produce. + /// Specifies the type of urls that the url provider should produce, Auto is the default /// /// - /// The AutoLegacy option is equivalent to Auto but it also respects the legacy useDomainPrefixes setting. - /// When that setting is true, then all urls are absolute. Otherwise, urls will be relative or absolute, depending on hostnames. /// The Relative option can lead to invalid results when combined with hostnames, but it is the only way to reproduce /// the true, pre-4.10, always-relative behavior of Umbraco. - /// For the time being, the default option is AutoLegacy although in the future it will be Auto. /// public enum UrlProviderMode { diff --git a/src/Umbraco.Web/Scheduling/ScheduledTasks.cs b/src/Umbraco.Web/Scheduling/ScheduledTasks.cs deleted file mode 100644 index a26b8b23ac..0000000000 --- a/src/Umbraco.Web/Scheduling/ScheduledTasks.cs +++ /dev/null @@ -1,127 +0,0 @@ -using System; -using System.Collections; -using System.Net; -using System.Net.Http; -using System.Threading; -using System.Threading.Tasks; -using Umbraco.Core; -using Umbraco.Core.Configuration.UmbracoSettings; -using Umbraco.Core.Logging; -using Umbraco.Core.Sync; - -namespace Umbraco.Web.Scheduling -{ - // TODO: No scheduled task (i.e. URL) would be secured, so if people are actually using these each task - // would need to be a publicly available task (URL) which isn't really very good :( - // We should really be using the AdminTokenAuthorizeAttribute for this stuff - - internal class ScheduledTasks : RecurringTaskBase - { - private static HttpClient _httpClient; - private readonly IRuntimeState _runtime; - private readonly IUmbracoSettingsSection _settings; - private readonly IProfilingLogger _logger; - private static readonly Hashtable ScheduledTaskTimes = new Hashtable(); - - public ScheduledTasks(IBackgroundTaskRunner runner, int delayMilliseconds, int periodMilliseconds, - IRuntimeState runtime, IUmbracoSettingsSection settings, IProfilingLogger logger) - : base(runner, delayMilliseconds, periodMilliseconds) - { - _runtime = runtime; - _settings = settings; - _logger = logger; - } - - private async Task ProcessTasksAsync(CancellationToken token) - { - var scheduledTasks = _settings.ScheduledTasks.Tasks; - foreach (var t in scheduledTasks) - { - var runTask = false; - if (ScheduledTaskTimes.ContainsKey(t.Alias) == false) - { - runTask = true; - ScheduledTaskTimes.Add(t.Alias, DateTime.Now); - } - - // Add 1 second to timespan to compensate for differences in timer - else if ( - new TimeSpan( - DateTime.Now.Ticks - ((DateTime)ScheduledTaskTimes[t.Alias]).Ticks).TotalSeconds + 1 >= t.Interval) - { - runTask = true; - ScheduledTaskTimes[t.Alias] = DateTime.Now; - } - - if (runTask) - { - var taskResult = await GetTaskByHttpAync(t.Url, token); - if (t.Log) - _logger.Info("{TaskAlias} has been called with response: {TaskResult}", t.Alias, taskResult); - } - } - } - - private async Task GetTaskByHttpAync(string url, CancellationToken token) - { - if (_httpClient == null) - _httpClient = new HttpClient - { - BaseAddress = _runtime.ApplicationUrl - }; - - var request = new HttpRequestMessage(HttpMethod.Get, url); - - // TODO: pass custom the authorization header, currently these aren't really secured! - //request.Headers.Authorization = AdminTokenAuthorizeAttribute.GetAuthenticationHeaderValue(_appContext); - - try - { - var result = await _httpClient.SendAsync(request, token).ConfigureAwait(false); // ConfigureAwait(false) is recommended? http://blog.stephencleary.com/2012/07/dont-block-on-async-code.html - return result.StatusCode == HttpStatusCode.OK; - } - catch (Exception ex) - { - _logger.Error(ex, "An error occurred calling web task for url: {Url}", url); - - } - return false; - } - - public override async Task PerformRunAsync(CancellationToken token) - { - switch (_runtime.ServerRole) - { - case ServerRole.Replica: - _logger.Debug("Does not run on replica servers."); - return true; // DO repeat, server role can change - case ServerRole.Unknown: - _logger.Debug("Does not run on servers with unknown role."); - return true; // DO repeat, server role can change - } - - // ensure we do not run if not main domain, but do NOT lock it - if (_runtime.IsMainDom == false) - { - _logger.Debug("Does not run if not MainDom."); - return false; // do NOT repeat, going down - } - - using (_logger.DebugDuration("Scheduled tasks executing", "Scheduled tasks complete")) - { - try - { - await ProcessTasksAsync(token); - } - catch (Exception ex) - { - _logger.Error(ex, "Error executing scheduled task"); - } - } - - return true; // repeat - } - - public override bool IsAsync => true; - } -} diff --git a/src/Umbraco.Web/Scheduling/SchedulerComponent.cs b/src/Umbraco.Web/Scheduling/SchedulerComponent.cs index d400ccc077..697c80e76d 100644 --- a/src/Umbraco.Web/Scheduling/SchedulerComponent.cs +++ b/src/Umbraco.Web/Scheduling/SchedulerComponent.cs @@ -91,7 +91,6 @@ namespace Umbraco.Web.Scheduling tasks.Add(RegisterKeepAlive()); tasks.Add(RegisterScheduledPublishing()); - tasks.Add(RegisterTaskRunner(settings)); tasks.Add(RegisterLogScrubber(settings)); var healthCheckConfig = Current.Configs.HealthChecks(); @@ -119,14 +118,7 @@ namespace Umbraco.Web.Scheduling _publishingRunner.TryAdd(task); return task; } - - private IBackgroundTask RegisterTaskRunner(IUmbracoSettingsSection settings) - { - var task = new ScheduledTasks(_tasksRunner, 60000, 60000, _runtime, settings, _logger); - _tasksRunner.TryAdd(task); - return task; - } - + private IBackgroundTask RegisterHealthCheckNotifier(IHealthChecks healthCheckConfig, HealthCheckCollection healthChecks, HealthCheckNotificationMethodCollection notifications, IProfilingLogger logger) diff --git a/src/Umbraco.Web/Umbraco.Web.csproj b/src/Umbraco.Web/Umbraco.Web.csproj index a7ed8f5e12..849d82940f 100755 --- a/src/Umbraco.Web/Umbraco.Web.csproj +++ b/src/Umbraco.Web/Umbraco.Web.csproj @@ -924,7 +924,6 @@ -