diff --git a/src/Umbraco.Core/Configuration/GlobalSettingsExtensions.cs b/src/Umbraco.Core/Configuration/GlobalSettingsExtensions.cs index dc52c8dcd6..f9b2362e14 100644 --- a/src/Umbraco.Core/Configuration/GlobalSettingsExtensions.cs +++ b/src/Umbraco.Core/Configuration/GlobalSettingsExtensions.cs @@ -18,7 +18,7 @@ namespace Umbraco.Core.Configuration public static string GetBackOfficePath(this GlobalSettings globalSettings, IHostingEnvironment hostingEnvironment) { if (_backOfficePath != null) return _backOfficePath; - _backOfficePath = hostingEnvironment.ToAbsolute(globalSettings.Path); + _backOfficePath = hostingEnvironment.ToAbsolute(globalSettings.UmbracoPath); return _backOfficePath; } @@ -44,9 +44,9 @@ namespace Umbraco.Core.Configuration internal static string GetUmbracoMvcAreaNoCache(this GlobalSettings globalSettings, IHostingEnvironment hostingEnvironment) { - var path = string.IsNullOrEmpty(globalSettings.Path) + var path = string.IsNullOrEmpty(globalSettings.UmbracoPath) ? string.Empty - : hostingEnvironment.ToAbsolute(globalSettings.Path); + : hostingEnvironment.ToAbsolute(globalSettings.UmbracoPath); if (path.IsNullOrWhiteSpace()) throw new InvalidOperationException("Cannot create an MVC Area path without the umbracoPath specified"); diff --git a/src/Umbraco.Core/Configuration/Models/GlobalSettings.cs b/src/Umbraco.Core/Configuration/Models/GlobalSettings.cs index e71d29412d..c28e05b32e 100644 --- a/src/Umbraco.Core/Configuration/Models/GlobalSettings.cs +++ b/src/Umbraco.Core/Configuration/Models/GlobalSettings.cs @@ -30,7 +30,7 @@ public int VersionCheckPeriod { get; set; } = 7; - public string Path { get; set; } = "~/umbraco"; + public string UmbracoPath { get; set; } = "~/umbraco"; public string IconsPath { get; set; } = $"~/umbraco/assets/icons"; diff --git a/src/Umbraco.Core/Configuration/Models/ImagingCacheSettings.cs b/src/Umbraco.Core/Configuration/Models/ImagingCacheSettings.cs index 03efac0ffd..9ab3386129 100644 --- a/src/Umbraco.Core/Configuration/Models/ImagingCacheSettings.cs +++ b/src/Umbraco.Core/Configuration/Models/ImagingCacheSettings.cs @@ -6,7 +6,7 @@ public int MaxCacheDays { get; set; } = 365; - public uint CachedNameLength { get; set; } = 7; + public uint CachedNameLength { get; set; } = 8; public string CacheFolder { get; set; } = "../App_Data/Cache"; } diff --git a/src/Umbraco.Core/HealthCheck/Checks/Permissions/FolderAndFilePermissionsCheck.cs b/src/Umbraco.Core/HealthCheck/Checks/Permissions/FolderAndFilePermissionsCheck.cs index 8cd0d3a575..d6fbfae813 100644 --- a/src/Umbraco.Core/HealthCheck/Checks/Permissions/FolderAndFilePermissionsCheck.cs +++ b/src/Umbraco.Core/HealthCheck/Checks/Permissions/FolderAndFilePermissionsCheck.cs @@ -77,7 +77,7 @@ namespace Umbraco.Web.HealthCheck.Checks.Permissions { _globalSettings.UmbracoCssPath, PermissionCheckRequirement.Optional }, { _globalSettings.UmbracoMediaPath, PermissionCheckRequirement.Optional }, { _globalSettings.UmbracoScriptsPath, PermissionCheckRequirement.Optional }, - { _globalSettings.Path, PermissionCheckRequirement.Optional }, + { _globalSettings.UmbracoPath, PermissionCheckRequirement.Optional }, { Constants.SystemDirectories.MvcViews, PermissionCheckRequirement.Optional } }; diff --git a/src/Umbraco.Core/Packaging/CompiledPackageXmlParser.cs b/src/Umbraco.Core/Packaging/CompiledPackageXmlParser.cs index 2013fd9904..010e6469bf 100644 --- a/src/Umbraco.Core/Packaging/CompiledPackageXmlParser.cs +++ b/src/Umbraco.Core/Packaging/CompiledPackageXmlParser.cs @@ -138,7 +138,7 @@ namespace Umbraco.Core.Packaging if (path.Contains("[$")) { //this is experimental and undocumented... - path = path.Replace("[$UMBRACO]", _globalSettings.Path); + path = path.Replace("[$UMBRACO]", _globalSettings.UmbracoPath); path = path.Replace("[$CONFIG]", Constants.SystemDirectories.Config); path = path.Replace("[$DATA]", Constants.SystemDirectories.Data); } diff --git a/src/Umbraco.Core/Routing/UrlProvider.cs b/src/Umbraco.Core/Routing/UrlProvider.cs index 6ad44c7716..69d2e00276 100644 --- a/src/Umbraco.Core/Routing/UrlProvider.cs +++ b/src/Umbraco.Core/Routing/UrlProvider.cs @@ -1,11 +1,10 @@ using System; using System.Collections.Generic; using System.Linq; -using Umbraco.Core.Configuration.UmbracoSettings; -using Umbraco.Core; -using Umbraco.Core.Models.PublishedContent; -using Umbraco.Core.Configuration.Models; using Microsoft.Extensions.Options; +using Umbraco.Core; +using Umbraco.Core.Configuration.Models; +using Umbraco.Core.Models.PublishedContent; namespace Umbraco.Web.Routing { @@ -28,8 +27,6 @@ namespace Umbraco.Web.Routing /// public UrlProvider(IUmbracoContextAccessor umbracoContextAccessor, IOptions routingSettings, UrlProviderCollection urlProviders, MediaUrlProviderCollection mediaUrlProviders, IVariationContextAccessor variationContextAccessor) { - if (routingSettings == null) throw new ArgumentNullException(nameof(routingSettings)); - _umbracoContextAccessor = umbracoContextAccessor ?? throw new ArgumentNullException(nameof(umbracoContextAccessor)); _urlProviders = urlProviders; _mediaUrlProviders = mediaUrlProviders; diff --git a/src/Umbraco.Infrastructure/Composing/CompositionExtensions/Services.cs b/src/Umbraco.Infrastructure/Composing/CompositionExtensions/Services.cs index 105ef00f73..ffd8b880f2 100644 --- a/src/Umbraco.Infrastructure/Composing/CompositionExtensions/Services.cs +++ b/src/Umbraco.Infrastructure/Composing/CompositionExtensions/Services.cs @@ -103,7 +103,7 @@ namespace Umbraco.Core.Composing.CompositionExtensions { var hostingEnvironment = container.GetInstance(); var globalSettings = container.GetInstance>().Value; - var mainLangFolder = new DirectoryInfo(hostingEnvironment.MapPathContentRoot(WebPath.Combine(globalSettings.Path , "config","lang"))); + var mainLangFolder = new DirectoryInfo(hostingEnvironment.MapPathContentRoot(WebPath.Combine(globalSettings.UmbracoPath , "config","lang"))); var appPlugins = new DirectoryInfo(hostingEnvironment.MapPathContentRoot(Constants.SystemDirectories.AppPlugins)); var configLangFolder = new DirectoryInfo(hostingEnvironment.MapPathContentRoot(WebPath.Combine(Constants.SystemDirectories.Config ,"lang"))); diff --git a/src/Umbraco.Infrastructure/Configuration/ConfigModelConversionsFromLegacy.cs b/src/Umbraco.Infrastructure/Configuration/ConfigModelConversionsFromLegacy.cs index 406e3a115f..44223f68a4 100644 --- a/src/Umbraco.Infrastructure/Configuration/ConfigModelConversionsFromLegacy.cs +++ b/src/Umbraco.Infrastructure/Configuration/ConfigModelConversionsFromLegacy.cs @@ -41,7 +41,7 @@ namespace Umbraco.Infrastructure.Configuration TimeOutInMinutes = globalSettings.TimeOutInMinutes, UmbracoCssPath = globalSettings.UmbracoCssPath, UmbracoMediaPath = globalSettings.UmbracoMediaPath, - Path = globalSettings.UmbracoPath, + UmbracoPath = globalSettings.UmbracoPath, UmbracoScriptsPath = globalSettings.UmbracoScriptsPath, IconsPath = globalSettings.IconsPath, UseHttps = globalSettings.UseHttps, diff --git a/src/Umbraco.Infrastructure/Configuration/ConfigModelConversionsToLegacy.cs b/src/Umbraco.Infrastructure/Configuration/ConfigModelConversionsToLegacy.cs index 355326b082..60478aaee3 100644 --- a/src/Umbraco.Infrastructure/Configuration/ConfigModelConversionsToLegacy.cs +++ b/src/Umbraco.Infrastructure/Configuration/ConfigModelConversionsToLegacy.cs @@ -41,7 +41,7 @@ namespace Umbraco.Infrastructure.Configuration TimeOutInMinutes = globalSettings.TimeOutInMinutes, UmbracoCssPath = globalSettings.UmbracoCssPath, UmbracoMediaPath = globalSettings.UmbracoMediaPath, - UmbracoPath = globalSettings.Path, + UmbracoPath = globalSettings.UmbracoPath, UmbracoScriptsPath = globalSettings.UmbracoScriptsPath, IconsPath = globalSettings.IconsPath, UseHttps = globalSettings.UseHttps, diff --git a/src/Umbraco.Infrastructure/Install/FilePermissionHelper.cs b/src/Umbraco.Infrastructure/Install/FilePermissionHelper.cs index 07d78444c1..7a20a1189e 100644 --- a/src/Umbraco.Infrastructure/Install/FilePermissionHelper.cs +++ b/src/Umbraco.Infrastructure/Install/FilePermissionHelper.cs @@ -31,7 +31,7 @@ namespace Umbraco.Web.Install _ioHelper = ioHelper; _publishedSnapshotService = publishedSnapshotService; _permissionDirs = new[] { _globalSettings.UmbracoCssPath, Constants.SystemDirectories.Config, Constants.SystemDirectories.Data, _globalSettings.UmbracoMediaPath, Constants.SystemDirectories.Preview }; - _packagesPermissionsDirs = new[] { Constants.SystemDirectories.Bin, _globalSettings.Path, Constants.SystemDirectories.Packages }; + _packagesPermissionsDirs = new[] { Constants.SystemDirectories.Bin, _globalSettings.UmbracoPath, Constants.SystemDirectories.Packages }; } public bool RunFilePermissionTestSuite(out Dictionary> report) diff --git a/src/Umbraco.Infrastructure/Persistence/UmbracoDatabaseFactory.cs b/src/Umbraco.Infrastructure/Persistence/UmbracoDatabaseFactory.cs index b37f0dea81..eea82026ab 100644 --- a/src/Umbraco.Infrastructure/Persistence/UmbracoDatabaseFactory.cs +++ b/src/Umbraco.Infrastructure/Persistence/UmbracoDatabaseFactory.cs @@ -1,6 +1,7 @@ using System; using System.Data.Common; using System.Threading; +using Microsoft.Extensions.Options; using NPoco; using NPoco.FluentMappings; using Umbraco.Core.Configuration.Models; @@ -68,8 +69,8 @@ namespace Umbraco.Core.Persistence /// Initializes a new instance of the . /// /// Used by core runtime. - public UmbracoDatabaseFactory(ILogger logger, GlobalSettings globalSettings, ConnectionStrings connectionStrings, Lazy mappers,IDbProviderFactoryCreator dbProviderFactoryCreator) - : this(logger, globalSettings, connectionStrings, Constants.System.UmbracoConnectionName, mappers, dbProviderFactoryCreator) + public UmbracoDatabaseFactory(ILogger logger, IOptions globalSettings, IOptions connectionStrings, Lazy mappers,IDbProviderFactoryCreator dbProviderFactoryCreator) + : this(logger, globalSettings.Value, connectionStrings.Value, Constants.System.UmbracoConnectionName, mappers, dbProviderFactoryCreator) { } diff --git a/src/Umbraco.Infrastructure/Runtime/CoreRuntime.cs b/src/Umbraco.Infrastructure/Runtime/CoreRuntime.cs index 3d1f00ebb9..9e1910d938 100644 --- a/src/Umbraco.Infrastructure/Runtime/CoreRuntime.cs +++ b/src/Umbraco.Infrastructure/Runtime/CoreRuntime.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.IO; +using Microsoft.Extensions.Options; using Umbraco.Core.Cache; using Umbraco.Core.Composing; using Umbraco.Core.Configuration; @@ -407,7 +408,7 @@ namespace Umbraco.Core.Runtime /// /// This is strictly internal, for tests only. protected internal virtual IUmbracoDatabaseFactory GetDatabaseFactory() - => new UmbracoDatabaseFactory(Logger, _globalSettings, _connectionStrings, new Lazy(() => _factory.GetInstance()), DbProviderFactoryCreator); + => new UmbracoDatabaseFactory(Logger, Options.Create(_globalSettings), Options.Create(_connectionStrings), new Lazy(() => _factory.GetInstance()), DbProviderFactoryCreator); #endregion diff --git a/src/Umbraco.Infrastructure/Services/Implement/FileService.cs b/src/Umbraco.Infrastructure/Services/Implement/FileService.cs index 086092597f..e82c71d1a5 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/FileService.cs +++ b/src/Umbraco.Infrastructure/Services/Implement/FileService.cs @@ -675,7 +675,7 @@ namespace Umbraco.Core.Services.Implement public IEnumerable GetPartialViewSnippetNames(params string[] filterNames) { - var snippetPath = _hostingEnvironment.MapPathContentRoot($"{_globalSettings.Path}/PartialViewMacros/Templates/"); + var snippetPath = _hostingEnvironment.MapPathContentRoot($"{_globalSettings.UmbracoPath}/PartialViewMacros/Templates/"); var files = Directory.GetFiles(snippetPath, "*.cshtml") .Select(Path.GetFileNameWithoutExtension) .Except(filterNames, StringComparer.InvariantCultureIgnoreCase) @@ -909,7 +909,7 @@ namespace Umbraco.Core.Services.Implement fileName += ".cshtml"; } - var snippetPath = _hostingEnvironment.MapPathContentRoot($"{_globalSettings.Path}/PartialViewMacros/Templates/{fileName}"); + var snippetPath = _hostingEnvironment.MapPathContentRoot($"{_globalSettings.UmbracoPath}/PartialViewMacros/Templates/{fileName}"); return System.IO.File.Exists(snippetPath) ? Attempt.Succeed(snippetPath) : Attempt.Fail(); diff --git a/src/Umbraco.Infrastructure/Services/Implement/NotificationService.cs b/src/Umbraco.Infrastructure/Services/Implement/NotificationService.cs index 6058427aae..47e4ebed2c 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/NotificationService.cs +++ b/src/Umbraco.Infrastructure/Services/Implement/NotificationService.cs @@ -386,7 +386,7 @@ namespace Umbraco.Core.Services.Implement var protocol = _globalSettings.UseHttps ? "https" : "http"; var subjectVars = new NotificationEmailSubjectParams( - string.Concat(siteUri.Authority, _ioHelper.ResolveUrl(_globalSettings.Path)), + string.Concat(siteUri.Authority, _ioHelper.ResolveUrl(_globalSettings.UmbracoPath)), actionName, content.Name); @@ -402,7 +402,7 @@ namespace Umbraco.Core.Services.Implement string.Concat(content.Id, ".aspx"), protocol), performingUser.Name, - string.Concat(siteUri.Authority, _ioHelper.ResolveUrl(_globalSettings.Path)), + string.Concat(siteUri.Authority, _ioHelper.ResolveUrl(_globalSettings.UmbracoPath)), summary.ToString()); var fromMail = _contentSettings.Notifications.Email ?? _globalSettings.Smtp.From; diff --git a/src/Umbraco.Infrastructure/WebAssets/BackOfficeJavaScriptInitializer.cs b/src/Umbraco.Infrastructure/WebAssets/BackOfficeJavaScriptInitializer.cs index 8908978e4b..77db7bcbfd 100644 --- a/src/Umbraco.Infrastructure/WebAssets/BackOfficeJavaScriptInitializer.cs +++ b/src/Umbraco.Infrastructure/WebAssets/BackOfficeJavaScriptInitializer.cs @@ -48,7 +48,7 @@ namespace Umbraco.Web.WebAssets } jarray.Append("]"); - return WriteScript(jarray.ToString(), hostingEnvironment.ToAbsolute(globalSettings.Path), angularModule); + return WriteScript(jarray.ToString(), hostingEnvironment.ToAbsolute(globalSettings.UmbracoPath), angularModule); } /// diff --git a/src/Umbraco.Tests.Common/Builders/GlobalSettingsBuilder.cs b/src/Umbraco.Tests.Common/Builders/GlobalSettingsBuilder.cs index 61c0822cf3..d39bd71d2e 100644 --- a/src/Umbraco.Tests.Common/Builders/GlobalSettingsBuilder.cs +++ b/src/Umbraco.Tests.Common/Builders/GlobalSettingsBuilder.cs @@ -18,7 +18,7 @@ namespace Umbraco.Tests.Common.Builders private bool? _hideTopLevelNodeFromPath; private bool? _installEmptyDatabase; private bool? _installMissingDatabase; - private string _path; + private string _umbracoPath; private string _registerType; private string _reservedPaths; private string _reservedUrls; @@ -81,9 +81,9 @@ namespace Umbraco.Tests.Common.Builders return this; } - public GlobalSettingsBuilder WithPath(string path) + public GlobalSettingsBuilder WithUmbracoPath(string umbracoPath) { - _path = path; + _umbracoPath = umbracoPath; return this; } @@ -164,7 +164,7 @@ namespace Umbraco.Tests.Common.Builders var registerType = _registerType ?? null; var reservedPaths = _reservedPaths ?? GlobalSettings.StaticReservedPaths; var reservedUrls = _reservedUrls ?? GlobalSettings.StaticReservedUrls; - var path = _path ?? "~/umbraco"; + var umbracoPath = _umbracoPath ?? "~/umbraco"; var useHttps = _useHttps ?? false; var umbracoCssPath = _umbracoCssPath ?? "~/css"; var umbracoMediaPath = _umbracoMediaPath ?? "~/media"; @@ -187,7 +187,7 @@ namespace Umbraco.Tests.Common.Builders RegisterType = registerType, ReservedPaths = reservedPaths, ReservedUrls = reservedUrls, - Path = path, + UmbracoPath = umbracoPath, UseHttps = useHttps, UmbracoCssPath = umbracoCssPath, UmbracoMediaPath = umbracoMediaPath, diff --git a/src/Umbraco.Tests.Integration/Umbraco.Web.BackOffice.Security/BackOfficeCookieManagerTests.cs b/src/Umbraco.Tests.Integration/Umbraco.Web.BackOffice.Security/BackOfficeCookieManagerTests.cs index d03d4386f0..6fd5672085 100644 --- a/src/Umbraco.Tests.Integration/Umbraco.Web.BackOffice.Security/BackOfficeCookieManagerTests.cs +++ b/src/Umbraco.Tests.Integration/Umbraco.Web.BackOffice.Security/BackOfficeCookieManagerTests.cs @@ -57,7 +57,7 @@ namespace Umbraco.Tests.Security var mgr = new BackOfficeCookieManager( Mock.Of(), runtime, - Mock.Of(x => x.ApplicationVirtualPath == "/" && x.ToAbsolute(globalSettings.Path) == "/umbraco"), + Mock.Of(x => x.ApplicationVirtualPath == "/" && x.ToAbsolute(globalSettings.UmbracoPath) == "/umbraco"), globalSettings, Mock.Of(), Mock.Of()); @@ -80,7 +80,7 @@ namespace Umbraco.Tests.Security var mgr = new BackOfficeCookieManager( Mock.Of(), runtime, - Mock.Of(x => x.ApplicationVirtualPath == "/" && x.ToAbsolute(globalSettings.Path) == "/umbraco" && x.ToAbsolute(Constants.SystemDirectories.Install) == "/install"), + Mock.Of(x => x.ApplicationVirtualPath == "/" && x.ToAbsolute(globalSettings.UmbracoPath) == "/umbraco" && x.ToAbsolute(Constants.SystemDirectories.Install) == "/install"), globalSettings, Mock.Of(), GetMockLinkGenerator(out var remainingTimeoutSecondsPath, out var isAuthPath)); @@ -105,7 +105,7 @@ namespace Umbraco.Tests.Security var mgr = new BackOfficeCookieManager( Mock.Of(), runtime, - Mock.Of(x => x.ApplicationVirtualPath == "/" && x.ToAbsolute(globalSettings.Path) == "/umbraco" && x.ToAbsolute(Constants.SystemDirectories.Install) == "/install"), + Mock.Of(x => x.ApplicationVirtualPath == "/" && x.ToAbsolute(globalSettings.UmbracoPath) == "/umbraco" && x.ToAbsolute(Constants.SystemDirectories.Install) == "/install"), globalSettings, Mock.Of(x => x.IsAvailable == true && x.Get(Constants.Security.ForceReAuthFlag) == "not null"), GetMockLinkGenerator(out var remainingTimeoutSecondsPath, out var isAuthPath)); @@ -127,7 +127,7 @@ namespace Umbraco.Tests.Security var mgr = new BackOfficeCookieManager( Mock.Of(), runtime, - Mock.Of(x => x.ApplicationVirtualPath == "/" && x.ToAbsolute(globalSettings.Path) == "/umbraco" && x.ToAbsolute(Constants.SystemDirectories.Install) == "/install"), + Mock.Of(x => x.ApplicationVirtualPath == "/" && x.ToAbsolute(globalSettings.UmbracoPath) == "/umbraco" && x.ToAbsolute(Constants.SystemDirectories.Install) == "/install"), globalSettings, Mock.Of(), GetMockLinkGenerator(out var remainingTimeoutSecondsPath, out var isAuthPath)); diff --git a/src/Umbraco.Tests/Components/ComponentTests.cs b/src/Umbraco.Tests/Components/ComponentTests.cs index aef126729c..4b8ee755d2 100644 --- a/src/Umbraco.Tests/Components/ComponentTests.cs +++ b/src/Umbraco.Tests/Components/ComponentTests.cs @@ -37,7 +37,7 @@ namespace Umbraco.Tests.Components var typeFinder = TestHelper.GetTypeFinder(); var globalSettings = new GlobalSettingsBuilder().Build(); var connectionStrings = new ConnectionStringsBuilder().Build(); - var f = new UmbracoDatabaseFactory(logger, globalSettings, connectionStrings, new Lazy(() => new MapperCollection(Enumerable.Empty())), TestHelper.DbProviderFactoryCreator); + var f = new UmbracoDatabaseFactory(logger, Options.Create(globalSettings), Options.Create(connectionStrings), new Lazy(() => new MapperCollection(Enumerable.Empty())), TestHelper.DbProviderFactoryCreator); var fs = new FileSystems(mock.Object, logger, TestHelper.IOHelper, Options.Create(globalSettings), TestHelper.GetHostingEnvironment()); var coreDebug = new CoreDebugSettingsBuilder().Build(); var mediaFileSystem = Mock.Of(); diff --git a/src/Umbraco.Tests/Configurations/GlobalSettingsTests.cs b/src/Umbraco.Tests/Configurations/GlobalSettingsTests.cs index 69e20fe063..1eac33b5b9 100644 --- a/src/Umbraco.Tests/Configurations/GlobalSettingsTests.cs +++ b/src/Umbraco.Tests/Configurations/GlobalSettingsTests.cs @@ -23,7 +23,7 @@ namespace Umbraco.Tests.Configurations var hostingEnvironment = new AspNetHostingEnvironment(mockHostingSettings.Object); - var globalSettings = new GlobalSettingsBuilder().WithPath(path).Build(); + var globalSettings = new GlobalSettingsBuilder().WithUmbracoPath(path).Build(); Assert.AreEqual(outcome, globalSettings.GetUmbracoMvcAreaNoCache(hostingEnvironment)); } diff --git a/src/Umbraco.Tests/Persistence/DatabaseContextTests.cs b/src/Umbraco.Tests/Persistence/DatabaseContextTests.cs index 8f4947952f..d1ee5ac690 100644 --- a/src/Umbraco.Tests/Persistence/DatabaseContextTests.cs +++ b/src/Umbraco.Tests/Persistence/DatabaseContextTests.cs @@ -3,6 +3,7 @@ using System.Configuration; using System.Data.SqlServerCe; using System.IO; using System.Threading; +using Microsoft.Extensions.Options; using Moq; using NPoco; using NUnit.Framework; @@ -41,7 +42,7 @@ namespace Umbraco.Tests.Persistence _umbracoVersion = TestHelper.GetUmbracoVersion(); var globalSettings = new GlobalSettingsBuilder().Build(); var connectionStrings = new ConnectionStringsBuilder().Build(); - _databaseFactory = new UmbracoDatabaseFactory(_logger, globalSettings, connectionStrings, new Lazy(() => Mock.Of()), TestHelper.DbProviderFactoryCreator); + _databaseFactory = new UmbracoDatabaseFactory(_logger, Options.Create(globalSettings), Options.Create(connectionStrings), new Lazy(() => Mock.Of()), TestHelper.DbProviderFactoryCreator); } [TearDown] diff --git a/src/Umbraco.Tests/Runtimes/StandaloneTests.cs b/src/Umbraco.Tests/Runtimes/StandaloneTests.cs index 965521be31..6ad675ed88 100644 --- a/src/Umbraco.Tests/Runtimes/StandaloneTests.cs +++ b/src/Umbraco.Tests/Runtimes/StandaloneTests.cs @@ -68,7 +68,7 @@ namespace Umbraco.Tests.Runtimes var globalSettings = new GlobalSettingsBuilder().Build(); var connectionStrings = new ConnectionStringsBuilder().Build(); var typeFinder = TestHelper.GetTypeFinder(); - var databaseFactory = new UmbracoDatabaseFactory(logger, globalSettings, connectionStrings, new Lazy(() => factory.GetInstance()), TestHelper.DbProviderFactoryCreator); + var databaseFactory = new UmbracoDatabaseFactory(logger, Options.Create(globalSettings), Options.Create(connectionStrings), new Lazy(() => factory.GetInstance()), TestHelper.DbProviderFactoryCreator); var ioHelper = TestHelper.IOHelper; var hostingEnvironment = Mock.Of(); var typeLoader = new TypeLoader(typeFinder, appCaches.RuntimeCache, new DirectoryInfo(ioHelper.MapPath("~/App_Data/TEMP")), profilingLogger); diff --git a/src/Umbraco.Tests/TestHelpers/TestObjects.cs b/src/Umbraco.Tests/TestHelpers/TestObjects.cs index e54d0ae46a..36544846ef 100644 --- a/src/Umbraco.Tests/TestHelpers/TestObjects.cs +++ b/src/Umbraco.Tests/TestHelpers/TestObjects.cs @@ -188,7 +188,7 @@ namespace Umbraco.Tests.TestHelpers new PackagesRepository(contentService.Value, contentTypeService.Value, dataTypeService.Value, fileService.Value, macroService.Value, localizationService.Value, hostingEnvironment, new EntityXmlSerializer(contentService.Value, mediaService.Value, dataTypeService.Value, userService.Value, localizationService.Value, contentTypeService.Value, urlSegmentProviders, TestHelper.ShortStringHelper, propertyEditorCollection), logger, umbracoVersion, Options.Create(globalSettings), "installedPackages.config"), new PackageInstallation( - new PackageDataInstallation(logger, fileService.Value, macroService.Value, localizationService.Value, dataTypeService.Value, entityService.Value, contentTypeService.Value, contentService.Value, propertyEditorCollection, scopeProvider, shortStringHelper, Microsoft.Extensions.Options.Options.Create(globalSettings), localizedTextService.Value), + new PackageDataInstallation(logger, fileService.Value, macroService.Value, localizationService.Value, dataTypeService.Value, entityService.Value, contentTypeService.Value, contentService.Value, propertyEditorCollection, scopeProvider, shortStringHelper, Options.Create(globalSettings), localizedTextService.Value), new PackageFileInstallation(compiledPackageXmlParser, ioHelper, new ProfilingLogger(logger, new TestProfiler())), compiledPackageXmlParser, Mock.Of(), Mock.Of(x => x.ApplicationPhysicalPath == ioHelper.MapPath("~"))), diff --git a/src/Umbraco.Web.BackOffice/Controllers/BackOfficeAssetsController.cs b/src/Umbraco.Web.BackOffice/Controllers/BackOfficeAssetsController.cs index 92df3b0fad..5ee7cf31cf 100644 --- a/src/Umbraco.Web.BackOffice/Controllers/BackOfficeAssetsController.cs +++ b/src/Umbraco.Web.BackOffice/Controllers/BackOfficeAssetsController.cs @@ -21,7 +21,7 @@ namespace Umbraco.Web.BackOffice.Controllers public BackOfficeAssetsController(IIOHelper ioHelper, IHostingEnvironment hostingEnvironment, ILogger logger, IOptions globalSettings) { - _jsLibFileSystem = new PhysicalFileSystem(ioHelper, hostingEnvironment, logger, globalSettings.Value.Path + Path.DirectorySeparatorChar + "lib"); + _jsLibFileSystem = new PhysicalFileSystem(ioHelper, hostingEnvironment, logger, globalSettings.Value.UmbracoPath + Path.DirectorySeparatorChar + "lib"); } [HttpGet] diff --git a/src/Umbraco.Web.BackOffice/Controllers/BackOfficeController.cs b/src/Umbraco.Web.BackOffice/Controllers/BackOfficeController.cs index 6cf92d9100..e3480984fd 100644 --- a/src/Umbraco.Web.BackOffice/Controllers/BackOfficeController.cs +++ b/src/Umbraco.Web.BackOffice/Controllers/BackOfficeController.cs @@ -78,7 +78,7 @@ namespace Umbraco.Web.BackOffice.Controllers [HttpGet] public async Task Default() { - var viewPath = Path.Combine(_globalSettings.Path , Constants.Web.Mvc.BackOfficeArea, nameof(Default) + ".cshtml") + var viewPath = Path.Combine(_globalSettings.UmbracoPath , Constants.Web.Mvc.BackOfficeArea, nameof(Default) + ".cshtml") .Replace("\\", "/"); // convert to forward slashes since it's a virtual path return await RenderDefaultOrProcessExternalLoginAsync( @@ -156,7 +156,7 @@ namespace Umbraco.Web.BackOffice.Controllers [StatusCodeResult(System.Net.HttpStatusCode.ServiceUnavailable)] public async Task AuthorizeUpgrade() { - var viewPath = Path.Combine(_globalSettings.Path, Umbraco.Core.Constants.Web.Mvc.BackOfficeArea, nameof(AuthorizeUpgrade) + ".cshtml"); + var viewPath = Path.Combine(_globalSettings.UmbracoPath, Umbraco.Core.Constants.Web.Mvc.BackOfficeArea, nameof(AuthorizeUpgrade) + ".cshtml"); return await RenderDefaultOrProcessExternalLoginAsync( //The default view to render when there is no external login info or errors () => View(viewPath), diff --git a/src/Umbraco.Web.BackOffice/Controllers/PreviewController.cs b/src/Umbraco.Web.BackOffice/Controllers/PreviewController.cs index 7b370b1824..3878eb9b14 100644 --- a/src/Umbraco.Web.BackOffice/Controllers/PreviewController.cs +++ b/src/Umbraco.Web.BackOffice/Controllers/PreviewController.cs @@ -77,7 +77,7 @@ namespace Umbraco.Web.BackOffice.Controllers } var viewPath = Path.Combine( - _globalSettings.Path, + _globalSettings.UmbracoPath, Constants.Web.Mvc.BackOfficeArea, ControllerExtensions.GetControllerName() + ".cshtml") .Replace("\\", "/"); // convert to forward slashes since it's a virtual path diff --git a/src/Umbraco.Web.Common/AspNetCore/AspNetCoreBackOfficeInfo.cs b/src/Umbraco.Web.Common/AspNetCore/AspNetCoreBackOfficeInfo.cs index 6c83bc5747..6f40800307 100644 --- a/src/Umbraco.Web.Common/AspNetCore/AspNetCoreBackOfficeInfo.cs +++ b/src/Umbraco.Web.Common/AspNetCore/AspNetCoreBackOfficeInfo.cs @@ -13,7 +13,7 @@ namespace Umbraco.Web.Common.AspNetCore public AspNetCoreBackOfficeInfo(GlobalSettings globalSettings) { - GetAbsoluteUrl = globalSettings.Path; + GetAbsoluteUrl = globalSettings.UmbracoPath; } public string GetAbsoluteUrl { get; } // TODO make absolute diff --git a/src/Umbraco.Web.Common/AspNetCore/UmbracoViewPage.cs b/src/Umbraco.Web.Common/AspNetCore/UmbracoViewPage.cs index 776f22eea1..fde3d095fe 100644 --- a/src/Umbraco.Web.Common/AspNetCore/UmbracoViewPage.cs +++ b/src/Umbraco.Web.Common/AspNetCore/UmbracoViewPage.cs @@ -64,7 +64,7 @@ namespace Umbraco.Web.Common.AspNetCore // creating previewBadge markup markupToInject = string.Format(ContentSettings.PreviewBadge, - IOHelper.ResolveUrl(GlobalSettings.Path), + IOHelper.ResolveUrl(GlobalSettings.UmbracoPath), Context.Request.GetEncodedUrl(), UmbracoContext.PublishedRequest.PublishedContent.Id); } diff --git a/src/Umbraco.Web.Common/Install/InstallController.cs b/src/Umbraco.Web.Common/Install/InstallController.cs index d3c0e5e0f3..b5da8eabd4 100644 --- a/src/Umbraco.Web.Common/Install/InstallController.cs +++ b/src/Umbraco.Web.Common/Install/InstallController.cs @@ -78,7 +78,7 @@ namespace Umbraco.Web.Common.Install { case ValidateRequestAttempt.FailedNoPrivileges: case ValidateRequestAttempt.FailedNoContextId: - return Redirect(_globalSettings.Path + "/AuthorizeUpgrade?redir=" + Request.GetEncodedUrl()); + return Redirect(_globalSettings.UmbracoPath + "/AuthorizeUpgrade?redir=" + Request.GetEncodedUrl()); } } @@ -86,7 +86,7 @@ namespace Umbraco.Web.Common.Install ViewData.SetInstallApiBaseUrl(Url.GetInstallerApiUrl()); // get the base umbraco folder - var baseFolder = _hostingEnvironment.ToAbsolute(_globalSettings.Path); + var baseFolder = _hostingEnvironment.ToAbsolute(_globalSettings.UmbracoPath); ViewData.SetUmbracoBaseFolder(baseFolder); ViewData.SetUmbracoVersion(_umbracoVersion.SemanticVersion); diff --git a/src/Umbraco.Web.Common/Security/WebSecurity.cs b/src/Umbraco.Web.Common/Security/WebSecurity.cs index 0f3831b94c..b822adf656 100644 --- a/src/Umbraco.Web.Common/Security/WebSecurity.cs +++ b/src/Umbraco.Web.Common/Security/WebSecurity.cs @@ -115,7 +115,7 @@ namespace Umbraco.Web.Common.Security private static bool RequestIsInUmbracoApplication(IHttpContextAccessor httpContextAccessor, GlobalSettings globalSettings, IHostingEnvironment hostingEnvironment) { - return httpContextAccessor.GetRequiredHttpContext().Request.Path.ToString().IndexOf(hostingEnvironment.ToAbsolute(globalSettings.Path), StringComparison.InvariantCultureIgnoreCase) > -1; + return httpContextAccessor.GetRequiredHttpContext().Request.Path.ToString().IndexOf(hostingEnvironment.ToAbsolute(globalSettings.UmbracoPath), StringComparison.InvariantCultureIgnoreCase) > -1; } } }