Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Site Editor: Add ability to focus only on editing page content #49980

Closed

Conversation

noisysocks
Copy link
Member

@noisysocks noisysocks commented Apr 21, 2023

What?

Requires #50082.

Part of #49404 and #44461.

Adds functionality to the Site Editor that lets you, when editing a page, switch between focusing on editing the page's content versus editing the page's template.

Why?

Adding some separation helps to prevent a very common point of frustration encountered when a user attempts to change something on a specific page but the change is made everywhere.

How?

  • Add breadcrumb and sidebar UI to wp-edit-site that lets the user toggle between focusing on editing the template and focusing on editing the page.
  • Enhance the existing "content locking" functionality in wp-block-editor.
    • Allow templateLock: 'contentOnly' to be provided at the root level via editor settings.
    • Allow explicitly stating which blocks are consisted to be "content" using settings.contentBlockTypes.
    • Allow modification of blocks that are nested within a content block.
  • Various UI affordances.
    • Notifications to nudge the user to edit the template when they click on a locked block.
    • A custom right sidebar for when the focus is on editing the page.
    • Display editable content blocks in List View when a block is content locked.

Testing Instructions

  1. Ensure that you have a primary Navigation menu saved.
  2. Go to Appearance → Editor → Navigation and select a page.
  3. Test the new switching functionality.
  4. Check that navigating to Appearance → Editor → Templates and selecting a template results in the same site editor experience as before (no switching functionality).
  5. Check that the existing templateLock: 'contentOnly' functionality still works by inserting a block pattern that uses it, e.g. this one: https://gist.github.com/richtabor/ddeea41ced691721318649bea8ce9db8

Screenshots or screencast

Kapture.2023-04-21.at.16.14.44.mp4

@noisysocks noisysocks added [Type] Feature New feature to highlight in changelogs. [Feature] Site Editor Related to the overarching Site Editor (formerly "full site editing") labels Apr 21, 2023
@noisysocks noisysocks self-assigned this Apr 21, 2023
@github-actions
Copy link

github-actions bot commented Apr 21, 2023

Size Change: +1.54 kB (0%)

Total Size: 1.37 MB

Filename Size Change
build/block-editor/index.min.js 201 kB +17 B (0%)
build/block-library/index.min.js 204 kB +51 B (0%)
build/date/index.min.js 40.5 kB +44 B (0%)
build/edit-site/index.min.js 66.1 kB +1.29 kB (+2%)
build/edit-site/style-rtl.css 10.3 kB +68 B (+1%)
build/edit-site/style.css 10.3 kB +67 B (+1%)
ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 993 B
build/annotations/index.min.js 2.78 kB
build/api-fetch/index.min.js 2.27 kB
build/autop/index.min.js 2.15 kB
build/blob/index.min.js 483 B
build/block-directory/index.min.js 7.2 kB
build/block-directory/style-rtl.css 1.04 kB
build/block-directory/style.css 1.04 kB
build/block-editor/content-rtl.css 4.17 kB
build/block-editor/content.css 4.17 kB
build/block-editor/default-editor-styles-rtl.css 403 B
build/block-editor/default-editor-styles.css 403 B
build/block-editor/style-rtl.css 15.1 kB
build/block-editor/style.css 15.1 kB
build/block-library/blocks/archives/editor-rtl.css 61 B
build/block-library/blocks/archives/editor.css 60 B
build/block-library/blocks/archives/style-rtl.css 90 B
build/block-library/blocks/archives/style.css 90 B
build/block-library/blocks/audio/editor-rtl.css 150 B
build/block-library/blocks/audio/editor.css 150 B
build/block-library/blocks/audio/style-rtl.css 122 B
build/block-library/blocks/audio/style.css 122 B
build/block-library/blocks/audio/theme-rtl.css 138 B
build/block-library/blocks/audio/theme.css 138 B
build/block-library/blocks/avatar/editor-rtl.css 116 B
build/block-library/blocks/avatar/editor.css 116 B
build/block-library/blocks/avatar/style-rtl.css 91 B
build/block-library/blocks/avatar/style.css 91 B
build/block-library/blocks/block/editor-rtl.css 305 B
build/block-library/blocks/block/editor.css 305 B
build/block-library/blocks/button/editor-rtl.css 587 B
build/block-library/blocks/button/editor.css 587 B
build/block-library/blocks/button/style-rtl.css 628 B
build/block-library/blocks/button/style.css 627 B
build/block-library/blocks/buttons/editor-rtl.css 337 B
build/block-library/blocks/buttons/editor.css 337 B
build/block-library/blocks/buttons/style-rtl.css 332 B
build/block-library/blocks/buttons/style.css 332 B
build/block-library/blocks/calendar/style-rtl.css 239 B
build/block-library/blocks/calendar/style.css 239 B
build/block-library/blocks/categories/editor-rtl.css 113 B
build/block-library/blocks/categories/editor.css 112 B
build/block-library/blocks/categories/style-rtl.css 124 B
build/block-library/blocks/categories/style.css 124 B
build/block-library/blocks/code/editor-rtl.css 53 B
build/block-library/blocks/code/editor.css 53 B
build/block-library/blocks/code/style-rtl.css 121 B
build/block-library/blocks/code/style.css 121 B
build/block-library/blocks/code/theme-rtl.css 124 B
build/block-library/blocks/code/theme.css 124 B
build/block-library/blocks/columns/editor-rtl.css 108 B
build/block-library/blocks/columns/editor.css 108 B
build/block-library/blocks/columns/style-rtl.css 409 B
build/block-library/blocks/columns/style.css 409 B
build/block-library/blocks/comment-author-avatar/editor-rtl.css 125 B
build/block-library/blocks/comment-author-avatar/editor.css 125 B
build/block-library/blocks/comment-content/style-rtl.css 92 B
build/block-library/blocks/comment-content/style.css 92 B
build/block-library/blocks/comment-template/style-rtl.css 199 B
build/block-library/blocks/comment-template/style.css 198 B
build/block-library/blocks/comments-pagination-numbers/editor-rtl.css 123 B
build/block-library/blocks/comments-pagination-numbers/editor.css 121 B
build/block-library/blocks/comments-pagination/editor-rtl.css 222 B
build/block-library/blocks/comments-pagination/editor.css 209 B
build/block-library/blocks/comments-pagination/style-rtl.css 235 B
build/block-library/blocks/comments-pagination/style.css 231 B
build/block-library/blocks/comments-title/editor-rtl.css 75 B
build/block-library/blocks/comments-title/editor.css 75 B
build/block-library/blocks/comments/editor-rtl.css 840 B
build/block-library/blocks/comments/editor.css 839 B
build/block-library/blocks/comments/style-rtl.css 637 B
build/block-library/blocks/comments/style.css 636 B
build/block-library/blocks/cover/editor-rtl.css 647 B
build/block-library/blocks/cover/editor.css 650 B
build/block-library/blocks/cover/style-rtl.css 1.6 kB
build/block-library/blocks/cover/style.css 1.59 kB
build/block-library/blocks/details-summary/editor-rtl.css 65 B
build/block-library/blocks/details-summary/editor.css 65 B
build/block-library/blocks/details-summary/style-rtl.css 61 B
build/block-library/blocks/details-summary/style.css 61 B
build/block-library/blocks/details/style-rtl.css 54 B
build/block-library/blocks/details/style.css 54 B
build/block-library/blocks/embed/editor-rtl.css 293 B
build/block-library/blocks/embed/editor.css 293 B
build/block-library/blocks/embed/style-rtl.css 410 B
build/block-library/blocks/embed/style.css 410 B
build/block-library/blocks/embed/theme-rtl.css 138 B
build/block-library/blocks/embed/theme.css 138 B
build/block-library/blocks/file/editor-rtl.css 300 B
build/block-library/blocks/file/editor.css 300 B
build/block-library/blocks/file/style-rtl.css 269 B
build/block-library/blocks/file/style.css 270 B
build/block-library/blocks/file/view.min.js 353 B
build/block-library/blocks/freeform/editor-rtl.css 2.44 kB
build/block-library/blocks/freeform/editor.css 2.44 kB
build/block-library/blocks/gallery/editor-rtl.css 984 B
build/block-library/blocks/gallery/editor.css 988 B
build/block-library/blocks/gallery/style-rtl.css 1.55 kB
build/block-library/blocks/gallery/style.css 1.55 kB
build/block-library/blocks/gallery/theme-rtl.css 122 B
build/block-library/blocks/gallery/theme.css 122 B
build/block-library/blocks/group/editor-rtl.css 654 B
build/block-library/blocks/group/editor.css 654 B
build/block-library/blocks/group/style-rtl.css 57 B
build/block-library/blocks/group/style.css 57 B
build/block-library/blocks/group/theme-rtl.css 78 B
build/block-library/blocks/group/theme.css 78 B
build/block-library/blocks/heading/style-rtl.css 76 B
build/block-library/blocks/heading/style.css 76 B
build/block-library/blocks/html/editor-rtl.css 340 B
build/block-library/blocks/html/editor.css 341 B
build/block-library/blocks/image/editor-rtl.css 834 B
build/block-library/blocks/image/editor.css 833 B
build/block-library/blocks/image/style-rtl.css 652 B
build/block-library/blocks/image/style.css 652 B
build/block-library/blocks/image/theme-rtl.css 137 B
build/block-library/blocks/image/theme.css 137 B
build/block-library/blocks/latest-comments/style-rtl.css 357 B
build/block-library/blocks/latest-comments/style.css 357 B
build/block-library/blocks/latest-posts/editor-rtl.css 213 B
build/block-library/blocks/latest-posts/editor.css 212 B
build/block-library/blocks/latest-posts/style-rtl.css 478 B
build/block-library/blocks/latest-posts/style.css 478 B
build/block-library/blocks/list/style-rtl.css 88 B
build/block-library/blocks/list/style.css 88 B
build/block-library/blocks/media-text/editor-rtl.css 266 B
build/block-library/blocks/media-text/editor.css 263 B
build/block-library/blocks/media-text/style-rtl.css 507 B
build/block-library/blocks/media-text/style.css 505 B
build/block-library/blocks/more/editor-rtl.css 431 B
build/block-library/blocks/more/editor.css 431 B
build/block-library/blocks/navigation-link/editor-rtl.css 716 B
build/block-library/blocks/navigation-link/editor.css 715 B
build/block-library/blocks/navigation-link/style-rtl.css 115 B
build/block-library/blocks/navigation-link/style.css 115 B
build/block-library/blocks/navigation-submenu/editor-rtl.css 299 B
build/block-library/blocks/navigation-submenu/editor.css 299 B
build/block-library/blocks/navigation/editor-rtl.css 2.13 kB
build/block-library/blocks/navigation/editor.css 2.14 kB
build/block-library/blocks/navigation/style-rtl.css 2.22 kB
build/block-library/blocks/navigation/style.css 2.21 kB
build/block-library/blocks/navigation/view-modal.min.js 2.81 kB
build/block-library/blocks/navigation/view.min.js 447 B
build/block-library/blocks/nextpage/editor-rtl.css 395 B
build/block-library/blocks/nextpage/editor.css 395 B
build/block-library/blocks/page-list/editor-rtl.css 401 B
build/block-library/blocks/page-list/editor.css 401 B
build/block-library/blocks/page-list/style-rtl.css 175 B
build/block-library/blocks/page-list/style.css 175 B
build/block-library/blocks/paragraph/editor-rtl.css 174 B
build/block-library/blocks/paragraph/editor.css 174 B
build/block-library/blocks/paragraph/style-rtl.css 279 B
build/block-library/blocks/paragraph/style.css 281 B
build/block-library/blocks/post-author/style-rtl.css 175 B
build/block-library/blocks/post-author/style.css 176 B
build/block-library/blocks/post-comments-form/editor-rtl.css 96 B
build/block-library/blocks/post-comments-form/editor.css 96 B
build/block-library/blocks/post-comments-form/style-rtl.css 501 B
build/block-library/blocks/post-comments-form/style.css 501 B
build/block-library/blocks/post-date/style-rtl.css 61 B
build/block-library/blocks/post-date/style.css 61 B
build/block-library/blocks/post-excerpt/editor-rtl.css 71 B
build/block-library/blocks/post-excerpt/editor.css 71 B
build/block-library/blocks/post-excerpt/style-rtl.css 141 B
build/block-library/blocks/post-excerpt/style.css 141 B
build/block-library/blocks/post-featured-image/editor-rtl.css 588 B
build/block-library/blocks/post-featured-image/editor.css 586 B
build/block-library/blocks/post-featured-image/style-rtl.css 322 B
build/block-library/blocks/post-featured-image/style.css 322 B
build/block-library/blocks/post-navigation-link/style-rtl.css 153 B
build/block-library/blocks/post-navigation-link/style.css 153 B
build/block-library/blocks/post-template/editor-rtl.css 99 B
build/block-library/blocks/post-template/editor.css 98 B
build/block-library/blocks/post-template/style-rtl.css 281 B
build/block-library/blocks/post-template/style.css 281 B
build/block-library/blocks/post-terms/style-rtl.css 96 B
build/block-library/blocks/post-terms/style.css 96 B
build/block-library/blocks/post-time-to-read/style-rtl.css 69 B
build/block-library/blocks/post-time-to-read/style.css 69 B
build/block-library/blocks/post-title/style-rtl.css 100 B
build/block-library/blocks/post-title/style.css 100 B
build/block-library/blocks/preformatted/style-rtl.css 103 B
build/block-library/blocks/preformatted/style.css 103 B
build/block-library/blocks/pullquote/editor-rtl.css 135 B
build/block-library/blocks/pullquote/editor.css 135 B
build/block-library/blocks/pullquote/style-rtl.css 335 B
build/block-library/blocks/pullquote/style.css 335 B
build/block-library/blocks/pullquote/theme-rtl.css 167 B
build/block-library/blocks/pullquote/theme.css 167 B
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 122 B
build/block-library/blocks/query-pagination-numbers/editor.css 121 B
build/block-library/blocks/query-pagination/editor-rtl.css 221 B
build/block-library/blocks/query-pagination/editor.css 211 B
build/block-library/blocks/query-pagination/style-rtl.css 288 B
build/block-library/blocks/query-pagination/style.css 284 B
build/block-library/blocks/query-title/style-rtl.css 63 B
build/block-library/blocks/query-title/style.css 63 B
build/block-library/blocks/query/editor-rtl.css 450 B
build/block-library/blocks/query/editor.css 449 B
build/block-library/blocks/quote/style-rtl.css 222 B
build/block-library/blocks/quote/style.css 222 B
build/block-library/blocks/quote/theme-rtl.css 223 B
build/block-library/blocks/quote/theme.css 226 B
build/block-library/blocks/read-more/style-rtl.css 132 B
build/block-library/blocks/read-more/style.css 132 B
build/block-library/blocks/rss/editor-rtl.css 149 B
build/block-library/blocks/rss/editor.css 149 B
build/block-library/blocks/rss/style-rtl.css 289 B
build/block-library/blocks/rss/style.css 288 B
build/block-library/blocks/search/editor-rtl.css 165 B
build/block-library/blocks/search/editor.css 165 B
build/block-library/blocks/search/style-rtl.css 408 B
build/block-library/blocks/search/style.css 406 B
build/block-library/blocks/search/theme-rtl.css 114 B
build/block-library/blocks/search/theme.css 114 B
build/block-library/blocks/separator/editor-rtl.css 146 B
build/block-library/blocks/separator/editor.css 146 B
build/block-library/blocks/separator/style-rtl.css 234 B
build/block-library/blocks/separator/style.css 234 B
build/block-library/blocks/separator/theme-rtl.css 194 B
build/block-library/blocks/separator/theme.css 194 B
build/block-library/blocks/shortcode/editor-rtl.css 329 B
build/block-library/blocks/shortcode/editor.css 329 B
build/block-library/blocks/site-logo/editor-rtl.css 756 B
build/block-library/blocks/site-logo/editor.css 756 B
build/block-library/blocks/site-logo/style-rtl.css 203 B
build/block-library/blocks/site-logo/style.css 203 B
build/block-library/blocks/site-tagline/editor-rtl.css 86 B
build/block-library/blocks/site-tagline/editor.css 86 B
build/block-library/blocks/site-title/editor-rtl.css 116 B
build/block-library/blocks/site-title/editor.css 116 B
build/block-library/blocks/site-title/style-rtl.css 57 B
build/block-library/blocks/site-title/style.css 57 B
build/block-library/blocks/social-link/editor-rtl.css 184 B
build/block-library/blocks/social-link/editor.css 184 B
build/block-library/blocks/social-links/editor-rtl.css 674 B
build/block-library/blocks/social-links/editor.css 673 B
build/block-library/blocks/social-links/style-rtl.css 1.4 kB
build/block-library/blocks/social-links/style.css 1.39 kB
build/block-library/blocks/spacer/editor-rtl.css 359 B
build/block-library/blocks/spacer/editor.css 359 B
build/block-library/blocks/spacer/style-rtl.css 48 B
build/block-library/blocks/spacer/style.css 48 B
build/block-library/blocks/table/editor-rtl.css 433 B
build/block-library/blocks/table/editor.css 433 B
build/block-library/blocks/table/style-rtl.css 651 B
build/block-library/blocks/table/style.css 650 B
build/block-library/blocks/table/theme-rtl.css 157 B
build/block-library/blocks/table/theme.css 157 B
build/block-library/blocks/tag-cloud/style-rtl.css 251 B
build/block-library/blocks/tag-cloud/style.css 253 B
build/block-library/blocks/template-part/editor-rtl.css 403 B
build/block-library/blocks/template-part/editor.css 403 B
build/block-library/blocks/template-part/theme-rtl.css 101 B
build/block-library/blocks/template-part/theme.css 101 B
build/block-library/blocks/text-columns/editor-rtl.css 95 B
build/block-library/blocks/text-columns/editor.css 95 B
build/block-library/blocks/text-columns/style-rtl.css 166 B
build/block-library/blocks/text-columns/style.css 166 B
build/block-library/blocks/verse/style-rtl.css 99 B
build/block-library/blocks/verse/style.css 99 B
build/block-library/blocks/video/editor-rtl.css 552 B
build/block-library/blocks/video/editor.css 555 B
build/block-library/blocks/video/style-rtl.css 179 B
build/block-library/blocks/video/style.css 179 B
build/block-library/blocks/video/theme-rtl.css 139 B
build/block-library/blocks/video/theme.css 139 B
build/block-library/classic-rtl.css 179 B
build/block-library/classic.css 179 B
build/block-library/common-rtl.css 1.12 kB
build/block-library/common.css 1.12 kB
build/block-library/editor-elements-rtl.css 75 B
build/block-library/editor-elements.css 75 B
build/block-library/editor-rtl.css 11.8 kB
build/block-library/editor.css 11.8 kB
build/block-library/elements-rtl.css 54 B
build/block-library/elements.css 54 B
build/block-library/reset-rtl.css 478 B
build/block-library/reset.css 478 B
build/block-library/style-rtl.css 12.8 kB
build/block-library/style.css 12.8 kB
build/block-library/theme-rtl.css 698 B
build/block-library/theme.css 703 B
build/block-serialization-default-parser/index.min.js 1.13 kB
build/block-serialization-spec-parser/index.min.js 2.83 kB
build/blocks/index.min.js 51.1 kB
build/commands/index.min.js 14.8 kB
build/commands/style-rtl.css 789 B
build/commands/style.css 786 B
build/components/index.min.js 210 kB
build/components/style-rtl.css 11.8 kB
build/components/style.css 11.8 kB
build/compose/index.min.js 12.4 kB
build/core-data/index.min.js 16.3 kB
build/customize-widgets/index.min.js 12.2 kB
build/customize-widgets/style-rtl.css 1.41 kB
build/customize-widgets/style.css 1.41 kB
build/data-controls/index.min.js 718 B
build/data/index.min.js 8.68 kB
build/deprecated/index.min.js 518 B
build/dom-ready/index.min.js 336 B
build/dom/index.min.js 4.76 kB
build/edit-post/classic-rtl.css 571 B
build/edit-post/classic.css 571 B
build/edit-post/index.min.js 35.2 kB
build/edit-post/style-rtl.css 7.84 kB
build/edit-post/style.css 7.83 kB
build/edit-widgets/index.min.js 17.3 kB
build/edit-widgets/style-rtl.css 4.56 kB
build/edit-widgets/style.css 4.56 kB
build/editor/index.min.js 45.9 kB
build/editor/style-rtl.css 3.49 kB
build/editor/style.css 3.48 kB
build/element/index.min.js 4.95 kB
build/escape-html/index.min.js 548 B
build/format-library/index.min.js 7.26 kB
build/format-library/style-rtl.css 557 B
build/format-library/style.css 556 B
build/hooks/index.min.js 1.66 kB
build/html-entities/index.min.js 454 B
build/i18n/index.min.js 3.79 kB
build/is-shallow-equal/index.min.js 535 B
build/keyboard-shortcuts/index.min.js 1.79 kB
build/keycodes/index.min.js 1.94 kB
build/list-reusable-blocks/index.min.js 2.14 kB
build/list-reusable-blocks/style-rtl.css 865 B
build/list-reusable-blocks/style.css 865 B
build/media-utils/index.min.js 2.99 kB
build/notices/index.min.js 977 B
build/plugins/index.min.js 1.94 kB
build/preferences-persistence/index.min.js 2.23 kB
build/preferences/index.min.js 1.35 kB
build/primitives/index.min.js 960 B
build/priority-queue/index.min.js 1.52 kB
build/private-apis/index.min.js 942 B
build/react-i18n/index.min.js 702 B
build/react-refresh-entry/index.min.js 8.44 kB
build/react-refresh-runtime/index.min.js 7.31 kB
build/redux-routine/index.min.js 2.75 kB
build/reusable-blocks/index.min.js 2.26 kB
build/reusable-blocks/style-rtl.css 265 B
build/reusable-blocks/style.css 265 B
build/rich-text/index.min.js 11.1 kB
build/server-side-render/index.min.js 2.09 kB
build/shortcode/index.min.js 1.52 kB
build/style-engine/index.min.js 1.55 kB
build/token-list/index.min.js 650 B
build/url/index.min.js 3.74 kB
build/vendors/inert-polyfill.min.js 2.48 kB
build/vendors/react-dom.min.js 41.8 kB
build/vendors/react.min.js 4.02 kB
build/viewport/index.min.js 1.09 kB
build/warning/index.min.js 280 B
build/widgets/index.min.js 7.3 kB
build/widgets/style-rtl.css 1.18 kB
build/widgets/style.css 1.18 kB
build/wordcount/index.min.js 1.06 kB

compressed-size-action

@paaljoachim
Copy link
Contributor

paaljoachim commented Apr 21, 2023

Hey Robert. This is exciting!

I went to gutenberg.run and inserted the PR number and went to the Site Editor. The Navigation area is not seen there.
So I went ahead and I am now testing the Gutenberg PR.


Test site.
WordPress 6.2
Twenty Twenty Three
Browser: Brave

Regarding editing a page (or post) through the Site Editor.
I would expect to see a Pages option in the Design menu. Perhaps above Navigation.
That would mean something like this:
(Pages icon I just took a screenshot of the Gutenberg PR Pages title icon.)

Site Editor Pages

Pages

When I select the Pages option I would expect to see the list of pages on the site (even the parent - sub page structure) clicking a page to edit it.

Navigation

I would expect something feature full as this screen.

Screenshot 2023-04-21 at 22 07 49

Nav block features List view version 2-3. (Should not look like that but should contain most of the features of the old Menus screen.)


What I am saying is that using Navigation to click to edit a page to me feels out of the place of what Navigation should do (at the moment).

Navigation really just helps me create a good navigation for the page. Or helps me create multiple menus that can be used different locations of the site. It would be great to look at the features of the old Menus structure and see what could/should be transferred over to the Navigation block List view as well as the Site Editor sidebar Navigation area.

Editing a page which is very interesting is further down the list of what the Navigation list currently is capable of.

I would say let's get Navigation in a great state with needed features and the structure in place and then relook at editing a page or other elements in the menu.

Thank you for an awesome exploration!
Btw we are gradually also getting to the place of adding a zoomed out view to where one enters the template used for the pages. Jumping between the edited page and the Page Template.

@SaxonF
Copy link
Contributor

SaxonF commented Apr 24, 2023

@paaljoachim I added some extra context to this work here.

I would expect to see a Pages option in the Design menu. Perhaps above Navigation.

Your thoughts here align well with milestone 1 and 2 listed here. This particularly piece of work is mostly satisfying milestone 1, after which we can look at #2 which is surfacing content in the sidebar (via pages item or similar).

@github-actions
Copy link

Flaky tests detected in 5d317d8.
Some tests passed with failed attempts. The failures may not be related to this commit but are still reported for visibility. See the documentation for more information.

🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/4782003853
📝 Reported issues:

@noisysocks
Copy link
Member Author

@paaljoachim There's a bug where the Navigation section doesn't appear until you save a Navigation menu via the Navigation block. Once you do that it should appear and you can test this PR.

Agree that surfacing content within the site editor needs work. Not aiming to do that here though.

@noisysocks
Copy link
Member Author

noisysocks commented Apr 24, 2023

Functionally I'm happy with this. Just need to add inline documentation, tests, etc. I'm away tomorrow but on Wednesday will split out the @wordpress/block-editor bits (allowing templateLock: 'contentOnly' at the root level) as they're interesting on their own and this PR is becoming too large to review.

@noisysocks
Copy link
Member Author

I've split the more foundational block-editor changes out into #50082 which will need to be merged first.

@noisysocks noisysocks marked this pull request as ready for review April 27, 2023 04:03
@jasmussen
Copy link
Contributor

Apologies if I'm doing something wrong, my environment has been acting up, but I can't seem to test this latest that well:

testing

I have a custom menu set up. Do I need to also check out #50082?

Thanks for all the work here, this is potent and important stuff 🔥

@paaljoachim
Copy link
Contributor

paaljoachim commented Apr 27, 2023

First of all thank you for the various links @SaxonF . Those are very fascinating things I got to spend more time going through!

Retesting. Began with using gutenberg.run. Went into a template and added a navigation block. Saved it and expected it to show up in the left sidebar. But it did not. I probably forgot something. Anyhow I am now using the Gutenberg PR build
as I followed this approach.


I got to say that the approach happening here has a lot of potential and is highly interesting to test out!
In a sense it merges the Post and Site Editor in one place. Creating bridges between editing a page (in the site editor and future adjustment inside the post editor) and a template. This feels just like one piece of the puzzle I am trying out here in this PR.

Using my own dev site running WordPress 6.2.
Twenty Twenty Three.
Browser: Brave

Navigation is seen in the left sidebar with links to three pages.
Clicking one of the pages it opens in the right document area and I click the document area to enter it.
I see this in the sidebar Page info:
Screenshot 2023-04-27 at 20 42 27

Top area in Page information:
About us
Last edited 8 days ago

1st panel: Content
Post Featured Image
Post Title
Post Content

Comments did not show up

2nd panel: Template
Shows the Page template in use. There is also an Edit template button.

Some thoughts as they come up.
Content - This is the template content and not the page content. Here I would expect almost a List view showing the blocks used in the page. But instead it shows the template content with the Post Featured Image, Post Title and Post Content. Comments block is missing.

Perhaps there should be a panel for:
Page Content - showing all the blocks used on the page. Kinda like the List view.
Template Content - showing the Post Featured Image, Post Title and Post Content.

What is the purpose of the Content panel? I ask because the page is active showing template content and not page content.
Perhaps going into editing a template should instead show the Template Content in the sidebar? Where it todays shows: Areas - Header, General and Footer.

When I click the Post Featured Image I see a Replace button show up instead of the toolbar.

The sidebar shows interesting information. Information should be associated with the current editing mode one is in. Be it a single page (such as About Us) or a Page template.

How would we go from an About Us page -> Page template and then back again? Should there be a list of pages in the sidebar that use a specific template? So that one can choose any of the listed pages, edit in the site editor and then go back again into the Page template. Select another page and edit that and then return again to the Page template. This way sidebar information for example for About Us / Page template would be stronger associated with each other. As they contain similar information associated to the environment these are seen in.

@apeatling
Copy link
Contributor

apeatling commented Apr 27, 2023

This works -- I did find a couple of issues though:

  1. If I try and edit a page that has no content in the post content block, there's no add block indicator, or really any way of editing the content directly on the canvas. You have to first select the post content block from the list view.

  2. Once I select the post content block in the list view and edit the content, I seem to lose the snackbar message showing I need to "edit the template" when clicking on blocks outside of the post content area.

Screen.Recording.2023-04-27.at.3.32.26.PM.mov

I realize this is just a first step, there's some more design feedback I would give, but I'll wait for this to develop more. :)

@noisysocks
Copy link
Member Author

@jasmussen: I'm not sure what's going on there. It looks like you're running into a bug with the Navigation list that appears in the sidebar. Clicking on an item there should open the page but for you it seems to be opening the link modal. Does it happen for you also in trunk?

@SaxonF
Copy link
Contributor

SaxonF commented Apr 28, 2023

@apeatling

If I try and edit a page that has no content in the post content block, there's no add block indicator, or really any way of editing the content directly on the canvas. You have to first select the post content block from the list view.

We have a separate issue for post content blank state. Definitely agree it needs to be resolved before releasing this more widely.

Once I select the post content block in the list view and edit the content, I seem to lose the snackbar message showing I need to "edit the template" when clicking on blocks outside of the post content area.

We decided to remove any sort of selection mechanics for template blocks but probably worth experimenting with to see if we can educate people on why they can't select anything outside post content e.g. trigger snackbar on each click

@apeatling
Copy link
Contributor

We decided to remove any sort of selection mechanics for template blocks but probably worth experimenting with to see if we can educate people on why they can't select anything outside post content e.g. trigger snackbar on each click

Is the snackbar supposed to only trigger on the first click on a template block? It wasn't triggering at all, even on the first click.

@noisysocks noisysocks changed the base branch from add/editor-content-only-lock to try/block-editing-mode May 23, 2023 06:46
@noisysocks noisysocks requested a review from ndiego as a code owner May 23, 2023 06:46
@noisysocks noisysocks marked this pull request as draft May 23, 2023 06:46
@noisysocks
Copy link
Member Author

noisysocks commented May 23, 2023

Gah, always accidentally ping everyone when changing the base of a PR. I'll scrap this and open a new PR: #50857

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] Page Content Focus Ability to toggle between focusing on editing the page and editing the template in the site editor. [Feature] Site Editor Related to the overarching Site Editor (formerly "full site editing") [Type] Feature New feature to highlight in changelogs.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants