diff --git a/10/umbraco-cms/SUMMARY.md b/10/umbraco-cms/SUMMARY.md
index 4e8bfc314b0..4cc0fe0f171 100644
--- a/10/umbraco-cms/SUMMARY.md
+++ b/10/umbraco-cms/SUMMARY.md
@@ -63,7 +63,7 @@
* [Multi Url Picker](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/multi-url-picker.md)
* [Multinode Treepicker](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/multinode-treepicker.md)
* [Repeatable Textstrings](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/multiple-textbox.md)
- * [Nested Content](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/nested-content.md)
+ * [Nested Content (Legacy)](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/nested-content.md)
* [Numeric](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/numeric.md)
* [Radiobutton List](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/radiobutton-list.md)
* [Slider](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/slider.md)
@@ -78,7 +78,7 @@
* [Build a Custom View for a Block](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/block-editor/build-custom-view-for-blocks.md)
* [Configuring Block Editor Label Properties](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/block-editor/label-property-configuration.md)
* [Dropdown](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/dropdown/README.md)
- * [Grid Layout](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/README.md)
+ * [Grid Layout (Legacy)](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/README.md)
* [What Are Grid Layouts?](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/what-are-grid-layouts.md)
* [Configuring The Grid Layout](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/configuring-the-grid-layout-datatype.md)
* [Settings And Styling](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/settings-and-styles.md)
diff --git a/12/umbraco-cms/SUMMARY.md b/12/umbraco-cms/SUMMARY.md
index b7be69d56a4..91d5742c546 100644
--- a/12/umbraco-cms/SUMMARY.md
+++ b/12/umbraco-cms/SUMMARY.md
@@ -63,7 +63,7 @@
* [Multi Url Picker](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/multi-url-picker.md)
* [Multinode Treepicker](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/multinode-treepicker.md)
* [Repeatable Textstrings](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/multiple-textbox.md)
- * [Nested Content](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/nested-content.md)
+ * [Nested Content (Legacy)](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/nested-content.md)
* [Numeric](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/numeric.md)
* [Radiobutton List](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/radiobutton-list.md)
* [Slider](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/slider.md)
@@ -78,7 +78,7 @@
* [Build a Custom View for a Block](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/block-editor/build-custom-view-for-blocks.md)
* [Configuring Block Editor Label Properties](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/block-editor/label-property-configuration.md)
* [Dropdown](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/dropdown/README.md)
- * [Grid Layout](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/README.md)
+ * [Grid Layout (Legacy)](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/README.md)
* [What Are Grid Layouts?](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/what-are-grid-layouts.md)
* [Configuring The Grid Layout](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/configuring-the-grid-layout-datatype.md)
* [Settings And Styling](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/settings-and-styles.md)
diff --git a/13/umbraco-cms/SUMMARY.md b/13/umbraco-cms/SUMMARY.md
index 5dd1675f840..49b914d565c 100644
--- a/13/umbraco-cms/SUMMARY.md
+++ b/13/umbraco-cms/SUMMARY.md
@@ -77,7 +77,7 @@
* [Build a Custom View for a Block](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/block-editor/build-custom-view-for-blocks.md)
* [Configuring Block Editor Label Properties](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/block-editor/label-property-configuration.md)
* [Dropdown](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/dropdown/README.md)
- * [Grid Layout](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/README.md)
+ * [Grid Layout (Legacy)](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/README.md)
* [What Are Grid Layouts?](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/what-are-grid-layouts.md)
* [Configuring The Grid Layout](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/configuring-the-grid-layout-datatype.md)
* [Settings And Styling](fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/settings-and-styles.md)
diff --git a/14/umbraco-cms/extending-cms/property-editors/package-manifest.md b/14/umbraco-cms/extending-cms/property-editors/package-manifest.md
index 8e2eb24d752..1b6b461df48 100644
--- a/14/umbraco-cms/extending-cms/property-editors/package-manifest.md
+++ b/14/umbraco-cms/extending-cms/property-editors/package-manifest.md
@@ -247,7 +247,7 @@ Similar to how the `propertyEditors` array defines one or more property editors,
}
```
-However the default grid editors are already configured. You can see the [Grid Editors page](../../fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/grid-editors.md) for more information on grid editors.
+However the default grid editors are already configured.
## Parameter Editors
diff --git a/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/block-editor/block-grid-editor.md b/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/block-editor/block-grid-editor.md
index 64a087c2d54..1aa54aa5bf1 100644
--- a/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/block-editor/block-grid-editor.md
+++ b/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/block-editor/block-grid-editor.md
@@ -39,7 +39,7 @@ The Data Type editor allows you to configure the following properties:
* **Amount** - Sets the minimum and/or the maximum number of Blocks that should be allowed at the root of the layout.
* **Live editing mode** - Enabling this option will allow you to see the changes as you are editing them.
* **Editor width** - Overwrites the width of the property editor. This field takes any valid CSS value for "max-width". For example: 100% or 800px.
-* **Grid Columns** - Define the number of columns in your grid layout. The default is 12 columns.
+* **Grid Columns** - Define the number of columns in your Block Grid. The default is 12 columns.
* **Layout Stylesheet** - Replaces the built-in Layout Stylesheet. Additionally, you can retrieve the default layout stylesheet to use as a base for your own inspiration or for writing your own stylesheet.
* **Create Button Label** - Overwrites the label on the Create button.
@@ -280,7 +280,7 @@ If you like to use the Default Layout Stylesheet, you must copy the stylesheet t
```
{% hint style="info" %}
-A set of built-in Partial Views are responsible for rendering the Blocks and Areas in a grid layout. If you want to tweak or change the way the grid layout is rendered, you can use the built-in Partial Views as a template:
+A set of built-in Partial Views are responsible for rendering the Blocks and Areas in a Block Grid. If you want to tweak or change the way the Block Grid is rendered, you can use the built-in Partial Views as a template:
1. Clone the views from `GitHub`. They can be found in `/src/Umbraco.Cms.StaticAssets/Views/Partials/blockgrid/`
2. Copy the cloned views to the local folder `Views/Partials/blockgrid/`
diff --git a/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/README.md b/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/README.md
deleted file mode 100644
index ab779d9174d..00000000000
--- a/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/README.md
+++ /dev/null
@@ -1,45 +0,0 @@
-# Grid Layout
-
-{% hint style="info" %}
-We highly recommend that you use the [Block Grid](../block-editor/block-grid-editor.md) instead.
-
-The Grid Layout has been marked as obsolete and development on the property editor has been discontinued. It will be removed as a core property editor with the release of Umbraco 14, planned for Summer 2024.
-{% endhint %}
-
-`Returns: JSON`
-
-Gives editors a grid layout editor which allows them to insert different types of content in a predefined layout.
-
-
-
-## [What are Grid Layouts](what-are-grid-layouts.md)
-
-The basic concept of Grid Layouts.
-
-## [Configuring the Grid Layout data type](configuring-the-grid-layout-datatype.md)
-
-How to setup your Grid Layout data type.
-
-## [Settings and styling](settings-and-styles.md)
-
-Add settings and styles.
-
-## [Grid editors](grid-editors.md)
-
-Explanation of default Grid editors and how to customise them.
-
-## [Build your own Grid editor](build-your-own-editor.md)
-
-Build your own Grid editor from the ground up.
-
-## [Render Grid in template](render-grid-in-template.md)
-
-Render content created with Grid Layouts in your templates.
-
-## [Grid Layout Best Practices](grid-layout-best-practices.md)
-
-General guidelines when contemplating Grid Layout implementation.
-
-## [Add values programmatically](add-value-programmatically.md)
-
-Example how to add values programmatically.
diff --git a/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/add-value-programmatically.md b/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/add-value-programmatically.md
deleted file mode 100644
index e5593016743..00000000000
--- a/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/add-value-programmatically.md
+++ /dev/null
@@ -1,96 +0,0 @@
-# Add Values Programmatically
-
-## Configuration
-
-For this example, the default grid configuration has been used.
-
-
-
-## Set value
-
-See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](../../../../../reference/management/services/contentservice/).
-
-```csharp
-@using Newtonsoft.Json
-@using Umbraco.Cms.Core.Services;
-@using Umbraco.Cms.Core.Models;
-@inject IContentService Services;
-@{
- // Get access to ContentService
- var contentService = Services;
-
- // Create a variable for the GUID of the page you want to update
- var guid = Guid.Parse("32e60db4-1283-4caa-9645-f2153f9888ef");
-
- // Get the page using the GUID you've defined
- var content = contentService.GetById(guid); // ID of your page
-
- // Create a variable for the grid value with the 1 one column layout and add a headline
- var gridValue = new GridValue
- {
- Name = "1 column layout",
- Sections = new List
- {
- new GridValue.GridSection
- {
- Rows = new List
- {
- new GridValue.GridRow
- {
- Name = "Headline",
- Id = new Guid(),
- Areas = new List
- {
- new GridValue.GridArea
- {
- Controls = new List
- {
- new GridValue.GridControl
- {
- Editor = new GridValue.GridEditor
- {
- Alias = "headline"
- },
- Value = "Our Umbraco"
- }
- }
- }
-
- }
- }
- }
-
- }
- }
- };
-
- // Serialize the grid value
- var serializedGridValue = JsonConvert.SerializeObject(gridValue);
-
- // Set the value of the property with alias 'body'
- content.SetValue("body", serializedGridValue);
-
- // Save the change
- contentService.Save(content);
-}
-```
-
-Although the use of a GUID is preferable, you can also use the numeric ID to get the page:
-
-```csharp
-@{
- // Get the page using it's id
- var content = contentService.GetById(1234);
-}
-```
-
-If Modelsbuilder is enabled you can get the alias of the desired property without using a magic string:
-
-```csharp
-@using Umbraco.Cms.Core.PublishedCache;
-@inject IPublishedSnapshotAccessor _publishedSnapshotAccessor;
-@{
- // Set the value of the property with alias 'body'
- content.SetValue(Home.GetModelPropertyType(_publishedSnapshotAccessor, x => x.Body).Alias, serializedGridValue);
-}
-```
diff --git a/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/build-your-own-editor.md b/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/build-your-own-editor.md
deleted file mode 100644
index a8814ad600d..00000000000
--- a/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/build-your-own-editor.md
+++ /dev/null
@@ -1,130 +0,0 @@
-# Build your own editor
-
-{% hint style="info" %}
-The samples in this section have not been verified against the latest version of Umbraco.
-
-A new Property Editor called the **Block based Grid editor** will soon be available as a substitute for the existing Grid Layout editor. For more information, see the [Block based Grid editor for Umbraco CMS](https://umbraco.com/products/roadmap/) in the Umbraco Roadmap.
-{% endhint %}
-
-Create a file in `/App_Plugins/yourpackage/editor.html` and add the following to the editor.html file:
-
-```html
-
-```
-
-Save the file and add an editor to the `/App_Plugins/yourpackage/package.manifest` file:
-
-```json
-{
- "gridEditors": [
- {
- "name": "Code",
- "alias": "code",
- "view": "/App_Plugins/yourpackage/editor.html",
- "icon": "icon-code",
- "config": {
- "color": "red",
- "text-align": "right"
- }
- }
- ]
-}
-```
-
-Add a new file: `/App_Plugins/yourpackage/editor.cshtml` - this file will handle rendering the entered data - this path is done by convention so:
-
-- view: 'editor' => `views/partials/grid/editors/editor.cshtml`
-- view: '/App_Plugins/path.html' => `/App_Plugins/path.cshtml`
-
-If you wish to use something entirely different you can give the editor a separate `render` value which follow the same conventions.
-
-```json
-{
- "name": "Code",
- "alias": "code",
- "view": "/App_Plugins/yourpackage/editor.html",
- "render": "/App_Plugins/yourpackage/custom-render.cshtml"
-}
-```
-
-## Grid editor controller
-
-If you are building something slightly more complex then a text area, you will need to add a controller to the grid editor view. So first add a ng-controller attribute to the grid editor html - this works like building a property editor:
-
-```html
-
-
-
-```
-
-To wire up a controller to this view, create the file `/App_Plugins/yourpackage/editor.controller.js` and add a standard angular controller declaration:
-
-```js
-angular.module("umbraco").controller("my.custom.grideditorcontroller", function ($scope) {
- $scope.control.value = "my new value";
-});
-```
-
-Finally, we need to tell Umbraco to load this JavaScript controller when the Umbraco application boots. This is like building a property editor. Add your JavaScript (and css dependencies) in the `package.manifest` file in the `/yourpackage` folder, and configure it to load your controller file.
-
-```json
-{
- "gridEditors": [
- {
- "name": "Code",
- "alias": "code",
- "view": "/App_Plugins/yourpackage/editor.html",
- "icon": "icon-code",
- "config": {
- "color": "red",
- "text-align": "right"
- }
- }
- ],
- javascript:[
- "/App_Plugins/yourpackage/editor.controller.js"
- ]
-}
-```
-
-So to summarize, to create a custom grid editor from scratch, you will need to:
-
-- Create a grid editor view `.html` file
-- Create a grid render `.cshtml` file
-- Create a grid editor controller `.js` file
-- Create a `package.manifest` to register the editor and make Umbraco load needed files
-
-This process tries to be as close to building property editors as currently possible.
-
-### Rendering grid editor content
-
-Next add this c# to the .cshtml file:
-
-```csharp
-@inherits Umbraco.Web.Mvc.UmbracoViewPage
-
@Model
-```
-
-When rendering the .cshtml file will receive a dynamic model with the raw data of the editor:
-
-```json
-{
- "value": "What ever value entered into the textarea",
- "editor": {
- "name": "Code",
- "alias": "code",
- "view": "/App_Plugins/yourpackage/editor.html",
- "icon": "icon-code",
- "config": {
- "color": "red",
- "text-align": "right"
- }
- }
-}
-```
-
-So you can now use these value to build your razor output like so:
-
-```html
-
@Model.value
-```
diff --git a/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/configuring-the-grid-layout-datatype.md b/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/configuring-the-grid-layout-datatype.md
deleted file mode 100644
index b6a24ac3c55..00000000000
--- a/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/configuring-the-grid-layout-datatype.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# Configuring The Grid Layout
-
-A grid layout contains multiple configuration options to allow developers to tailor the grid to a very specific site design. Configuring the layout can be divided into 2 overall parts:
-
-## Layouts
-
-A layout is the general grid "container", it contains one or more sections which content editors can use to insert preconfigured **rows**. There are 2 main usage scenarios of layouts:
-
-1. A single column layout which to the content editor will act like a full page canvas to insert elements on
-2. A multiple column layout with a main content body, and one or more sidebar columns to insert lists or other sidebar widgets on.
-
-
-
-You can however configure as many layouts and layout sections as you wish, each section in the layout must be given a width in columns, so editors gets an accurate preview of their layout.
-
-
-
-## Row configurations
-
-A row in the grid editor contains one or more cells, which divide the row into areas where editors can enter content. So a row is merely a container of areas to insert content into. When you add a new row, you are asked to give it a name, then define cells inside the row by clicking the "+" icon. Each cell has a default width set to 4, but by clicking the inserted cell you can control its width.
-
-It is possible to setup configurable attributes(class, rel, href) and inline styling on rows.
-
-
-
-You can add as many cells as you like. If they overflow the total width of the row, they will be arranged after each other horizontally as you'd expect in a grid system.
-
-
-
-Each cell can by default contain any type of editor such as textstring editors, imagespicker, embedded media or Umbraco macros. To override this behavior, uncheck the **allow all editors** option and you can specify which editors will be available for the row.
diff --git a/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/grid-editors.md b/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/grid-editors.md
deleted file mode 100644
index 659af964d4c..00000000000
--- a/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/grid-editors.md
+++ /dev/null
@@ -1,198 +0,0 @@
-# Grid Editors
-
-A grid editor is the component responsible for getting data into the grid - that could be a text field or a media picker. They're built in the same way as a property editor thus consists of 3 parts:
-
-* .html view file
-* .js controller
-* .cshtml server side renderer
-
-The view is what the editor sees, the controller handles how it acts and the cshtml determines how the entered data is rendered in the template.
-
-## Default configuration
-
-Grid editors are specified in `/config/grid.editors.config.js`. By default this file doesn't exist, so before you attempt to extend the configuration, make sure to create it first.
-
-The default items in the config file are as follows below. It is recommended that you copy all of editors below before you add more, in case some of them are already in use.
-
-If you don't add the editors below to this config file then they won't be available in your grid editors, even if there are existing grid datatypes already using these editors.
-
-{% hint style="info" %}
-You will need to restart your site before any new customizations become available to use.
-{% endhint %}
-
-```json
-[
- {
- "name": "Rich text editor",
- "alias": "rte",
- "view": "rte",
- "icon": "icon-article"
- },
- {
- "name": "Image",
- "nameTemplate": "{{ value && value.udi ? (value.udi | ncNodeName) : '' }}",
- "alias": "media",
- "view": "media",
- "icon": "icon-picture"
- },
- {
- "name": "Macro",
- "nameTemplate": "{{ value && value.macroAlias ? value.macroAlias : '' }}",
- "alias": "macro",
- "view": "macro",
- "icon": "icon-settings-alt"
- },
- {
- "name": "Embed",
- "alias": "embed",
- "view": "embed",
- "icon": "icon-movie-alt"
- },
- {
- "name": "Headline",
- "nameTemplate": "{{ value }}",
- "alias": "headline",
- "view": "textstring",
- "icon": "icon-coin",
- "config": {
- "style": "font-size: 36px; line-height: 45px; font-weight: bold",
- "markup": "
"
- }
- }
-]
-```
-
-### Default Grid editors
-
-Grid editor are created in the JSON format and each editor is an object like so:
-
-```json
-{
- "name": "Rich text editor",
- "alias": "rte",
- "view": "rte",
- "icon": "icon-article"
-}
-```
-
-### Custom Grid editors
-
-You can customize the built-in editors to tailor the grid to your need.
-
-#### package.manifest
-
-It is recommended that you define custom editors in a `package.manifest` file (not in the config file described above) like so:
-
-```json
-{
- "gridEditors":
- [
- {
- "name": "Rich text editor",
- "alias": "rte",
- "view": "rte",
- "icon": "icon-article"
- }
- ]
-}
-```
-
-While the root JSON element of `/config/grid.editors.config.js` is an array of grid editors, `package.manifest` files start with a JSON object with a number of different properties - one of them being `gridEditors`.
-
-The package manifest should be placed in a folder inside the `/App_Plugins/` folder - for instance `/App_Plugins/{YourPackageName}/package.manifest`. You can define as many grid editors you want and it can be done over multiple manifests so you can use grid editors from packages etc. With the `package.manifest` file in place, Umbraco will automatically pick it up during startup.
-
-You can read more about `package.manifest` files in general at the [Package Manifest](../../../../../extending/property-editors/package-manifest.md) page.
-
-**Grid editor configuration**
-
-For a grid editor, the required values are:
-
-* `name`: The name of the editor
-* `alias`: Unique alias of the editor
-* `icon`: Icon shown to the editor, uses same icon classes as the rest of
-* `view` the view defines the editor used to enter a value. By default Umbraco will look in `/umbraco/views/propertyeditors/grid/editors` for a html view to use - but you can pass in your own path
-
-{% hint style="info" %}
-You can also add a name template for generating grid item labels using the syntax `{{ value.propertyAlias }}`.
-
-* If you would like to include the index position in the label, you can use `{{$index}}`.
-* If your editor links to a content, media or member node, you can use the Angular filter `{{ value.udi | ncNodeName }}` to show the node name rather than the node ID.
-* If your editor is a rich text editor, you can use the Angular filter `{{ value | ncRichText }}` to show the unformatted text.
-{% endhint %}
-
-The built-in views you can use are:
-
-* `textstring`
-* `rte`
-* `embed`
-* `macro`
-* `media`
-
-In most cases you will either use the textstring or media view, or built your own from scratch. The textstring and media editors come with some additional configuration to make it quick to customise these.
-
-**Sample textstring config**
-
-```json
-{
- "name": "Headline",
- "alias": "headline",
- "view": "textstring",
- "icon": "icon-coin",
- "config": {
- "style": "font-size: 36px; line-height: 45px; font-weight: bold",
- "markup": "
#value#
"
- }
-}
-```
-
-In this sample, the `config.style` value is applied to the editor so users can see an accurate preview in the backoffice. This will be applied as as inline styling to the textarea in the backoffice.
-
-The `config.markup` is the string rendered server side in your template. `#value#`will be replaced with the actual value
-
-**Sample media config**
-
-```json
-{
- "name": "Square Image",
- "alias": "squareImage",
- "view": "media",
- "icon": "icon-picture",
- "config": {
- "size": {
- "height": 200,
- "width": 200
- }
- }
-}
-```
-
-In this sample `config.size` will resize the image according to `height` and `width`. The above example will result in a rendered image that is 200x200 pixels no matter the size of the uploaded image. If the ratio of the size differs from the uploaded image it is possible to set a focal point that determines how the image should be cropped.
-
-
-
-**Sample macro config**
-
-```json
-{
- "name": "Your Custom Macro",
- "alias": "yourCustomMacroGridEditor",
- "view": "macro",
- "icon": "icon-smiley",
- "config": {
- "macroAlias": "AliasOfYourMacro"
- }
-}
-```
-
-In this sample a new option will appear in the `Choose type of content` with direct access to the macro.
diff --git a/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/grid-layout-best-practices.md b/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/grid-layout-best-practices.md
deleted file mode 100644
index 748584ab086..00000000000
--- a/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/grid-layout-best-practices.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# Grid layout best practices
-
-_The grid layout editor offers non-technical editors a more visual editing environment to layout content pages and enter content of many different kinds._
-
-The editor offers many configuration options, and as a website implementor, you could be tempted to use the grid for nearly every kind of content entry - this is however not encouraged.
-
-To help developers determine when to use the grid layout, we've outlined the 2 major use-cases below.
-
-## 1. As a RTE Replacement
-
-The grid should primarily be used to replace content entry in a rich text editor (RTE). Where editors before would struggle with aligning images, lists and text or using tables inside the editor to layout content in columns.
-
-The grid solves this scenario, giving editors predefined layouts and editors to enter content. They do not have to worry about how the content is rendered, since everything is stored in a very semantic format passing on that responsibility to the developer implementing the website.
-
-## 2. Managing widgets
-
-Another common scenario the grid layout editor supports are managing and inserting widgets on a page. Using the grid, editors can pick pre-made components, either text, images, embedded elements or macros and insert them in a sidebar on the page.
-
-This could replace various setups involving content pickers, repeatable content editors and other kinds of collections of content nodes and macros.
-
-### Limitations
-
-With the above usage scenarios in mind, consider the grids limitations. First of all, all content entered into the grid is stored as a single property value on the content node, as a big JSON object. This means that as soon as the values are stored in the database, there is no managed API to drill into the grid content and target specific cell content. A grid layout is not a recommended storage of reusable content - it wasn't designed for this scenario. If you wish to reuse content in multiple pages, it is still recommended that you store these pieces of content as separate content nodes, so they can be stored, cached and queried as usual.
-
-### Customisation
-
-Keep all customisation in the `/App_Plugins/` folder. This makes it easier to share across multiple projects and ensures that nothing is lost in an update process.
-
-### Keep it basic
-
-The grid cannot solve every problem, neither was it meant to. It absolutely shines when configured correctly and designed to solve well-defined editor tasks, like entering content in a pre-defined layout and preconfigured options.
-If you put a standard grid editor on every page, expecting editors to do magic, you will be disappointed - and so will your editor.
-
-So keep the use cases basic, spend time to configure and tune the grid in detail, this will truly make your editors love you.
diff --git a/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/render-grid-in-template.md b/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/render-grid-in-template.md
deleted file mode 100644
index 46ed3e81a9f..00000000000
--- a/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/render-grid-in-template.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Render grid in a template
-
-## Using @Html.GetGridHtml
-
-To render a property based on the grid inside a template you should use the HtmlHelper extension:
-
-```csharp
-@Html.GetGridHtml(Model, "propertyAlias")
-```
-
-This will render the grid item with the alias "propertyAlias" from the current page models' content.
-
-This will by default use the view `/views/partials/grid/bootstrap3.cshtml` you can also use other provided grid template rendering files - for example, the built-in bootstrap2.cshtml view by overloading this helper:
-
-```csharp
-@Html.GetGridHtml(Model, "propertyAlias", "bootstrap3")
-```
-
-You can create your own custom grid rendering file for your favorite or custom grid framework implementation. Tip: copy one of the existing files as a starting point. By convention, if you create your `mycustomrenderer.cshtml` file in `/views/partials/grid` you can render the grid property like so:
-
-```csharp
-@Html.GetGridHtml(Model, "propertyAlias", "mycustomrenderer")
-```
-
-Possible paths where you can add the custom Grid layout views:
-
-```none
-/Views/grid/mycustomrenderer.cshtml
-/Views/Shared/grid/mycustomrenderer.cshtml
-/Views/Partials/grid/mycustomrenderer.cshtml
-/Views/MacroPartials/grid/mycustomrenderer.cshtml
-/Views/Render/grid/mycustomrenderer.cshtml
-/Views/Shared/grid/mycustomrenderer.cshtml
-/Pages/Shared/grid/mycustomrenderer.cshtml
-```
diff --git a/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/settings-and-styles.md b/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/settings-and-styles.md
deleted file mode 100644
index b9796b85ce6..00000000000
--- a/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/settings-and-styles.md
+++ /dev/null
@@ -1,180 +0,0 @@
-# Settings And Styling
-
-A grid layout can also expose custom settings - such as data-attributes or styling options - on each cell or row. This allows editors to use a friendly UI to add configuration values to grid elements. When custom settings and styles are applied, they will by default be included in the grid html as either html attributes or inline styles.
-
-
-
-These settings and styles must be configured by developers when setting up the grid layout data type.
-
-## Configuring a custom setting or style
-
-To add a setting, click the edit settings link. This will expand a dialog showing you the raw configuration data. This data is in the JSON format and will only save if it's valid JSON.
-
-The settings data could look like this, with an object for each setting:
-
-```json
-[
- {
- "label": "Class",
- "description": "Set a css class",
- "key": "class",
- "view": "textstring",
- "modifier": "col-sm-{0}",
- "applyTo": "row|cell"
- }
-]
-```
-
-The different values are:
-
-* `label` : Field name displayed in the content editor UI
-* `description` : Descriptive text displayed in the content editor UI to guide the user
-* `key` : The key the entered setting value will be stored under.
-* `view` : The editor used to enter a setting value with.
-* `prevalues` : For views that need predefined values, e.g. the radiobuttonlist view.
-* `modifier (optional)` : A string formatter to modify the output of the editor to prepend or append extra values.
-* `applyTo (optional)` : States whether the setting can be used on a cell or a row. If either not present or empty, the setting will be shown both on Rows and Cells.
-
-**label** and **description** are straight-forward.
-
-**key** defines the alias the configuration is stored under and by default the alias of the attribute will also be the attribute on the rendered html element. In the example above any value entered in this settings editor will be rendered in the grid html as:
-
-```html
-
-```
-
-By changing the key of the setting you can modify the `
` element's attributes like `class`, `title`, `id` or custom `data-*` attributes.
-
-**view** the view defines the editor used to enter a value. By default Umbraco comes with a collection of prevalue editors:
-
-* `textstring`
-* `textarea`
-* `radiobuttonlist`
-* `mediapicker`
-* `imagepicker`
-* `boolean`
-* `treepicker`
-* `treesource`
-* `number`
-* `multivalues`
-
-Alternatively you can also pass in a path to a custom view like "/App\_Plugins/grid/editors/view.html"
-
-**prevalues** is for views that need predefined values, e.g. the radiobuttonlist view. Prevalues are defined as strings in an array:
-
-```json
-"prevalues": [
- "value_1",
- "value_2",
- "value_3"
-]
-```
-
-and will translate in to three different options where each string will become a radiobutton. The strings represent the value of the options.
-
-Prevalues can also be defined as an object of label/value allowing to have a displayed label instead of showing the actual underlying value. You can even mix and match these and use both label/value prevalues and string prevalues in the same configuration:
-
-```json
-"prevalues": [
- {
- "label": "Value one",
- "value": "value_1"
- },
- {
- "label": "Value two",
- "value": "value_2"
- },
- "value_3"
-]
-```
-
-**modifier** is a basic way to prepend, append or wrap the value from the editor in a string. This is especially useful when working with custom styles which often requires additional values to function. For instance if you want to set a background image you can get an image path from the image picker view. But in order for it to work with css it has to be wrapped in `url()`. In that case you set the **modifier** to `url({0})` which means that `{0}` is replaced with the editor value.
-
-**applyTo** defines what this setting can be applied to. It should be either **row** or **cell** as a string.
-
-A JSON object can also be used if you need a more specific configuration. A JSON configuration could look like this:
-
-```json
-"applyTo": {
- "row": "Headline,Article",
- "cell": "4,8,6"
-}
-```
-
-This would ensure the setting can only be used on rows named **Article** or **Headline**, or on cells sized: **4**, **8** or **6**. If it should only apply to cells you can remove the row property. If it should apply to all rows you can specify it by having the row property with null or an empty string as value.
-
-### Sample settings
-
-There are many ways to combine these, here are some samples:
-
-#### Set a background image style
-
-```json
-{
- "label": "Background image",
- "description": "Choose an image",
- "key": "background-image",
- "view": "imagepicker",
- "modifier": "url('{0}')"
-}
-```
-
-#### Set a title setting
-
-```json
-{
- "label": "Title",
- "description": "Set a title on this element",
- "key": "title",
- "view": "textstring"
-}
-```
-
-#### Set a data-custom setting
-
-```json
-{
- "label": "Custom data",
- "description": "Set the custom data on this element",
- "key": "data-custom",
- "view": "radiobuttonlist",
- "prevalues": [
- "value_1",
- "value_2",
- "value_3"
- ]
-}
-```
-
-### Multiple settings and styles
-
-You can add multiple settings and styles configurations on a data type. This is done by creating a new setting or style object. Remember to separate the objects with a comma.
-
-#### Adding multiple settings
-
-```json
-[
- {
- "label": "Class",
- "description": "Set a class on this element",
- "key": "class",
- "view": "textstring"
- },
- {
- "label": "Title",
- "description": "Set a title on this element",
- "key": "title",
- "view": "textstring"
- },
- {
- "label": "Custom data",
- "description": "Set the custom data on this element",
- "key": "data-custom",
- "view": "textstring"
- }
-]
-```
-
-### Full-width settings and styles
-
-It is possible to use settings and styles to add full-width background-images, background-colors and so forth. Make sure the surrounding _section_ is full-width (12 columns by default) and the _rows_ inside it will automatically become full-width.
diff --git a/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/what-are-grid-layouts.md b/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/what-are-grid-layouts.md
deleted file mode 100644
index 4a9c8290d38..00000000000
--- a/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/what-are-grid-layouts.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# What Are Grid Layouts?
-
-To understand how the grid layout editor works, we must first understand the structure of the grid layouts.
-
-Grid layouts consists of two main areas that need to be configured, _grid layout area_ and _grid rows_.
-
-## Grid Layout
-
-The _layout area_ is where the overall page layout is defined. _Layout areas_ are divided in to _layout sections_ e.g. a sidebar section and content section. The size of the _layout sections_ is defined in columns. For a full-width content area use max number of columns (12 for Bootstrap 3). Each _layout section_ contains one or more _rows_.
-
-
-
-### Grid Rows
-
-Grid _rows_ is where the actual content goes. Each row is divided into _cells_ that contain the property editors. The size of the cells is defined in columns. Unlike the _layouts sections_ it is possible to add more _cells_ than the max number of columns - they will stack as they should in a grid system.
-
-
diff --git a/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/media-picker.md b/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/media-picker.md
deleted file mode 100644
index 70604f5b98a..00000000000
--- a/14/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/media-picker.md
+++ /dev/null
@@ -1,131 +0,0 @@
-# Media Picker (Legacy)
-
-{% hint style="info" %}
-We highly recommend that you use the [Media Picker](media-picker-3.md) instead.
-
-This updated property contains more customizable features, and we recommend using this over the Media Picker, which is also marked as the _old_ version of the picker.
-{% endhint %}
-
-`Alias: Umbraco.MediaPicker`
-
-`Returns: IEnumerable` or `IPublishedContent`
-
-This property editors returns a single item if the "Pick multiple items" Data Type setting is disabled or a collection if it is enabled.
-
-## Data Type Definition Example
-
-
-
-### Ignore user start nodes
-
-Use **Settings** to overrule user permissions, to enable any user of this property to pick any Media Item of the choosen Start node.
-
-When this setting is enabled, a user who doesn't normally have access to the media selected as "Start Node" (/Design in this case), can access the media when using this particular Media Picker. If no Start node has been defined for this property any content can be viewed and selected of this property.
-
-## Content Example
-
-
-
-## MVC View Example
-
-### Multiple enabled without Modelsbuilder
-
-```csharp
-@{
- var typedMultiMediaPicker = Model.Value>("sliders");
- foreach (var item in typedMultiMediaPicker)
- {
-
- }
-}
-```
-
-### Multiple enabled with Modelsbuilder
-
-```csharp
-@{
- var typedMultiMediaPicker = Model.Sliders;
- foreach (var item in typedMultiMediaPicker)
- {
-
- }
-}
-```
-
-## Multiple disabled without Modelsbuilder
-
-```csharp
-@{
- var typedMediaPickerSingle = Model.Value("featuredBanner");
- if (typedMediaPickerSingle != null)
- {
-
@typedMediaPickerSingle.Url()
-
- }
-}
-```
-
-## Multiple disabled with Modelsbuilder
-
-```csharp
-@{
- var typedMediaPickerSingle = Model.FeaturedBanner;
- if (typedMediaPickerSingle is Image image)
- {
-
@image.Url()
-
- }
-}
-```
-
-## Add values programmatically
-
-See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](../../../../reference/management/services/contentservice/).
-
-```csharp
-@using Umbraco.Cms.Core;
-@using Umbraco.Cms.Core.Services;
-@inject IContentService Services;
-@{
- // Get access to ContentService
- var contentService = Services;
-
- // Create a variable for the GUID of the page you want to update
- var guid = Guid.Parse("32e60db4-1283-4caa-9645-f2153f9888ef");
-
- // Get the page using the GUID you've defined
- var content = contentService.GetById(guid); // ID of your page
-
- // Get the media you want to assign to the media picker
- var media = Umbraco.Media("bca8d5fa-de0a-4f2b-9520-02118d8329a8");
-
- // Create an Udi of the media
- var udi = Udi.Create(Constants.UdiEntityType.Media, media.Key);
-
- // Set the value of the property with alias 'featuredBanner'.
- content.SetValue("featuredBanner", udi.ToString());
-
- // Save the change
- contentService.Save(content);
-}
-```
-
-Although the use of a GUID is preferable, you can also use the numeric ID to get the page:
-
-```csharp
-@{
- // Get the page using it's id
- var content = contentService.GetById(1234);
-}
-```
-
-If Modelsbuilder is enabled you can get the alias of the desired property without using a magic string:
-
-```csharp
-@using Umbraco.Cms.Core.PublishedCache;
-@inject IPublishedSnapshotAccessor _publishedSnapshotAccessor;
-@{
- // Set the value of the property with alias 'featuredBanner'
- content.SetValue(Home.GetModelPropertyType(_publishedSnapshotAccessor, x => x.FeaturedBanner).Alias, udi.ToString());
-}
-```
diff --git a/14/umbraco-cms/fundamentals/data/data-types/README.md b/14/umbraco-cms/fundamentals/data/data-types/README.md
index fedf316c6c0..6254610ce31 100644
--- a/14/umbraco-cms/fundamentals/data/data-types/README.md
+++ b/14/umbraco-cms/fundamentals/data/data-types/README.md
@@ -8,7 +8,7 @@ _A Data Type defines the type of input for a property. So when adding a property
## What is a Data Type?
-A Data Type can be something basic (textstring, number, true/false,...) or it can be more complex (multi node tree picker, image cropper, Grid Layout).
+A Data Type can be something basic such as TextString, Number, True/False and so on. Or it can be more complex such as Multi Node Tree Picker, Image Cropper, Block Grid and so on.
The Data Type references a Property Editor and if the Property Editor has settings these are configured on the Data Type. This means you can have multiple Data Types referencing the same Property Editor.
diff --git a/14/umbraco-cms/fundamentals/design/rendering-content.md b/14/umbraco-cms/fundamentals/design/rendering-content.md
index 752f41c341f..a9663813a3c 100644
--- a/14/umbraco-cms/fundamentals/design/rendering-content.md
+++ b/14/umbraco-cms/fundamentals/design/rendering-content.md
@@ -32,10 +32,6 @@ To use the `` as the data return type, add the `@using Microsoft.A
```
-### Working with the grid
-
-To render the content from the Grid, see the [Render Grid in Template](../backoffice/property-editors/built-in-umbraco-property-editors/grid-layout/render-grid-in-template.md#render-grid-in-template) article.
-
### Using fall-back methods
The `.Value()` method has a number of optional parameters that support scenarios where we want to "fall-back" to some other content.
diff --git a/14/umbraco-cms/reference/content-delivery-api/README.md b/14/umbraco-cms/reference/content-delivery-api/README.md
index 6705b4ed296..aa9aad047e3 100644
--- a/14/umbraco-cms/reference/content-delivery-api/README.md
+++ b/14/umbraco-cms/reference/content-delivery-api/README.md
@@ -659,10 +659,6 @@ As a result, lifting protection from a content item requires an additional step
There are certain limitations associated with some of the built-in property editors in Umbraco. Let's go through these below:
-#### Grid Layout (legacy)
-
-The Legacy Grid in Umbraco is supported to a certain extent. However, keep in mind that it may not be suitable for headless content scenarios. Instead, we recommend using the Block Grid property editor.
-
#### Rich Text Editor
The Delivery API is not going to support the rendering of Macros within the Rich Text Editor. Therefore, any Macros included in the content will not be executed or output when retrieving content through the API.
diff --git a/14/umbraco-cms/tutorials/members-registration-and-login.md b/14/umbraco-cms/tutorials/members-registration-and-login.md
index 0d7986cf5fa..5a19d5fa75c 100644
--- a/14/umbraco-cms/tutorials/members-registration-and-login.md
+++ b/14/umbraco-cms/tutorials/members-registration-and-login.md
@@ -38,7 +38,7 @@ Since the Register and Login were created as macro partials, you will have corre
## Include the Macros and Partials in Content and Templates
-Halfway there! Next, navigate to your Content section. Since we created Register and Login partials as macro partials, we can paste them into a Richtext Editor. Create a new page that is using this editor, give it a name (e.g. Login/Signup), and in any RTE or Grid layouts you have on the page, insert a Macro.
+Halfway there! Next, navigate to your Content section. Since we created Register and Login partials as macro partials, we can paste them into a Richtext Editor. Create a new page that is using this editor. Then give it a name (for example Login/Signup). Do the same in any Rich Text Editor or Grid Editors you have on the page, insert a Macro.
