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

Document settings: Move 'Mark as pending', 'Revision history' and 'Trash post' to new ellipsis menu in Summary panel #42175

Conversation

noisysocks
Copy link
Member

@noisysocks noisysocks commented Jul 6, 2022

What?

  • Makes the Summary panel non-collapsible.
  • Adds a ⋮ toolbar button that opens a menu.
  • Moves Stick to the top, Mark as pending, Revision history and Trash post buttons into said menu.

Why?

Part of #39082.

How?

All of the new functionality is contained within a new PostStatusHeader component in @wordpress/edit-post. This replaces the PostSticky, PostPendingStatus, PostLastRevision and PostTrash components in @wordpress/edit-post.

The PostSticky, PostPendingStatus, PostLastRevision and PostTrash components components in @wordpress/editor remain as is. We can't touch these due to backwards compatibility. It's not great that this is now all dead code. I'm unsure whether we should deprecate them, try to use them in PostStatusHeader (difficult because we want menu items, not buttons), or do nothing. Open to suggestions.

I am thinking maybe PostStatusHeader should go into @wordpress/editor too so that non-WordPress post editors can make use of it. Not 100% sure of this yet.

Testing Instructions

  1. Create or edit a post.
  2. Play with the various buttons
    • Stick to the top: Should always appear
    • Mark as pending: Appears when post was authored by a user with 'contributor' role
    • Revision history: Appears when post has been published more than once
    • Trash post: Appears when post is published

Screenshots or screencast

Kapture.2022-07-06.at.15.49.36.mp4

@noisysocks noisysocks added [Type] Enhancement A suggestion for improvement. [Feature] Document Settings Document settings experience Needs Design Feedback Needs general design feedback. labels Jul 6, 2022
@noisysocks noisysocks requested review from javierarce and Mamaduka July 6, 2022 06:16
@noisysocks
Copy link
Member Author

Not quite finished yet but ready for early feedback 🙏

@github-actions
Copy link

github-actions bot commented Jul 6, 2022

Size Change: +1.99 kB (0%)

Total Size: 1.26 MB

Filename Size Change
build/block-editor/index.min.js 153 kB +13 B (0%)
build/components/style-rtl.css 14.1 kB +19 B (0%)
build/components/style.css 14.1 kB +19 B (0%)
build/edit-post/index.min.js 30.9 kB +452 B (+1%)
build/edit-post/style-rtl.css 7.11 kB +142 B (+2%)
build/edit-post/style.css 7.11 kB +142 B (+2%)
build/editor/index.min.js 42.4 kB +1.15 kB (+3%)
build/editor/style-rtl.css 3.68 kB +25 B (+1%)
build/editor/style.css 3.68 kB +29 B (+1%)
ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 982 B
build/annotations/index.min.js 2.76 kB
build/api-fetch/index.min.js 2.26 kB
build/autop/index.min.js 2.14 kB
build/blob/index.min.js 475 B
build/block-directory/index.min.js 6.58 kB
build/block-directory/style-rtl.css 990 B
build/block-directory/style.css 991 B
build/block-editor/default-editor-styles-rtl.css 378 B
build/block-editor/default-editor-styles.css 378 B
build/block-editor/style-rtl.css 14.6 kB
build/block-editor/style.css 14.6 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 65 B
build/block-library/blocks/archives/style.css 65 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 103 B
build/block-library/blocks/audio/style.css 103 B
build/block-library/blocks/audio/theme-rtl.css 110 B
build/block-library/blocks/audio/theme.css 110 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 59 B
build/block-library/blocks/avatar/style.css 59 B
build/block-library/blocks/block/editor-rtl.css 161 B
build/block-library/blocks/block/editor.css 161 B
build/block-library/blocks/button/editor-rtl.css 441 B
build/block-library/blocks/button/editor.css 441 B
build/block-library/blocks/button/style-rtl.css 543 B
build/block-library/blocks/button/style.css 543 B
build/block-library/blocks/buttons/editor-rtl.css 292 B
build/block-library/blocks/buttons/editor.css 292 B
build/block-library/blocks/buttons/style-rtl.css 275 B
build/block-library/blocks/buttons/style.css 275 B
build/block-library/blocks/calendar/style-rtl.css 207 B
build/block-library/blocks/calendar/style.css 207 B
build/block-library/blocks/categories/editor-rtl.css 84 B
build/block-library/blocks/categories/editor.css 83 B
build/block-library/blocks/categories/style-rtl.css 79 B
build/block-library/blocks/categories/style.css 79 B
build/block-library/blocks/code/style-rtl.css 103 B
build/block-library/blocks/code/style.css 103 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 406 B
build/block-library/blocks/columns/style.css 406 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 187 B
build/block-library/blocks/comment-template/style.css 185 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 95 B
build/block-library/blocks/comments/editor.css 95 B
build/block-library/blocks/cover/editor-rtl.css 615 B
build/block-library/blocks/cover/editor.css 616 B
build/block-library/blocks/cover/style-rtl.css 1.55 kB
build/block-library/blocks/cover/style.css 1.55 kB
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 110 B
build/block-library/blocks/embed/theme.css 110 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 253 B
build/block-library/blocks/file/style.css 254 B
build/block-library/blocks/file/view.min.js 346 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 948 B
build/block-library/blocks/gallery/editor.css 950 B
build/block-library/blocks/gallery/style-rtl.css 1.53 kB
build/block-library/blocks/gallery/style.css 1.53 kB
build/block-library/blocks/gallery/theme-rtl.css 108 B
build/block-library/blocks/gallery/theme.css 108 B
build/block-library/blocks/group/editor-rtl.css 333 B
build/block-library/blocks/group/editor.css 333 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 327 B
build/block-library/blocks/html/editor.css 329 B
build/block-library/blocks/image/editor-rtl.css 736 B
build/block-library/blocks/image/editor.css 737 B
build/block-library/blocks/image/style-rtl.css 627 B
build/block-library/blocks/image/style.css 630 B
build/block-library/blocks/image/theme-rtl.css 110 B
build/block-library/blocks/image/theme.css 110 B
build/block-library/blocks/latest-comments/style-rtl.css 284 B
build/block-library/blocks/latest-comments/style.css 284 B
build/block-library/blocks/latest-posts/editor-rtl.css 199 B
build/block-library/blocks/latest-posts/editor.css 198 B
build/block-library/blocks/latest-posts/style-rtl.css 463 B
build/block-library/blocks/latest-posts/style.css 462 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 493 B
build/block-library/blocks/media-text/style.css 490 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 705 B
build/block-library/blocks/navigation-link/editor.css 703 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 296 B
build/block-library/blocks/navigation-submenu/editor.css 295 B
build/block-library/blocks/navigation-submenu/view.min.js 423 B
build/block-library/blocks/navigation/editor-rtl.css 2.03 kB
build/block-library/blocks/navigation/editor.css 2.04 kB
build/block-library/blocks/navigation/style-rtl.css 1.96 kB
build/block-library/blocks/navigation/style.css 1.95 kB
build/block-library/blocks/navigation/view-modal.min.js 2.78 kB
build/block-library/blocks/navigation/view.min.js 443 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 363 B
build/block-library/blocks/page-list/editor.css 363 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 157 B
build/block-library/blocks/paragraph/editor.css 157 B
build/block-library/blocks/paragraph/style-rtl.css 260 B
build/block-library/blocks/paragraph/style.css 260 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 493 B
build/block-library/blocks/post-comments-form/style.css 493 B
build/block-library/blocks/post-comments/editor-rtl.css 77 B
build/block-library/blocks/post-comments/editor.css 77 B
build/block-library/blocks/post-comments/style-rtl.css 632 B
build/block-library/blocks/post-comments/style.css 630 B
build/block-library/blocks/post-excerpt/editor-rtl.css 73 B
build/block-library/blocks/post-excerpt/editor.css 73 B
build/block-library/blocks/post-excerpt/style-rtl.css 69 B
build/block-library/blocks/post-excerpt/style.css 69 B
build/block-library/blocks/post-featured-image/editor-rtl.css 605 B
build/block-library/blocks/post-featured-image/editor.css 605 B
build/block-library/blocks/post-featured-image/style-rtl.css 153 B
build/block-library/blocks/post-featured-image/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 282 B
build/block-library/blocks/post-template/style.css 282 B
build/block-library/blocks/post-terms/style-rtl.css 73 B
build/block-library/blocks/post-terms/style.css 73 B
build/block-library/blocks/post-title/style-rtl.css 80 B
build/block-library/blocks/post-title/style.css 80 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 198 B
build/block-library/blocks/pullquote/editor.css 198 B
build/block-library/blocks/pullquote/style-rtl.css 370 B
build/block-library/blocks/pullquote/style.css 370 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 234 B
build/block-library/blocks/query-pagination/style.css 231 B
build/block-library/blocks/query/editor-rtl.css 365 B
build/block-library/blocks/query/editor.css 364 B
build/block-library/blocks/quote/style-rtl.css 213 B
build/block-library/blocks/quote/style.css 213 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 202 B
build/block-library/blocks/rss/editor.css 204 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 385 B
build/block-library/blocks/search/style.css 386 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 233 B
build/block-library/blocks/separator/style.css 233 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 464 B
build/block-library/blocks/shortcode/editor.css 464 B
build/block-library/blocks/site-logo/editor-rtl.css 708 B
build/block-library/blocks/site-logo/editor.css 708 B
build/block-library/blocks/site-logo/style-rtl.css 192 B
build/block-library/blocks/site-logo/style.css 192 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 84 B
build/block-library/blocks/site-title/editor.css 84 B
build/block-library/blocks/social-link/editor-rtl.css 177 B
build/block-library/blocks/social-link/editor.css 177 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.39 kB
build/block-library/blocks/social-links/style.css 1.38 kB
build/block-library/blocks/spacer/editor-rtl.css 322 B
build/block-library/blocks/spacer/editor.css 322 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 494 B
build/block-library/blocks/table/editor.css 494 B
build/block-library/blocks/table/style-rtl.css 611 B
build/block-library/blocks/table/style.css 609 B
build/block-library/blocks/table/theme-rtl.css 175 B
build/block-library/blocks/table/theme.css 175 B
build/block-library/blocks/tag-cloud/style-rtl.css 226 B
build/block-library/blocks/tag-cloud/style.css 227 B
build/block-library/blocks/template-part/editor-rtl.css 178 B
build/block-library/blocks/template-part/editor.css 178 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 87 B
build/block-library/blocks/verse/style.css 87 B
build/block-library/blocks/video/editor-rtl.css 561 B
build/block-library/blocks/video/editor.css 563 B
build/block-library/blocks/video/style-rtl.css 159 B
build/block-library/blocks/video/style.css 159 B
build/block-library/blocks/video/theme-rtl.css 110 B
build/block-library/blocks/video/theme.css 110 B
build/block-library/common-rtl.css 1.01 kB
build/block-library/common.css 1 kB
build/block-library/editor-rtl.css 10.2 kB
build/block-library/editor.css 10.2 kB
build/block-library/elements-rtl.css 54 B
build/block-library/elements.css 54 B
build/block-library/index.min.js 184 kB
build/block-library/reset-rtl.css 478 B
build/block-library/reset.css 478 B
build/block-library/style-rtl.css 11.7 kB
build/block-library/style.css 11.7 kB
build/block-library/theme-rtl.css 695 B
build/block-library/theme.css 700 B
build/block-serialization-default-parser/index.min.js 1.11 kB
build/block-serialization-spec-parser/index.min.js 2.83 kB
build/blocks/index.min.js 47.1 kB
build/components/index.min.js 230 kB
build/compose/index.min.js 11.7 kB
build/core-data/index.min.js 14.7 kB
build/customize-widgets/index.min.js 11.2 kB
build/customize-widgets/style-rtl.css 1.4 kB
build/customize-widgets/style.css 1.4 kB
build/data-controls/index.min.js 653 B
build/data/index.min.js 7.99 kB
build/date/index.min.js 32 kB
build/deprecated/index.min.js 507 B
build/dom-ready/index.min.js 324 B
build/dom/index.min.js 4.69 kB
build/edit-navigation/index.min.js 16 kB
build/edit-navigation/style-rtl.css 4.02 kB
build/edit-navigation/style.css 4.03 kB
build/edit-post/classic-rtl.css 546 B
build/edit-post/classic.css 547 B
build/edit-site/index.min.js 53.6 kB
build/edit-site/style-rtl.css 8.23 kB
build/edit-site/style.css 8.22 kB
build/edit-widgets/index.min.js 16.5 kB
build/edit-widgets/style-rtl.css 4.35 kB
build/edit-widgets/style.css 4.35 kB
build/element/index.min.js 4.27 kB
build/escape-html/index.min.js 537 B
build/format-library/index.min.js 6.75 kB
build/format-library/style-rtl.css 571 B
build/format-library/style.css 571 B
build/hooks/index.min.js 1.64 kB
build/html-entities/index.min.js 448 B
build/i18n/index.min.js 3.77 kB
build/is-shallow-equal/index.min.js 527 B
build/keyboard-shortcuts/index.min.js 1.78 kB
build/keycodes/index.min.js 1.38 kB
build/list-reusable-blocks/index.min.js 1.74 kB
build/list-reusable-blocks/style-rtl.css 835 B
build/list-reusable-blocks/style.css 835 B
build/media-utils/index.min.js 2.93 kB
build/notices/index.min.js 953 B
build/nux/index.min.js 2.05 kB
build/nux/style-rtl.css 732 B
build/nux/style.css 728 B
build/plugins/index.min.js 1.94 kB
build/preferences-persistence/index.min.js 2.22 kB
build/preferences/index.min.js 1.3 kB
build/primitives/index.min.js 933 B
build/priority-queue/index.min.js 612 B
build/react-i18n/index.min.js 696 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.68 kB
build/reusable-blocks/index.min.js 2.22 kB
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/rich-text/index.min.js 11.1 kB
build/server-side-render/index.min.js 1.61 kB
build/shortcode/index.min.js 1.53 kB
build/token-list/index.min.js 644 B
build/url/index.min.js 3.61 kB
build/vendors/react-dom.min.js 38.5 kB
build/vendors/react.min.js 4.34 kB
build/viewport/index.min.js 1.08 kB
build/warning/index.min.js 268 B
build/widgets/index.min.js 7.19 kB
build/widgets/style-rtl.css 1.16 kB
build/widgets/style.css 1.16 kB
build/wordcount/index.min.js 1.06 kB

compressed-size-action

@Mamaduka
Copy link
Member

Mamaduka commented Jul 6, 2022

It took me a moment to realize (based on the screencast) that "Stick to the top" is post-action and not the panel's 😅

@javierarce javierarce added the Needs Figma Update Needs an update to Figma for design purposes label Jul 6, 2022
@javierarce
Copy link
Contributor

If you open the menu right after you create a new post, there's an empty space where the trash button goes:

Screenshot 2022-07-06 at 09 51 25

It took me a moment to realize (based on the screencast) that "Stick to the top" is post-action and not the panel's 😅

That's a good point. We'll need to find a better label… or a better placement: @shaunandrews proposed to place that action in the header of the Visibility panel, which could be a good solution.

Screenshot 2022-07-06 at 10 00 45

ads/2021/09/Screen-Shot-2021-09-09-at-3.25.41-PM.png

@alexstine alexstine self-requested a review July 7, 2022 00:01
@noisysocks
Copy link
Member Author

That's a good point. We'll need to find a better label…

Maybe Stick post to top of blog?

or a better placement: @shaunandrews proposed to place that action in the header of the Visibility panel, which could be a good solution.

I pushed d598b0e which does this. Here's how it looks.

Kapture.2022-07-07.at.16.26.01.mp4

I'm wondering if the problem is that we've trained ourselves (and users) to think that an ellipsis menu always contains settings and buttons that are to do with the block editor chrome. Which toolbars are shown, which controls are enabled, whether we're in visual or text mode, etc.

Maybe we could show the dropdown next to the post title, like Figma does?

Screen Shot 2022-07-07 at 16 36 29

Here's a crappy mockup that doesn't really make any sense (what happens if there is no title?) to illustrate.

Content

Let me know what you want to do. I'm easy!

@Mamaduka
Copy link
Member

Mamaduka commented Jul 7, 2022

I think the "Sticky" post option is too hidden now. I wonder how many support requests this might generate 😅

I'm wondering if the problem is that we've trained ourselves (and users) to think that an ellipsis menu always contains settings and buttons that are to do with the block editor chrome. Which toolbars are shown, which controls are enabled, whether we're in visual or text mode, etc.

💯 But it might be too late to untrain ourselves and users.

I would deffer to @javierarce on design matters 🙇

I noticed a few cases when I could see empty menu groups. For example, I usually have revisions disabled locally, so the top menu group is always empty for me on published posts.

CleanShot 2022-07-07 at 11 30 15
CleanShot 2022-07-07 at 11 30 43

@noisysocks
Copy link
Member Author

noisysocks commented Jul 7, 2022

Yep, working on the empty menu group issue. Requires a little bit of refactoring 😀

edit: OK that's all fixed now!

Copy link
Contributor

@alexstine alexstine left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At first glance, I am really not thrilled with these UX. Hiding options that are related to this area of the editor seems strange. Is it really necessary to add yet another drop down menu?

@noisysocks noisysocks changed the title Add ellipsis menu to Summary panel Document settings: Move 'Mark as pending', 'Revision history' and 'Trash post' to new ellipsis menu in Summary panel Jul 11, 2022
@noisysocks noisysocks marked this pull request as ready for review July 11, 2022 02:25
@noisysocks
Copy link
Member Author

I've fixed the tests failures and this is ready for review now @javierarce @Mamaduka.

At first glance, I am really not thrilled with these UX. Hiding options that are related to this area of the editor seems strange. Is it really necessary to add yet another drop down menu?

I'll defer to @javierarce and the design team for what to do here. There's definitely a balance to strike regarding which options we show prominently. Trash post for example appears primarily in the post list so I'm not worried about burying that one.

@javierarce
Copy link
Contributor

At first glance, I am really not thrilled with these UX. Hiding options that are related to this area of the editor seems strange. Is it really necessary to add yet another drop down menu?

I understand your concerns, @alexstine, but having a lot of fields and controls in the UI makes the sidebar difficult to use and scale.

Maybe we could show the dropdown next to the post title, like Figma does?

I think @jameskoster has talked about moving this section of the UI/certain items to the post title. I think that's another possibility but, at the same time, I feel having a summary of the content visible at all times is very useful.

Regarding the placement for the "stick to the top" functionality… I think putting it inside the Visibility popover (as d598b0e does) works fine… but I agree with @Mamaduka and @noisysocks that maybe is a bit too hidden.

The idea @noisysocks proposes could work too. And if we are heading in the direction of adding the featured image and the title on top of the section, I think that's a sensible solution.

Here's an iteration of Robert's proposal so the popover always appears in the same position.

image

I think this last idea is promising, but I'd love to hear more thoughts from @WordPress/gutenberg-design.

@alexstine
Copy link
Contributor

@javierarce

I understand your concerns, @alexstine, but having a lot of fields and controls in the UI makes the sidebar difficult to use and scale.

Difficult for who? My point is, we should be very careful adding more and more drop down menus to Gutenberg because it already takes to many key presses to do anything as a keyboard-only user. For me, this probably should have been a bigger UX discussion for accessibility. Sometimes cleaning things up visually creates a bigger mess for non-visual interactions. I think this could easily turn in to one of those times. I just hate to get us in a situation where users have to explore an entire panel just to find what they are looking for is not there. Then they go diving down in drop downs. This makes sense visually because you can skim the page, but for the blind, this UX is nothing short of terrible and frustrating. Surely there can be some middle ground without more drop downs.

Thanks.

@jameskoster
Copy link
Contributor

I think @jameskoster has talked about moving this section of the UI/certain items to the post title.

Still makes sense to me, for many reasons:

  1. It aligns with the site editor.
  2. It's better contextually – the contents of the popover/modal are clearly associated with the post, whereas currently the document settings are mixed in with block settings.
  3. We can invoke the same view from the posts list in the future for quick meta editing.
  4. If we used a modal there's space to include a menu and make navigation simpler by allowing users to traverse top level items before drilling down. Currently you have to tab through the entire summary section to get to categories which can be frustrating.

... anyways 😅

Here's an iteration of Robert's proposal so the popover always appears in the same position.

Hmm, doesn't the chevron make this section look like an accordion? There seems to be a convention contradiction there.

I would +1 putting the sticky option in the visibility panel – that seems conceptually aligned to me. 'Mark as pending' feels like it should be in the same place as 'Switch to draft', since both affect the post status.

@javierarce
Copy link
Contributor

Hmm, doesn't the chevron make this section look like an accordion? There seems to be a convention contradiction there.

Oh, shoot, you are right, the chevron doesn't make sense at all here.

@javierarce
Copy link
Contributor

@alexstine

Difficult for who?

Difficult for the majority of users.

I understand your frustration, and it's not my intention to make the UI more difficult to use or just make it prettier hiding things inside popovers and menus.

In the previous interface everything had more or less the same importance: "Stick to the top of the blog" was next to "Pending review", the author dropdown, and "Move to trash".
I think it worked because we were used to that arrangement, but if we want to expand the UI in the future with new features it'll get messier.

With the new changes the information architecture is improved and the most important details for the post appears on top of the sidebar, making it easier to reach and discover.

For example, placing the delete action inside an ellipsis menu is consistent with other use cases, like removing blocks.

And it's true that secondary actions, like "Stick to the top of the blog" or "Pending review", will require an extra click… but I'm not sure that's a bad thing for actions that are probably less common.

@alexstine
Copy link
Contributor

@javierarce

With the new changes the information architecture is improved and the most important details for the post appears on top of the sidebar, making it easier to reach and discover.

This may be true for most users, but this will not prove true for accessibility. I understand not wanting to give users overload, but I do not think this is the solution.

For example, placing the delete action inside an ellipsis menu is consistent with other use cases, like removing blocks.

This is also debatable. This makes sense considering formatting bars cannot be infinite. Users, I think, have expectations to look for commonly unused options in the context of a formatting bar but not necessarily in a sidebar. Generally, sidebars already hold the stuff that is supposed to be out of the way. I'd rather see more sections added to the sidebar as at least users will get a good idea of what is there vs. having to click in to drop downs.

I also want to point out that this is not strictly related to this PR alone. I just want others to see that hiding things in menus period is something that should be avoided for UX reasons for all users vs. most. Adding extra clicks is never a good thing and it is something that this project suffers from, at large. I can get a whole lot more done in record time in the classic editor compared to Gutenberg, and I am trying to make sure the problem does not get worse.

@noisysocks
Copy link
Member Author

noisysocks commented Jul 13, 2022

Thanks for the good discussion everyone! Just a logistical note: I'm going to leave this with @javierarce to work with the design team and community to decide on how we should proceed. In the meantime, I'll work on landing #42352 first.

- Makes the Summary panel non-collapsible.
- Adds an ellipsis toolbar button that opens a menu.
- Moves 'Stick to the top', 'Mark as pending', 'Revision history' and
  'Trash post' buttons into the ellipsis menu.
@noisysocks noisysocks force-pushed the add/summary-ellipsis-menu branch from e0c2b79 to 36f91c4 Compare July 19, 2022 06:34
@noisysocks noisysocks changed the base branch from trunk to add/featured-image-title-excerpt-to-top-of-sidebar July 19, 2022 06:34
@noisysocks
Copy link
Member Author

Let's close this out since there's consensus on trying a different approach. See #39082 (comment).

@noisysocks noisysocks closed this Aug 2, 2022
@noisysocks noisysocks deleted the add/summary-ellipsis-menu branch August 2, 2022 02:24
@javierarce javierarce removed the Needs Figma Update Needs an update to Figma for design purposes label Sep 2, 2022
@noisysocks noisysocks mentioned this pull request May 5, 2023
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] Document Settings Document settings experience Needs Design Feedback Needs general design feedback. [Type] Enhancement A suggestion for improvement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants