(options =>
{
diff --git a/src/Umbraco.Web.UI/config/BackOfficeTours/getting-started.json b/src/Umbraco.Web.UI/config/BackOfficeTours/getting-started.json
index d0aa1a1c34..3709e703d9 100644
--- a/src/Umbraco.Web.UI/config/BackOfficeTours/getting-started.json
+++ b/src/Umbraco.Web.UI/config/BackOfficeTours/getting-started.json
@@ -188,27 +188,21 @@
"event": "click"
},
{
- "element": "[data-element~='editor-data-type-picker']",
+ "element": "[ng-controller*='Umbraco.Editors.DataTypePickerController'] [data-element='editor-data-type-picker']",
"elementPreventClick": true,
"title": "Editor picker",
- "content": "In the editor picker dialog we can pick one of the many built-in editors.
You can choose from preconfigured data types (Reuse) or create a new configuration (Available editors).
"
+ "content": "In the editor picker dialog we can pick one of the many built-in editors.
"
},
{
- "element": "[data-element~='editor-data-type-picker'] [data-element='editor-Textarea']",
+ "element": "[data-element~='editor-data-type-picker'] [data-element='datatype-Textarea']",
"title": "Select editor",
"content": "Select the Textarea editor. This will add a textarea to the Welcome Text property.",
"event": "click"
},
{
- "element": "[data-element~='editor-data-type-settings']",
- "elementPreventClick": true,
+ "element": "[data-element='editor-data-type-picker'] [data-element='datatypeconfig-Textarea'] > a",
"title": "Editor settings",
- "content": "Each property editor can have individual settings. For the textarea editor you can set a character limit but in this case it is not needed."
- },
- {
- "element": "[data-element~='editor-data-type-settings'] [data-element='button-submit']",
- "title": "Save editor",
- "content": "Click Submit to save the changes.",
+ "content": "Each property editor can have individual settings. For the textarea editor you can set a character limit but in this case it is not needed.",
"event": "click"
},
{
@@ -317,7 +311,8 @@
"content": "To see all our templates click the small triangle to the left of the templates node.
",
"event": "click",
"eventElement": "#tree [data-element='tree-item-templates'] [data-element='tree-item-expand']",
- "view": "templatetree"
+ "view": "templatetree",
+ "skipStepIfVisible": "#tree [data-element='tree-item-templates'] > div > button[data-element=tree-item-expand].icon-navigation-down"
},
{
"element": "#tree [data-element='tree-item-templates'] [data-element='tree-item-Home Page']",
diff --git a/src/Umbraco.Web/Composing/Current.cs b/src/Umbraco.Web/Composing/Current.cs
index 7ce8890018..68120947df 100644
--- a/src/Umbraco.Web/Composing/Current.cs
+++ b/src/Umbraco.Web/Composing/Current.cs
@@ -11,7 +11,7 @@ using Umbraco.Core.Composing;
using Umbraco.Core.Configuration;
using Umbraco.Core.Hosting;
using Umbraco.Core.Mapping;
-using Umbraco.Core.Net;
+using Umbraco.Core.Templates;
using Umbraco.Net;
using Umbraco.Core.PackageActions;
using Umbraco.Core.Packaging;
diff --git a/src/Umbraco.Web/Editors/AuthenticationController.cs b/src/Umbraco.Web/Editors/AuthenticationController.cs
index 8ae88b62ef..fe8a93f67a 100644
--- a/src/Umbraco.Web/Editors/AuthenticationController.cs
+++ b/src/Umbraco.Web/Editors/AuthenticationController.cs
@@ -386,30 +386,7 @@ namespace Umbraco.Web.Editors
}
- ///
- /// Logs the current user out
- ///
- ///
- [ClearAngularAntiForgeryToken]
- [ValidateAngularAntiForgeryToken]
- public HttpResponseMessage PostLogout()
- {
- var owinContext = Request.TryGetOwinContext().Result;
-
- owinContext.Authentication.SignOut(
- Core.Constants.Security.BackOfficeAuthenticationType,
- Core.Constants.Security.BackOfficeExternalAuthenticationType);
-
- Logger.Info("User {UserName} from IP address {RemoteIpAddress} has logged out", User.Identity == null ? "UNKNOWN" : User.Identity.Name, owinContext.Request.RemoteIpAddress);
-
- if (UserManager != null)
- {
- int.TryParse(User.Identity.GetUserId(), out var userId);
- UserManager.RaiseLogoutSuccessEvent(User, userId);
- }
-
- return Request.CreateResponse(HttpStatusCode.OK);
- }
+
// NOTE: This has been migrated to netcore, but in netcore we don't explicitly set the principal in this method, that's done in ConfigureUmbracoBackOfficeCookieOptions so don't worry about that
private HttpResponseMessage SetPrincipalAndReturnUserDetail(IUser user, IPrincipal principal)
diff --git a/src/Umbraco.Web/Runtime/WebInitialComposer.cs b/src/Umbraco.Web/Runtime/WebInitialComposer.cs
index 99a0c12339..e2f6334a11 100644
--- a/src/Umbraco.Web/Runtime/WebInitialComposer.cs
+++ b/src/Umbraco.Web/Runtime/WebInitialComposer.cs
@@ -4,7 +4,7 @@ using Microsoft.AspNet.SignalR;
using Umbraco.Core;
using Umbraco.Core.Composing;
using Umbraco.Core.Dictionary;
-using Umbraco.Core.Net;
+using Umbraco.Core.Templates;
using Umbraco.Core.Runtime;
using Umbraco.Core.Security;
using Umbraco.Core.Services;
@@ -41,8 +41,6 @@ namespace Umbraco.Web.Runtime
composition.RegisterUnique();
composition.RegisterUnique();
- composition.RegisterUnique();
-
// register the umbraco helper - this is Transient! very important!
// also, if not level.Run, we cannot really use the helper (during upgrade...)
diff --git a/src/Umbraco.Web/Security/AppBuilderExtensions.cs b/src/Umbraco.Web/Security/AppBuilderExtensions.cs
index f766a142d9..d95c19bedf 100644
--- a/src/Umbraco.Web/Security/AppBuilderExtensions.cs
+++ b/src/Umbraco.Web/Security/AppBuilderExtensions.cs
@@ -29,228 +29,6 @@ namespace Umbraco.Web.Security
///