diff --git a/src/Umbraco.Community.Sustainability.TestSite.14.x/Umbraco.Community.Sustainability.TestSite.14.x.csproj b/src/Umbraco.Community.Sustainability.TestSite.14.x/Umbraco.Community.Sustainability.TestSite.14.x.csproj
index 0317dfc..f6ef9a7 100644
--- a/src/Umbraco.Community.Sustainability.TestSite.14.x/Umbraco.Community.Sustainability.TestSite.14.x.csproj
+++ b/src/Umbraco.Community.Sustainability.TestSite.14.x/Umbraco.Community.Sustainability.TestSite.14.x.csproj
@@ -5,9 +5,9 @@
enable
Umbraco.Community.Sustainability.TestSite._14.x
-
+
-
+
diff --git a/src/Umbraco.Community.Sustainability.TestSite.14.x/appsettings-schema.Umbraco.Cms.json b/src/Umbraco.Community.Sustainability.TestSite.14.x/appsettings-schema.Umbraco.Cms.json
index 6276d28..1cd2e64 100755
--- a/src/Umbraco.Community.Sustainability.TestSite.14.x/appsettings-schema.Umbraco.Cms.json
+++ b/src/Umbraco.Community.Sustainability.TestSite.14.x/appsettings-schema.Umbraco.Cms.json
@@ -81,9 +81,6 @@
"Unattended": {
"$ref": "#/definitions/UnattendedSettings"
},
- "RichTextEditor": {
- "$ref": "#/definitions/RichTextEditorSettings"
- },
"BasicAuth": {
"$ref": "#/definitions/BasicAuthSettings"
},
@@ -708,11 +705,6 @@
}
]
},
- "SanitizeTinyMce": {
- "type": "boolean",
- "description": "Gets or sets a value indicating whether TinyMCE scripting sanitization should be applied.\n ",
- "default": false
- },
"DistributedLockingReadLockDefaultTimeout": {
"type": "string",
"description": "Gets or sets a value representing the maximum time to wait whilst attempting to obtain a distributed read lock.\n ",
@@ -1416,11 +1408,17 @@
},
"AuthorizeCallbackPathName": {
"type": "string",
- "description": "The path to use for authorization callback. Will be appended to the BackOfficeHost.\n ",
- "default": "/umbraco"
+ "description": "Gets or sets the path to use for authorization callback. Will be appended to the BackOfficeHost.\n ",
+ "default": "/umbraco/oauth_complete"
+ },
+ "AuthorizeCallbackLogoutPathName": {
+ "type": "string",
+ "description": "Gets or sets the path to use for authorization callback logout. Will be appended to the BackOfficeHost.\n ",
+ "default": "/umbraco/logout"
},
"AuthorizeCallbackErrorPathName": {
"type": "string",
+ "description": "Gets or sets the path to use for authorization callback error. Will be appended to the BackOfficeHost.\n ",
"default": "/umbraco/error"
}
}
@@ -1581,83 +1579,6 @@
}
}
},
- "RichTextEditorSettings": {
- "type": "object",
- "properties": {
- "Commands": {
- "type": "array",
- "description": "HTML RichText Editor TinyMCE Commands.\n ",
- "items": {
- "$ref": "#/definitions/RichTextEditorCommand"
- }
- },
- "Plugins": {
- "type": "array",
- "description": "HTML RichText Editor TinyMCE Plugins.\n ",
- "items": {
- "type": "string"
- }
- },
- "CustomConfig": {
- "type": "object",
- "description": "HTML RichText Editor TinyMCE Custom Config.\n ",
- "additionalProperties": {
- "type": "string"
- }
- },
- "ValidElements": {
- "type": "string",
- "default": "+a[id|style|rel|data-id|data-udi|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/-b[class|style],-em/-i[class|style],-strike[class|style],-s[class|style],-u[class|style],#p[id|style|dir|class|align],-ol[class|reversed|start|style|type],-ul[class|style],-li[class|style],br[class],img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border|alt=|title|hspace|vspace|width|height|align|umbracoorgwidth|umbracoorgheight|onresize|onresizestart|onresizeend|rel|data-id],-sub[style|class],-sup[style|class],-blockquote[dir|style|class],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],thead[id|class],tfoot[id|class],#td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope],-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],caption[id|lang|dir|class|style],-div[id|dir|class|align|style],-span[class|align|style],-pre[class|align|style],address[class|align|style],-h1[id|dir|class|align|style],-h2[id|dir|class|align|style],-h3[id|dir|class|align|style],-h4[id|dir|class|align|style],-h5[id|dir|class|align|style],-h6[id|style|dir|class|align|style],hr[class|style],small[class|style],dd[id|class|title|style|dir|lang],dl[id|class|title|style|dir|lang],dt[id|class|title|style|dir|lang],object[class|id|width|height|codebase|*],param[name|value|_value|class],embed[type|width|height|src|class|*],map[name|class],area[shape|coords|href|alt|target|class],bdo[class],button[class],iframe[*],figure,figcaption,cite,video[*],audio[*],picture[*],source[*],canvas[*]"
- },
- "InvalidElements": {
- "type": "string",
- "description": "Invalid HTML elements for RichText Editor.\n ",
- "default": "font"
- },
- "CloudApiKey": {
- "type": [
- "null",
- "string"
- ],
- "description": "Cloud API Key for TinyMCE. This is required to use TinyMCE premium plugins.\n "
- }
- }
- },
- "RichTextEditorCommand": {
- "type": "object",
- "required": [
- "Alias",
- "Name",
- "Mode"
- ],
- "properties": {
- "Alias": {
- "type": "string",
- "minLength": 1
- },
- "Name": {
- "type": "string",
- "minLength": 1
- },
- "Mode": {
- "$ref": "#/definitions/RichTextEditorCommandMode"
- }
- }
- },
- "RichTextEditorCommandMode": {
- "type": "string",
- "description": "",
- "x-enumNames": [
- "Insert",
- "Selection",
- "All"
- ],
- "enum": [
- "Insert",
- "Selection",
- "All"
- ]
- },
"BasicAuthSettings": {
"type": "object",
"description": "Typed configuration options for basic authentication settings.",
diff --git a/src/Umbraco.Community.Sustainability.TestSite.14.x/umbraco-package-schema.json b/src/Umbraco.Community.Sustainability.TestSite.14.x/umbraco-package-schema.json
index 5244cf5..dc68c6a 100755
--- a/src/Umbraco.Community.Sustainability.TestSite.14.x/umbraco-package-schema.json
+++ b/src/Umbraco.Community.Sustainability.TestSite.14.x/umbraco-package-schema.json
@@ -7,6 +7,18 @@
"object"
]
},
+ "BlockEntryShowContentEditConditionConfig": {
+ "properties": {
+ "alias": {
+ "const": "Umb.Condition.BlockEntryShowContentEdit",
+ "type": "string"
+ }
+ },
+ "required": [
+ "alias"
+ ],
+ "type": "object"
+ },
"BlockWorkspaceHasSettingsConditionConfig": {
"properties": {
"alias": {
@@ -61,6 +73,9 @@
{
"$ref": "#/definitions/SwitchConditionConfig"
},
+ {
+ "$ref": "#/definitions/BlockEntryShowContentEditConditionConfig"
+ },
{
"$ref": "#/definitions/BlockWorkspaceHasSettingsConditionConfig"
},
@@ -3273,6 +3288,106 @@
],
"type": "object"
},
+ "ManifestSearchProvider": {
+ "description": "Represents an search provider that can be used to search.",
+ "properties": {
+ "alias": {
+ "description": "The alias of the extension, ensure it is unique",
+ "type": "string"
+ },
+ "api": {
+ "type": "string"
+ },
+ "js": {
+ "description": "The file location of the javascript file to load",
+ "type": "string"
+ },
+ "kind": {
+ "description": "The kind of the extension, used to group extensions together",
+ "examples": [
+ "button"
+ ]
+ },
+ "meta": {
+ "$ref": "#/definitions/MetaSearchProvider"
+ },
+ "name": {
+ "description": "The friendly name of the extension",
+ "type": "string"
+ },
+ "type": {
+ "const": "searchProvider",
+ "description": "The type of extension such as dashboard etc...",
+ "type": "string"
+ },
+ "weight": {
+ "description": "Extensions such as dashboards are ordered by weight with lower numbers being first in the list",
+ "type": "number"
+ }
+ },
+ "required": [
+ "alias",
+ "name",
+ "type"
+ ],
+ "type": "object"
+ },
+ "ManifestSearchResultItem": {
+ "description": "Represents a search result element.",
+ "properties": {
+ "alias": {
+ "description": "The alias of the extension, ensure it is unique",
+ "type": "string"
+ },
+ "element": {
+ "description": "The file location of the element javascript file to load",
+ "type": "string"
+ },
+ "elementName": {
+ "description": "The HTML web component name to use such as 'my-dashboard'\nNote it is NOT , just the element name.",
+ "type": "string"
+ },
+ "forEntityTypes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "js": {
+ "description": "The file location of the javascript file to load",
+ "type": "string"
+ },
+ "kind": {
+ "description": "The kind of the extension, used to group extensions together",
+ "examples": [
+ "button"
+ ]
+ },
+ "meta": {
+ "description": "This contains properties specific to the type of extension"
+ },
+ "name": {
+ "description": "The friendly name of the extension",
+ "type": "string"
+ },
+ "type": {
+ "const": "searchResultItem",
+ "description": "The type of extension such as dashboard etc...",
+ "type": "string"
+ },
+ "weight": {
+ "description": "Extensions such as dashboards are ordered by weight with lower numbers being first in the list",
+ "type": "number"
+ }
+ },
+ "required": [
+ "alias",
+ "forEntityTypes",
+ "name",
+ "type"
+ ],
+ "type": "object"
+ },
"ManifestSection": {
"properties": {
"alias": {
@@ -3853,28 +3968,25 @@
"$ref": "#/definitions/ManifestAppEntryPoint"
},
{
- "$ref": "#/definitions/ManifestBackofficeEntryPoint"
+ "$ref": "#/definitions/ManifestAuthProvider"
},
{
- "$ref": "#/definitions/ManifestEntryPoint"
+ "$ref": "#/definitions/ManifestBackofficeEntryPoint"
},
{
- "$ref": "#/definitions/ManifestAuthProvider"
+ "$ref": "#/definitions/ManifestBlockEditorCustomView"
},
{
"$ref": "#/definitions/ManifestBundle"
},
- {
- "$ref": "#/definitions/ManifestBlockEditorCustomView"
- },
{
"$ref": "#/definitions/ManifestCollection"
},
{
- "$ref": "#/definitions/ManifestCollectionView"
+ "$ref": "#/definitions/ManifestCollectionAction"
},
{
- "$ref": "#/definitions/ManifestCollectionAction"
+ "$ref": "#/definitions/ManifestCollectionView"
},
{
"$ref": "#/definitions/ManifestCurrentUserAction"
@@ -3939,12 +4051,21 @@
{
"$ref": "#/definitions/ManifestEntityBulkAction"
},
+ {
+ "$ref": "#/definitions/ManifestEntityUserPermission"
+ },
+ {
+ "$ref": "#/definitions/ManifestEntryPoint"
+ },
{
"$ref": "#/definitions/ManifestExternalLoginProvider"
},
{
"$ref": "#/definitions/ManifestGlobalContext"
},
+ {
+ "$ref": "#/definitions/ManifestGranularUserPermission"
+ },
{
"$ref": "#/definitions/ManifestHeaderApp"
},
@@ -3960,6 +4081,9 @@
{
"$ref": "#/definitions/ManifestItemStore"
},
+ {
+ "$ref": "#/definitions/ManifestLocalization"
+ },
{
"$ref": "#/definitions/ManifestMenu"
},
@@ -3990,6 +4114,12 @@
{
"$ref": "#/definitions/ManifestRepository"
},
+ {
+ "$ref": "#/definitions/ManifestSearchProvider"
+ },
+ {
+ "$ref": "#/definitions/ManifestSearchResultItem"
+ },
{
"$ref": "#/definitions/ManifestSection"
},
@@ -4005,9 +4135,6 @@
{
"$ref": "#/definitions/ManifestTinyMcePlugin"
},
- {
- "$ref": "#/definitions/ManifestLocalization"
- },
{
"$ref": "#/definitions/ManifestTreeStore"
},
@@ -4046,12 +4173,6 @@
},
{
"$ref": "#/definitions/ManifestWorkspaceViewContentTypeDesignEditorKind"
- },
- {
- "$ref": "#/definitions/ManifestEntityUserPermission"
- },
- {
- "$ref": "#/definitions/ManifestGranularUserPermission"
}
]
},
@@ -4872,10 +4993,15 @@
"description": "If true, the user will be redirected to the provider's login page immediately.",
"type": "boolean"
},
- "denyLocalLogin": {
- "default": false,
- "description": "If true, the Umbraco backoffice login will be disabled.",
- "type": "boolean"
+ "popupFeatures": {
+ "default": "'width=600,height=600,menubar=no,location=no,resizable=yes,scrollbars=yes,status=no,toolbar=no'",
+ "description": "The features of the popup that is opened when the user logs in.",
+ "type": "string"
+ },
+ "popupTarget": {
+ "default": "'umbracoAuthPopup'",
+ "description": "The target of the popup that is opened when the user logs in.",
+ "type": "string"
}
},
"type": "object"
@@ -5752,6 +5878,15 @@
],
"type": "object"
},
+ "MetaSearchProvider": {
+ "properties": {
+ "label": {
+ "description": "The label of the provider that is shown to the user.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"MetaSection": {
"properties": {
"label": {
@@ -6042,6 +6177,13 @@
"match": {
"description": "Define the section that this extension should be available in",
"type": "string"
+ },
+ "oneOf": {
+ "description": "Define one or more workspaces that this extension should be available in",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"required": [
diff --git a/src/Umbraco.Community.Sustainability/Umbraco.Community.Sustainability.csproj b/src/Umbraco.Community.Sustainability/Umbraco.Community.Sustainability.csproj
index c2e344e..879f588 100644
--- a/src/Umbraco.Community.Sustainability/Umbraco.Community.Sustainability.csproj
+++ b/src/Umbraco.Community.Sustainability/Umbraco.Community.Sustainability.csproj
@@ -32,8 +32,8 @@
-
-
+
+
@@ -46,5 +46,5 @@
\
-
+
diff --git a/src/Umbraco.Community.Sustainability/assets/package-lock.json b/src/Umbraco.Community.Sustainability/assets/package-lock.json
index 604d0b8..9181797 100644
--- a/src/Umbraco.Community.Sustainability/assets/package-lock.json
+++ b/src/Umbraco.Community.Sustainability/assets/package-lock.json
@@ -14,7 +14,7 @@
},
"devDependencies": {
"@hey-api/openapi-ts": "^0.40.0",
- "@umbraco-cms/backoffice": "^14.0.0-rc2",
+ "@umbraco-cms/backoffice": "^14.0.0-rc3",
"typescript": "^5.2.2",
"umbracodegen": "^1.0.0-alpha.5",
"vite": "^5.2.8"
@@ -810,9 +810,9 @@
"peer": true
},
"node_modules/@umbraco-cms/backoffice": {
- "version": "14.0.0-rc2",
- "resolved": "https://www.myget.org/F/umbracoprereleases/npm/@umbraco-cms/backoffice/-/@umbraco-cms/backoffice-14.0.0-rc2.tgz",
- "integrity": "sha1-eLtQ333q4YiaztjRw/EAXw096Os=",
+ "version": "14.0.0-rc3",
+ "resolved": "https://www.myget.org/F/umbracoprereleases/npm/@umbraco-cms/backoffice/-/@umbraco-cms/backoffice-14.0.0-rc3.tgz",
+ "integrity": "sha1-1o69in1E3NSqueAq+IRT3ANWx4U=",
"dev": true,
"engines": {
"node": ">=20.9 <21",
diff --git a/src/Umbraco.Community.Sustainability/assets/package.json b/src/Umbraco.Community.Sustainability/assets/package.json
index 0c539ad..be7d73d 100644
--- a/src/Umbraco.Community.Sustainability/assets/package.json
+++ b/src/Umbraco.Community.Sustainability/assets/package.json
@@ -17,7 +17,7 @@
},
"devDependencies": {
"@hey-api/openapi-ts": "^0.40.0",
- "@umbraco-cms/backoffice": "^14.0.0-rc2",
+ "@umbraco-cms/backoffice": "^14.0.0-rc3",
"typescript": "^5.2.2",
"umbracodegen": "^1.0.0-alpha.5",
"vite": "^5.2.8"