diff --git a/src/Umbraco.Core/Trees/ITree.cs b/src/Umbraco.Core/Trees/ITree.cs
index 567accbd9e..7f7ff816be 100644
--- a/src/Umbraco.Core/Trees/ITree.cs
+++ b/src/Umbraco.Core/Trees/ITree.cs
@@ -3,7 +3,7 @@
// TODO: we don't really use this, it is nice to have the treecontroller, attribute and ApplicationTree streamlined to implement this but it's not used
// leave as internal for now, maybe we'll use in the future, means we could pass around ITree
// TODO: We should make this a thing, a tree should just be an interface *not* a controller
- internal interface ITree
+ public interface ITree
{
///
/// Gets or sets the sort order.
diff --git a/src/Umbraco.Core/Trees/Tree.cs b/src/Umbraco.Core/Trees/Tree.cs
index 4747d2495b..b528443eb1 100644
--- a/src/Umbraco.Core/Trees/Tree.cs
+++ b/src/Umbraco.Core/Trees/Tree.cs
@@ -45,7 +45,7 @@ namespace Umbraco.Web.Trees
///
public Type TreeControllerType { get; }
- internal static string GetRootNodeDisplayName(ITree tree, ILocalizedTextService textService)
+ public static string GetRootNodeDisplayName(ITree tree, ILocalizedTextService textService)
{
var label = $"[{tree.TreeAlias}]";
diff --git a/src/Umbraco.Infrastructure/Install/InstallSteps/StarterKitDownloadStep.cs b/src/Umbraco.Infrastructure/Install/InstallSteps/StarterKitDownloadStep.cs
index d8986cacb7..24133d3be1 100644
--- a/src/Umbraco.Infrastructure/Install/InstallSteps/StarterKitDownloadStep.cs
+++ b/src/Umbraco.Infrastructure/Install/InstallSteps/StarterKitDownloadStep.cs
@@ -7,6 +7,7 @@ using Umbraco.Core.Configuration;
using Umbraco.Core.Models.Packaging;
using Umbraco.Net;
using Umbraco.Web.Install.Models;
+using Umbraco.Web.Security;
namespace Umbraco.Web.Install.InstallSteps
{
@@ -16,16 +17,16 @@ namespace Umbraco.Web.Install.InstallSteps
internal class StarterKitDownloadStep : InstallSetupStep
{
private readonly InstallHelper _installHelper;
- private readonly IUmbracoContextAccessor _umbracoContextAccessor;
+ private readonly IWebSecurity _webSecurity;
private readonly IUmbracoVersion _umbracoVersion;
private readonly IUmbracoApplicationLifetime _umbracoApplicationLifetime;
private readonly IContentService _contentService;
private readonly IPackagingService _packageService;
- public StarterKitDownloadStep(IContentService contentService, IPackagingService packageService, InstallHelper installHelper, IUmbracoContextAccessor umbracoContextAccessor, IUmbracoVersion umbracoVersion, IUmbracoApplicationLifetime umbracoApplicationLifetime)
+ public StarterKitDownloadStep(IContentService contentService, IPackagingService packageService, InstallHelper installHelper, IWebSecurity webSecurity, IUmbracoVersion umbracoVersion, IUmbracoApplicationLifetime umbracoApplicationLifetime)
{
_installHelper = installHelper;
- _umbracoContextAccessor = umbracoContextAccessor;
+ _webSecurity = webSecurity;
_umbracoVersion = umbracoVersion;
_umbracoApplicationLifetime = umbracoApplicationLifetime;
_contentService = contentService;
@@ -66,7 +67,7 @@ namespace Umbraco.Web.Install.InstallSteps
private async Task<(string packageFile, int packageId)> DownloadPackageFilesAsync(Guid kitGuid)
{
//Go get the package file from the package repo
- var packageFile = await _packageService.FetchPackageFileAsync(kitGuid, _umbracoVersion.Current, _umbracoContextAccessor.UmbracoContext.Security.GetUserId().ResultOr(0));
+ var packageFile = await _packageService.FetchPackageFileAsync(kitGuid, _umbracoVersion.Current, _webSecurity.GetUserId().ResultOr(0));
if (packageFile == null) throw new InvalidOperationException("Could not fetch package file " + kitGuid);
//add an entry to the installedPackages.config
@@ -76,7 +77,7 @@ namespace Umbraco.Web.Install.InstallSteps
_packageService.SaveInstalledPackage(packageDefinition);
- _packageService.InstallCompiledPackageFiles(packageDefinition, packageFile, _umbracoContextAccessor.UmbracoContext.Security.GetUserId().ResultOr(-1));
+ _packageService.InstallCompiledPackageFiles(packageDefinition, packageFile, _webSecurity.GetUserId().ResultOr(-1));
return (compiledPackage.PackageFile.Name, packageDefinition.Id);
}
diff --git a/src/Umbraco.Infrastructure/Install/InstallSteps/StarterKitInstallStep.cs b/src/Umbraco.Infrastructure/Install/InstallSteps/StarterKitInstallStep.cs
index 4e14da30b7..daf8255132 100644
--- a/src/Umbraco.Infrastructure/Install/InstallSteps/StarterKitInstallStep.cs
+++ b/src/Umbraco.Infrastructure/Install/InstallSteps/StarterKitInstallStep.cs
@@ -5,6 +5,7 @@ using System.Threading.Tasks;
using Umbraco.Net;
using Umbraco.Core.Services;
using Umbraco.Web.Install.Models;
+using Umbraco.Web.Security;
namespace Umbraco.Web.Install.InstallSteps
{
@@ -14,13 +15,13 @@ namespace Umbraco.Web.Install.InstallSteps
internal class StarterKitInstallStep : InstallSetupStep