Merge remote-tracking branch 'origin/v13/dev' into v14/dev

# Conflicts:
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs
#	tests/Umbraco.Tests.AcceptanceTest/package-lock.json
#	version.json
This commit is contained in:
Bjarke Berg
2023-11-28 15:12:34 +01:00
100 changed files with 1364 additions and 652 deletions

View File

@@ -3,6 +3,7 @@
<RootNamespace>Umbraco.Cms.Web.UI</RootNamespace>
<IsPackable>false</IsPackable>
<EnablePackageValidation>false</EnablePackageValidation>
<ManagePackageVersionsCentrally>false</ManagePackageVersionsCentrally>
</PropertyGroup>
<Import Project="..\Umbraco.Cms.Targets\buildTransitive\Umbraco.Cms.Targets.props" />

View File

@@ -45,13 +45,9 @@
<body ng-class="{'touch':touchDevice, 'emptySection':emptySection, 'umb-drawer-is-visible':drawer.show, 'umb-tour-is-visible': tour.show, 'tabbing-active':tabbingActive}" ng-controller="Umbraco.MainController" id="umbracoMainPageBody">
<noscript>
<div class="flex flex-wrap flex-column items-center justify-center" style="height: 100%">
<h1 class="h3">
<span style="width: 30px; height: 30px; vertical-align: text-bottom" class="flex-inline">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 315.89 315.89" fill="#3544b1">
<path d="M0,157.74A157.95,157.95,0,1,1,158,315.89,157.95,157.95,0,0,1,0,157.74Zm154.74,54.09a155.41,155.41,0,0,1-36.5-3.29,27.92,27.92,0,0,1-19.94-16q-5.35-12.34-5.21-38.1a243,243,0,0,1,1.69-26.84q1.55-13,3.09-21.46l1.07-5.59a2,2,0,0,0,0-.49,3.2,3.2,0,0,0-2.65-3.17L75.92,93.67h-.44a3.19,3.19,0,0,0-3.11,2.48c-.35,1.31-.56,2.27-1.17,5.38-1.16,6-2.24,11.85-3.43,20.38a264.17,264.17,0,0,0-2.3,27.94,145.24,145.24,0,0,0,0,19.57q.72,25.94,8.9,41.42t27.72,22.3q19.53,6.81,54.43,6.66h2.91q34.94.15,54.41-6.66t27.71-22.3q8.17-15.53,8.91-41.42a145.24,145.24,0,0,0,0-19.57,266.84,266.84,0,0,0-2.3-27.94c-1.2-8.44-2.27-14.26-3.44-20.38-.61-3.11-.81-4.07-1.16-5.38a3.21,3.21,0,0,0-3.12-2.48h-.52l-20.38,3.18a3.2,3.2,0,0,0-2.68,3.17,4,4,0,0,0,0,.49l1.08,5.59q1.55,8.48,3.12,21.46a245.68,245.68,0,0,1,1.65,26.84q.27,25.69-5.21,38.07a27.9,27.9,0,0,1-19.76,16.07,155.19,155.19,0,0,1-36.48,3.29Z" />
</svg>
</span>
Umbraco
<h1 class="h3" style="display: inline-flex; align-items: center; gap: 10px">
<img aria-hidden="true" alt="logo" src="~/umbraco/assets/img/application/logo.svg" style="width: 30px" />
<span>Umbraco</span>
</h1>
<p>For full functionality of Umbraco CMS it is necessary to enable JavaScript.</p>
<p>Here are the <a href="https://www.enable-javascript.com/" target="_blank" rel="noopener" style="text-decoration: underline;">instructions how to enable JavaScript in your web browser</a>.</p>
@@ -113,6 +109,7 @@
<umb-editors ng-show="infiniteMode"></umb-editors>
<umb-login ng-if="login.show"
is-timed-out="login.isTimedOut"
on-login="hideLoginScreen()">
</umb-login>
</umb-backoffice-icon-registry>

View File

@@ -16,7 +16,7 @@
<body ng-class="{loading:installer.loading}" ng-controller="Umbraco.InstallerController" id="umbracoInstallPageBody">
<img src="assets/img/application/umbraco_logomark_white.svg" width="32" height="32" alt="Umbraco" draggable="false" id="logo" />
<img src="assets/img/application/logo_white.svg" aria-hidden="true" width="91" height="91" alt="Umbraco" draggable="false" id="logo" />
<umb-loader position="bottom"
class="umb-installer-loader"

View File

@@ -1,76 +1,80 @@
@using System.Globalization
@using Microsoft.AspNetCore.Routing
@using Microsoft.Extensions.Options;
@using Umbraco.Cms.Core
@using Umbraco.Cms.Core.Configuration.Models
@using Umbraco.Cms.Core.Hosting
@using Umbraco.Cms.Core.Mail
@using Umbraco.Cms.Web.BackOffice.Controllers
@using Umbraco.Cms.Web.BackOffice.Security
@using Umbraco.Extensions
@inject IOptions<ContentSettings> ContentSettings
@inject IOptions<SecuritySettings> SecuritySettings
@inject IEmailSender EmailSender
@inject IHostingEnvironment HostingEnvironment
@inject IOptions<GlobalSettings> GlobalSettings
@inject IBackOfficeExternalLoginProviders ExternalLogins
@inject LinkGenerator LinkGenerator
@{
var backOfficePath = GlobalSettings.Value.GetBackOfficePath(HostingEnvironment);
var loginLogoImage = ContentSettings.Value.LoginLogoImage;
var loginBackgroundImage = ContentSettings.Value.LoginBackgroundImage;
var usernameIsEmail = SecuritySettings.Value.UsernameIsEmail;
var allowUserInvite = EmailSender.CanSendRequiredEmail();
var allowPasswordReset = SecuritySettings.Value.AllowPasswordReset && EmailSender.CanSendRequiredEmail();
var disableLocalLogin = ExternalLogins.HasDenyLocalLogin();
var externalLoginsUrl = LinkGenerator.GetPathByAction(nameof(BackOfficeController.ExternalLogin), ControllerExtensions.GetControllerName<BackOfficeController>(), new { area = Constants.Web.Mvc.BackOfficeArea });
var externalLoginProviders = await ExternalLogins.GetBackOfficeProvidersAsync();
Layout = null;
}
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
<!doctype html>
<html lang="en">
<head>
<base href="@ViewData.GetUmbracoBaseFolder()/" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!DOCTYPE html>
<html lang="@CultureInfo.CurrentCulture.Name.ToLowerInvariant()">
<head>
<meta charset="UTF-8"/>
<base href="@backOfficePath.EnsureEndsWith('/')"/>
<link rel="icon" type="image/svg+xml" href="~/umbraco/login/favicon.svg"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Umbraco</title>
<link rel="stylesheet" href="~/umbraco/login/style.css" asp-append-version="true" />
<script type="module" src="~/umbraco/login/external.js" asp-append-version="true"></script>
<script type="module" src="~/umbraco/login/index.js" asp-append-version="true"></script>
<style>
body {
margin: 0;
padding: 0;
}
</style>
</head>
<title>Install Umbraco</title>
<link rel="stylesheet" href="assets/css/installer.min.css" />
<link rel="stylesheet" href="lib/nouislider/nouislider.min.css" />
</head>
<body class="uui-font uui-text" style="margin: 0; padding: 0; overflow: hidden">
<umb-backoffice-icon-registry>
<umb-auth
return-url="@backOfficePath"
logo-image="@loginLogoImage"
background-image="@loginBackgroundImage"
username-is-email="@usernameIsEmail"
allow-user-invite="@allowUserInvite"
allow-password-reset="@allowPasswordReset"
disable-local-login="@disableLocalLogin">
@foreach (var provider in externalLoginProviders)
{
<umb-external-login-provider
slot="external"
display-name="@provider.AuthenticationScheme.DisplayName"
provider-name="@provider.ExternalLoginProvider.AuthenticationType"
icon="@provider.ExternalLoginProvider.Options.Icon"
external-login-url="@externalLoginsUrl"
button-look="@provider.ExternalLoginProvider.Options.ButtonLook.ToString().ToLowerInvariant()"
button-color="@provider.ExternalLoginProvider.Options.ButtonColor.ToString().ToLowerInvariant()"
custom-view="@provider.ExternalLoginProvider.Options.CustomBackOfficeView">
</umb-external-login-provider>
}
</umb-auth>
</umb-backoffice-icon-registry>
</body>
<body ng-class="{loading:installer.loading}" ng-controller="Umbraco.InstallerController" id="umbracoInstallPageBody">
<img src="assets/img/application/logo_white.svg" aria-hidden="true" width="91" height="91" alt="Umbraco" draggable="false" id="logo" />
<umb-loader position="bottom"
class="umb-installer-loader"
ng-if="installer.loading"
ng-style="{'width': installer.progress}">
</umb-loader>
<div id="overlay" ng-cloak ng-animate="'fade'" ng-show="installer.done"></div>
<div id="installer"
ng-cloak
ng-animate="'fade'"
ng-show="installer.configuring">
<div id="contentwrapper" ng-if="installer.current" ng-switch on="installer.current.view">
<div ng-switch-when="ysod">
<h1>A server error occurred</h1>
<p>This is most likely due to an error during application startup</p>
<iframe id="ysod" title="Error details"></iframe>
</div>
<div ng-switch-default>
<div ng-include="installer.current.view"></div>
</div>
</div>
</div>
<div ng-cloak ng-animate="'fade'" id="fact" class="absolute-center clearfix" ng-show="installer.fact">
<h2>Did you know</h2>
<p ng-bind-html="installer.fact"></p>
</div>
<h3 ng-cloak ng-animate="'fade'" id="feedback" ng-show="installer.feedback">{{installer.feedback}}</h3>
<div id="missinglazyload" style="display: none;">
<h3>There has been a problem with the build.</h3>
<p>This might be because you could be offline or on a slow connection. Please try the following steps</p>
<ol>
<li>Make sure you have <a href="https://nodejs.org" target="_blank">Node.js</a> installed.</li>
<li>Open command prompt and cd to \src\Umbraco.Web.UI.Client.</li>
<li>Check to see if \src\Umbraco.Web.UI.Client\node_modules folder exists (this could be hidden); if so, delete it.</li>
<li>Run npm ci; if successfull the node_modules folder should be created in the Umbraco.Web.UI.Client directory.</li>
<li>Run \build\build.ps1.</li>
</ol>
</div>
<script type="text/javascript">
var Umbraco = {};
Umbraco.Sys = {};
Umbraco.Sys.ServerVariables = {
"installApiBaseUrl": "@ViewData.GetInstallApiBaseUrl()",
"umbracoBaseUrl": "@ViewData.GetUmbracoBaseFolder()",
"application": {
version: "@ViewData.GetUmbracoVersion()?.Major"
}
};
</script>
<script src="lib/lazyload-js/LazyLoad.min.js"></script>
<script src="js/install.loader.min.js"></script>
</body>
</html>