Summary: Navigation Editor and Block hallway hangout

On October 13, 2021, 10:00 UTC a hallway hangout was held to discuss the future of the Navigation Editor and BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.. See here for the full agenda.

The meeting was convened to discuss some of the challenges contributors have been facing. Those challenges can probably be best dissected into two parts:

  1. What important changes to the Navigation Block need to be made for full site editing?
  2. What is the best path forwards for the Navigation Editor given the proposed changes to the block?

Meeting recording

Hereโ€™s a recording for the full meeting. The recording starts halfway through the introductions and didnโ€™t capture the intros for myself (@talldanwp), Tammie (@karmatosed), Joen (@joen) or Emmanuel (@manooweb).

Topics

The meeting was quite a deep dive into the Navigation Block and Editor, exploring concepts like:

  • How the Navigation Editor and Block development has diverged
  • Upcoming priorities for the Navigation Block and Editor
  • Upcoming improvements to the Navigation Block. Largely centered around the block saving data like a Template Part or Reusable block does (described in the GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ issue #34612)
    • There has already been some work on using a Template Part post type for this (pull request #35418)
    • Some exploration should happen around alternatives โ€“ a new post type or using the menu termโ€™s description field
    • The actual data structure that is saved needs consideration and exploration
  • Migrating menu data when a user switches theme (e.g. to a block-based theme or between block-based themes)
  • Backwards compatibility with the current menu system
    • The shortcomings of the current menu / menu item data structure, the overhead and performance of this system
    • The current menu and menu item being the best way to achieve full backwards compatibility in the Navigation Editor
    • MigrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. paths for extensibility
  • The navigation block supporting different designs and styles
  • Some analysis of products and plugins that handle menus

Outcomes

The main outcome was to focus in the short-term on the Navigation Block for WordPress 5.9. (as an addendum to what was discussed in the meeting, this can be tracked via the Twenty Twenty-Two tracking issue (#75), and in the Navigation Block tracking issue (#35521)).

As the Navigation Block develops it will be possible to explore ways that it might work better within the Navigation Editor.

Immediate tasks

  • Publish a clearer set of goals for the Navigation Editor and Block.
  • Ensure the tracking issues are up-to-date.

Whatโ€™s new in Gutenberg 11.7 (October 13th)

GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ย 11.7 has been released! This release includes a number of nice enhancements and as usual manyย bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority.ย fixes.

Navigation BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. And Navigation Editor Advances

The Lighter Navigation Block Experience and the Navigation Editor efforts led to many quality of life improvements in Gutenberg 11.7!ย 

The Navigation Block underwent a series of changes intended to provide a more intuitive navigation management experience. New links are now added instantly after clicking the โ€œ+โ€ icon without an additional block selection step. There is also an additional new way of adding links: using a slash inserter. It is worth noting that a slash inserter can be enabled for any block using a new, experimental flag called __experimentalSlashInserter. In addition, navigation links may now be transformed into other allowed block types, such as Site Logo, Home Link, or Social Icons. Finally, itโ€™s easier for users to notice linking mistakes thanks to the squiggly line highlighting empty links similarly to grammar errors.ย 

On the frontend front: The navigation link now supports custom font size and line-height. Link labels, such as โ€œPrevious post,โ€ may now be a part of the link to the post itself. Mobile menus now reflect the justification settings of the desktop menus.ย 

Global Styles And Full Site Editing

The site editing experience got polished in this recent release. The template part editor gained a convenient back button to ease returning to the site editor. Switching between editing different template parts was made more accessible by listing the available areas in template details. Also, the custom gradient picker was refreshed.

Thereโ€™s more! The Site editor was equipped with padding settings for specific template parts. Color palette settings are now available in a separate panel in the global styles sidebar. In addition, Duotone support was extended to the site logo block.

While weโ€™re talking about Duotone, Gutenberg 11.7 enables theme authors to customize the default Duotone filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. using theme.json styles:

{
	"styles": {
		"blocks": {
			"core/site-logo": {
				"filter": {
					"duotone": "var(--wp--preset--duotone--blue-filter)"
				}
			}
		}
	}	
}

Columns Block Support For Tweaking The Gaps And Margins

The Columns block now allows you to adjust the space between the columns and the margins surrounding the block. Combined with customizable template part padding, it is the most flexible layout-building experience Gutenberg ever had.

Other Notable Highlights

As a part of the effort to get the LinkControl component out of the โ€œexperimentalโ€ state, 11.7 adds the ability to create pages directly from the link popup. So far, this was only possible in the Navigation block, but now this feature is exposed on every link. The popup also underwent subtle visual adjustments. In addition, empty links can no longer be added, making adding one by mistake harder. The ones that fall through the cracks are now clearly denoted as empty.ย 

Gutenberg 11.7 also ships a few formatting improvements. One of them is the ability to highlight text. Another is a new alignment option called โ€œnone,โ€ intended for resetting alignment settings.

It is also worth noting that a breaking change the post pagination markup was introduced in PR 35092.

11.7

Enhancements

AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both โ€œdirect accessโ€ (i.e. unassisted) and โ€œindirect accessโ€ meaning compatibility with a personโ€™s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)

  • Adjust wording for post format suggestions. (14124)
  • Add a visually hidden label for the Search block. (35034)
  • Add an accessible label to the Back button in preferences. (35340)
  • Global Styles: Add accessible label to Back button. (35325)
  • Template title: Include a button and label text when there is no post/page title. (35148)

Block Editor

  • Allow other blocks to use the slash inserter. (35196)
  • Enable ability to create Pages from the inline Link UIUI User interface. (35083)
  • Polish quick inserter. (35339)
  • Remove visual clue from alignment toolbar. (35080)
  • Remove native block inserter onboarding tooltip. (35150)

Block Library

  • Site Logo: Add duotone support. (35344)
  • Columns block: Enable blockGap and vertical margin support. (34630)
  • File Block: Only display PDF preview heightย RangeControlย when embed is enabled. (35207)
  • Navigation: Add transformations from a link to other allowed nav blocks. (34978)
  • Query LoopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop: Include a Query Pagination option on the block variations. (35347)
  • Show โ€œnoneโ€ as an alignment option and use contextual text to clarify settings. (34710)
  • Social Links: Add block gap support. (35236)
  • Site Title: Add option to toggle home link. (31540)
  • Site title: update block description. (34474)
  • Transform Nav Links with children into Submenus. (34831)
  • Add an option for displaying the label inside the Navigation Link block. (34952)
  • Add typography settings for the Navigation Link block. (35324)
  • Add option to remove/clear logo from the Site Logo block. (34820)

CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. data

  • Add โ€˜contextโ€™ to the query parts type definition. (35069)

Components

  • Add new Navigator components and use them in the global styles sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. (34904)
  • Use _builtin property of classes in navigation link PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher. (35166)
  • Item: Removeย isActionย and useย onClickย to decide if it should render asย button. (35152)
  • Make tooltip delay configurable with a property. (35246)

Design Tools

  • Block gap: Only render CSSCSS Cascading Style Sheets. variable if corresponding theme setting is enabled. (35209)
  • Format library: Add background color. (34680)
  • Update: Custom gradient picker design. (34712)

Global Styles

  • Add Padding to the root level of global styles. (35241)
  • Add duotone theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. styles support. (34667)
  • Extract the color palette to its own global styles screen. (35109)
  • Update the rules to hide/show blocks in the global styles sidebar. (35178)
  • Synchronize user custom post typeCustom Post Type WordPress can hold and display many different types of content. A single item of such a content is generally called a post, although post is also a specific post type. Custom Post Types gives your site the ability to have templated posts, to simplify the concept. registration and UI visibility. (35427)
  • Enqueue preset styles for all themes in the editor. (35424)

Icons

  • Add color icon. (35187)
  • Rename globe icon to url. (35032)

Site Editor

  • Remove warning box from post terms. (35242)

Template Editor

  • Add back button for isolated template part editor. (34732)
  • Add template areas to template details. (35202)

Bug Fixes

Block Editor

  • Block Editor: Fix duplicate clientIds when dragging patterns. (35124)
  • Disallow creation of empty links using Link UI directly. (35060)
  • Fix Link UI when hyperlink has an emptyย hrefย value. (35043)
  • Fix missing border in the quick inserter. (35307)
  • Fix toggle off for Duotone control and Post Date blockโ€™s date picking control. (35024)
  • useMultiSelection: Avoid crashing editor when block refs arenโ€™t available. (35177)
  • Rich text: fix internal paste across multiline and single line instances. (35416)

Block Library

  • Embed: Remove meetupMeetup All local/regional gatherings that are officially a part of the WordPress world but are not WordCamps are organized through https://www.meetup.com/. A meetup is typically a chance for local WordPress users to get together and share new ideas and seek help from one another. Searching for โ€˜WordPressโ€™ on meetup.com will help you find options in your area.-com from variations. (35146)
  • Featured ImageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts.: Remove descendent space. (35273)
  • Fix: Broken disabled select style in the editor area. (35135)
  • Fix native BlockAlignmentControl. (35191)
  • Gallery block: Fix Safari image sizing issue. (35309)
  • Gallery block: Fix problem with caption showing encode tags when not selected. (35131)
  • Gallery block: Unset alignment on new images to prevent it breaking layout. (35132)
  • Post Template: Remove margins from the block. (35193)
  • Post Title: Always use blockProps. (35286)
  • Post Title: Only render link element if we have a post. (35284)
  • Query Pagination: Donโ€™t render an empty container. (35092)
  • Navigation Link: Fix PHP notice in the Navigation Link block. (34984)
  • Fix Post Comment Content blockโ€™s edit function. (35190)

Components

  • Color Picker: Match figma metrics. (35039)
  • Remove shift-stepping from range in RangeControl. (35020)
  • Popover: fix __unstableBoundaryParent (35082)

Design Tools

  • ToolsPanelItem: Add panelId check before calling toggle methods. (35375)

Media

  • MediaUpload: Ensure current images in a gallery are selected after opening media library. (35070)

Post Editor

  • Fix missing save label. (34948)
  • Keyboard shortcut: Prevent post saving through keyboard if post saving locked. (35361)

REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think โ€œphone appโ€ or โ€œwebsiteโ€) can communicate with the data store (think โ€œdatabaseโ€ or โ€œfile systemโ€) https://developer.wordpress.org/rest-api/

  • APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. Fetch: Improve isMediaUploadRequest check. (34417)
  • Fix slashing when creating or updating a menu item. (35147)

Server Side Render

  • Prevent empty renders in ServerSideRender component caused by changing props while already fetching markup (35433)

Template Editor

  • Fix the styling of template details. (35285)

Widgets Editor

  • inspector-section: Track isOpen to make a better isContextuallyActive() function. (35055)

Performance

  • Edit Site: Optimize useSelect calls. (35213)
  • Memoize entity records selectors properly. (34323)
  • Widgets: Optimize useSelect calls. (35256)

Experiments

Block Library

  • Polish responsive navigation modal, inherit justifications, fix submenu direction. (35077)
  • Polish submenu indicator button. (35030)
  • Fix: Adding nav items from existing menu. (34837)

Navigation Screen

  • Remove i18ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill. of help link in navigation editor. (35313)
  • Add a tooltip to Navigation items in a setup state. (35139)
  • Fix gap regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. in navigation screen. (35234)
  • Truncate long menu names. (35188)
  • Insert Navigation Link blocks by default in Navigation block. (34899)
  • Migrate resolvers to thunks. (35044)

Full Site Editing

  • Remove extra styling around โ€œPost contentโ€ placeholder. (35243)

Documentation

Handbook

  • Docs: Update testing overview with minor fixes. (35232)
  • Fix typos, grammar in contributors release doc. (35268)
  • Updateย nvmย to latestย 0.38.0ย version in Handbook. (35125)
  • Adding example readme template to contributing guidelines. (34847)
  • Fix erroneous usage of the wordย master. (35392)

Packages

  • Add instructions for installing plugins/themes with wp-env. (35064)
  • MediaUpload: Reflect the correct filter name in the readme. (35240)
  • Update LinkControl documentation with additional examples. (35199)
  • Update doc block in block editor to fix documentation generation lint error. (35295)
  • Add missing doc blocks for the exported members of edit-widgets store. (35263)

Code Quality

Block Editor

  • Add colord package to block editor; Replace tinycolor2 with colord on duotone. (#34616),ย 34605,ย 35165,ย 35164)
  • Migrate the toggleFeature action to a thunk. (35075)

Block Library

  • Migrate store actions to thunks. (35031)
  • Post Title Block: Fix argument numbering in โ€˜sprintfโ€™. (35338)
  • Replace tinycolor2 with colord on block library package. (35184

Components

  • Refactorย Navigator*ย folder structure, renameย Navigatorย toย NavigatorProvider. (35160)
  • Replace tinycolor2 with colord. (35185)
  • ToolsPanel component: Refactor to typescript. (34028)
  • UnitControl component: Refactor utils to TypeScript. (35138)
  • Do not exportย SimpleColorSwatchย in Storybook examples for Item Group. (35179)
  • Refactor Navigator to TypeScript. (35214)

Global Styles

  • Simplify code that deals with user data for clarity. (35248)
  • Simplify how we register preset metadata. (35228)
  • Reorganize the global styles UI code base. (35218)
  • Donโ€™t output preset classes for colors defined by the theme (35514)
  • Clean up logic to retrieve GS settings depending on context. (35437)

Post Editor

  • Keyboard Shortcuts: Use a new selector getter method. (35385)

Navigation Component

  • Refactor the preferences modal to use the new Navigator components. (35142)
  • Navigation Editor: Remove duplicated stripHTML. (35189)

Widgets Editor

  • Migrate edit-widgets store to thunks. (35110)

Tools

Build Tooling

  • Remove polyfills from view.js block scripts. (35038)

Testing

  • Add tests forย Navigator*. (35163)
  • Enable flaky tests reporter bot in PRs. (35029)
  • Replace tinycolor2 with colord on getMostReadableColor util. Add unit testunit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression.. (34625)
  • Try fixing flaky navigation test. (35380)
  • Fix not archiving failure artifacts for flaky tests. (35379)

Plugins

  • Addย oandregalย andย tellthemachinesย to codeowners file. (35233)

Performance Benchmark

The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) over the last releases. Such a large post isnโ€™t representative of the average editing experience but is adequate for spotting variations in performance.

VersionTime To Render The First BlockKeyPress Event (typing)
Gutenberg 11.73.7ย s24.68 ms
Gutenberg 11.63.5ย s25.88 ms
WordPress 5.84.0ย s34.06 ms

Kudos to all the contributors that helped with the release. ๐Ÿ‘

Thanks to @priethor, @matveb, and @javiarce for helping with the release!


Want to know more about recent Gutenberg releases? Check out the release post for Gutenberg 11.6!

#block-editor, #core-editor, #gutenberg, #gutenberg-new

Dev chat summary โ€“ October 13, 2021

@audrasjb led the chat on this agenda. You can also read the Slack logs.

Highlighted blogblog (versus network, site) posts

Bringing to your attention some interesting reads and some call for feedback and/or volunteers:

The proposal for a new Make/Performance team was well received by the meeting participants. Encouraging! Please add your feedback in the post comments.

Worth mentioning:

Thanks to the 30 contributors of the past week, including 3 new contributors! Kudos to the 5 coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. committers of the week, too.

A Week in Core โ€“ October 11, 2021

Upcoming releases updates

Next minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality.(s)

Please note thatย 5.8.2 was deferred due to the lack of ready-to-ship tickets.

Reminder: @desrosj and @circlecube are co-leading the 5.8.x releases. The 5.8.x point releases are coordinated in theย #5-8-release-leadsย SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ channel. This channel is public and will be archived once 5.9 is released.

@sergeybiryukov proposed to also backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. changeset [51883] (which is milestoned to 5.8.2) to older branches.

Next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.

Concerning the next major release โ€”WordPress 5.9โ€” a planning roundup was published some weeks ago.

@kjellr introduced the new bundled theme on Make/Core last week. The first Twenty Twenty-Two meeting was hosted on October 11, in the #core-themes Slack channel.

As usual, there is aย public repository on GitHubย so feel free to help testing the theme, and to contribute to this project.

The go/no go date for the main WP 5.9 features is October 14.

@audrasjb will run another bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrub on Thursday October 14, 2021 at 20:00 UTC.

Reminder: everyone is welcome to run a bug scrub on the #core Slack channel. If you are interested, please read this handbook post: Leading bug scrubs and get in touch with @audrasjb or @francina for details.

Component maintainers updates

Upgrade/Install โ€“ @sergeybiryukov @afragen

Work has continued on addressing PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher timeouts or missing files during large pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. or theme updates. A couple of solutions were implemented so far, but it looks like the issue might not be fully resolved yet. Any testing and feedback welcome! See ticketticket Created for both bug reports and feature development on the bug tracker. #54166 for more details.

Also, @afragen made a few updates to the new move_dir() function based on @sergeybiryukovโ€™s comments.

Help/About โ€“ @marybaum

Help/About: the component had a scrub Monday and is following up with another on @audrasjb will run another bug scrub on Monday October 18, 2021 at 19:00 UTC.ย So far two tickets are ready for commit action.

The #core-auto-updates team is still looking on getting a consensus on which approach to proceed with for #22316. Two competing PRs are proposed (1547 and 1724), there is a need to decide what is the best approach.

Open Floor

@johnjamesjacoby raised ticket #38231 and asked for another pair of eyes. @costdev pointed out some possible enhancements in the unit tests provided by the ticket.

@webcommsat shared that the Marketing Team is exploring how to help the Test Team reach extenders with the message to update their test suites to bring them in line with the latest WordPress Core PHP Test Suites.Everyone is welcome to join the collaboration inย this document,ย and they are looking specifically for items to be filled in on the table on page 4 to 6.

#5-8-x, #5-9, #dev-chat, #summary, #twenty-twenty-two

Editor chat summary: 13 October, 2021

This post summarizes the weekly editor chat meeting (agenda here) heldย inย Slack. Moderated by @annezazu.

Announcements

  • GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 11.7 is set to be released today with some wranglingย around any critical bug fixes.ย 
  • Itโ€™s the last day to explore the currentย #fse-outreach-experimentย call for testing.ย Share your feedback here!
  • The WordPress 5.9 Go/no go is coming up tomorrow. Stay tuned for more insights after that completes.ย 
  • Share your full site editing related questions by October 27th!
  • Check out this post to get a peak of the future from @critterverse on design explorations for blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. theme switching.

Monthly Priorities & Key Project Updates

The overarching plan for October has not yet been shipped yet so we based todayโ€™s conversation on theย Mid September Plan. As a reminder to those working on these projects, async updates are both welcomed if you canโ€™t make the meeting andย needed.

Mobile Team

Shipped

  • Use theme colors in htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. mode

Fixes

  • Small fixes for embed block and help screen

In Progress

  • Embed block improvements
  • GSS Font size, line height, colors

Navigation Block & Navigation Editor

The crew working on these projects had a hallway hangout today to chat through the state of their work. There is a longer takeaway here from @spacedmonkey until notes are posted but for now, hereโ€™s a TLDR: Focus is on the navigation block / experience in FSE and the nav editor is blocked until the block lands.

Template editor

In 11.7, there are two changes impacting this general area of work:

Patterns

A PR landed for 11.8 that changes the initial patterns shown to be from a featured list of patterns from the directory rather than an underwhelming alphabetical order. This should really help folks see the power of patterns more readily!

Styling

Shipping:

ย In Progress:

Task Coordination

Feel free to add items to this post if you werenโ€™t able to make the meeting. As a reminder, never be shy in sharing what youโ€™re working on! It can sometimes be intimidating to see sponsored contributors share all they are doing but remember it all counts and is so appreciated.

@mamaduka

  • Iโ€™m continuing exploration for remaining individual block locking items. Someย decisionsย are needed before I can start building UIUI User interface, and I would appreciate your feedback.
  • I created a small PR toย hide the โ€œMove toโ€ย option when the block is locked.
  • I will try address Andreโ€™s feedback reย parent/child theme.json mergingย feature this week.
  • Also created PR to correctlyย use dataย forย customTemplatesย from the theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.

@annezazu

@colorful-tones

@mciampini

  • I will continue supporting folks working on WordPress components.
  • This week in particular, I believe weโ€™re going to focus on improvingย  theย ColorPicker,ย FontSizePicker,ย ToggleGroupControlย  any other control components used in Global Styles sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme., while coordinating the adoption ofย ToolsPanelย in the Typography Tools

@jffng

  • Iโ€™ve been working onย this PRย that adds a Pattern block โ€” giving themes a way to translate strings that appear inside block templates.
  • Keeping an eye on thisย overviewย issue in Twenty Twenty-Twoย where weโ€™re tracking some issues which would really help the next default theme

Open Floor

Lovely kudos to the team. Shared by Steve Dwire.

Just want to give a big thank you to everyone contributing so much.ย  Iโ€™m finally getting back to theme development after years of neglect, and most of my to-do list is already being addressed by coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. team.ย  THANK YOU!

Please help review this PR that would move an API from experimental to stable. Raised by @fabiankaegy.

As noted by Fabian, this PR touches many areas and would be a huge win for pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. developers, particularly because it would make building custom blocks with inner blocks so much easier.

Next step: @annezazu will follow up to see if we can get a review in place or figure out what the priority is.

How can we liven up these open floor moments and use the GitHub Discussions section better?ย Raised by @annezazu.

For a while now, the open floor section of the meeting has been fairly quiet/uneventful, which feels a bit like a missed opportunity to connect and share ideas. We chatted about both re-sharing interesting discussions from the GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the โ€˜pull requestโ€™ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/ Discussions section in the meeting and having a nice interplay where perhaps a discussion from Core Editor ends up there to continue async. Many folks donโ€™t check that part of GitHub right now so it might help bring larger attention and use there. If other folks have ideas/suggestions, do share in future meeting since this seems to be a longstanding pattern.

On hallway hangouts, a PR ahead of 5.9, and speaking at WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what theyโ€™ve learned throughout the year and share the joy. Learn more. Italia. Raised by @overclokk.

The topic of language barriers with hallway hangouts was brought up as not everyone is comfortable speaking in English but might still want to join hallway hangouts. This was a great chance to share that hallway hangouts donโ€™t require speaking โ€“ you can join, listen in, and leave whenever you want. At the same time though, it would be neat to see them done in other languages and to have folks join who arenโ€™t as comfortable with English in order to give feedback about how we can make them more inclusive.

From there, we chatted briefly about an issue raised that impacts block themes and that is important to review ahead of 5.9. Finally, we all sent good vibes and luck to @overclokk ahead of his FSE presentation!

Help review the Autogenerate heading anchors PR. Raised by @paaljoachim.

This PR impacts larger work around a table-of-contents block so it would be lovely to continue to move this forward.

#core-editor, #core-editor-summary

Submit Full Site Editing questions by Oct 27th

With the Go/No Go session happening this week ahead of WordPress 5.9โ€™s release inย December 2021, letโ€™s use this time to dig into any general questions you all might have around Full Site Editing! As itโ€™s possible, please focus questions specifically around WordPress 5.9 as those will be the most high impact to address and not on larger strategic decisions. You are welcome to submit questions using the form below or to leave them as a comment on this post by October 27th:ย ย 

Keep in mind that because, depending on the questions itโ€™s likely that some answers might take the form of โ€œpeople are working to figure this out and feedback is welcome here,โ€ rather than a definitive answer. This is especially true for features/milestones that are planned for future releases.ย 

When and where will you share the answers?ย 

Iโ€™ll share a recap post on this blogblog (versus network, site) (Make CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.) as soon as I possibly can and aim to do so no later than November 1st, 2021. If there are a ton of questions, they will be grouped with corresponding answers for easy review. You can see what the outcome will look like based on the first round and second round. I will work in the open as I go in a collaborative Google doc that will be shared in #fse-outreach-experiment for anyone who wants to collaborate or check in on the work.ย 

Once the post is published, I will follow up via email with everyone who left their email and a question in the form. For anyone who leaves a question as a comment on this post, I will @ your username in the recap post so you donโ€™t miss out too!

What else will this effort help with?

While the main outcome will be a lovely list of answers to grow community knowledge, this collective effort will also be useful for future documentation updates, potential tutorials, hallway hangout topics, and more.

For more information about the FSE outreach program, please review this FAQ for helpful details. To properly join the fun, please head to #fse-outreach-experiment in Make Slack for future testing announcements, helpful posts, and more will be shared there.

#core-editor, #fse-answers, #fse-outreach-program, #full-site-editing

CSS Chat Summary: 07 October 2021

The meeting took place here on Slack. Thanks to @dryanpress for stepping in to facilitate at the last minute! @danfarrow wrote up these notes.

Housekeeping

CSSCSS Cascading Style Sheets. Custom Properties (#49930)

  • @dryanpress reported that @circlecube has updated comments on his PRs and has been pinged about outstanding merge conflicts
  • @dryanpress is working on .customize-controls.css, continuing @robertgโ€™s extensive work on this 3000 line file
  • @wazeter and @dryanpress reflected on the Custom Property projectโ€™s ongoing achievements, made possible by the many generous contributors
  • @dryanpress restated some points from last weekโ€™s meeting:
    • custom-properties.css needs organising and the addition of a table of contents
    • box-shadow declarations should be put into custom property
    • This is still the first-pass โ€“ there will be further consolidation of the custom-properties

Open Floor / CSS Link Share

Post-meeting chat!

Thanks everybody!

#core-css, #summary

Dev Chat Agenda for October 13, 2021

Here is the agenda for this weekโ€™s developer meeting to occur on October 13, 2021, at 20:00 UTC.

Please note that depending on your timezone, the time may have changed with the end of daylight saving time.

Blogblog (versus network, site) Post Highlights and announcements

Bringing to your attention some interesting reads and some call for feedback and/or volunteers:

Next releases status update

  • Next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.: WP 5.9
    ๐Ÿ‘‰ WordPress 5.9 Planning Roundup
    ๐Ÿ‘‰ Introducing Twenty Twenty-Two

Components check-in and status updates

  • Check-in with each component for status updates.
  • Poll for components that need assistance.

Open Floor

Do you have something to propose for the agenda, or a specific item relevant to the usual agenda items above?

Please leave a comment, and say whether or not youโ€™ll be in the chat, so the group can either give you the floor or bring up your topic for you accordingly.

This meeting happens in theย #coreย channel. To join the meeting, youโ€™ll need an accountย on theย Making WordPress Slack.

#5-9, #agenda, #core, #dev-chat

Proposal for a Performance team

Note: a follow up post was published with information about next steps for this proposal.

We (the undersigned) believe that WordPress needs an official Performance team responsible for coordinating efforts to increase the performance (speed) of WordPress.

This proposal outlines why we believe that this is necessary, how we envision such a team might function, and some potential initial areas of focus. It is authored by contributors from Yoast and Google.

What problems are we trying to solve?

Users expect and prefer fast experiences (consciously or otherwise). Research shows that fast websites can provide a better user experience, increase engagement, benefit SEO, increase conversion, and be more economically and ecologically friendly.

References:

The benefits of improving performance driving investment across the web [ref]. This further raises usersโ€™ expectations, and thus may comparatively โ€˜harmโ€™ slow(er) things.

Compared to other platforms (e.g., Wix, Shopify, Squarespace), WordPress is falling behind. Other platforms are on average faster โ€“ and becoming increasingly faster โ€“ than WordPress websites (see The HTTP Archiveโ€™s Core Web Vitals report), and are actively investing in (and marketing) coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. performance-as-a-feature [1, 2].

We can see the impact of this investment in the widening gap between the proportion of WordPress sites which achieve โ€˜goodโ€™ Core Web Vitals scores, vs other platforms.

Performance graph for CMSs on desktop clients.
Performance graph for CMSs on mobile clients.

This gap continues to widen, despite the availability of many performance plugins and performance-focused themes. This suggests that thereโ€™s a discovery and/or education problem, or an updating/staleness problem โ€“ neither of which the pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. ecosystem solves for.ย 

In order to meet the increasing needs and expectations of site owners and end-users, WordPress needs to be actively investing in performance in WordPress Core and beyond (e.g., core code, themes & plugins requirements, setup and onboarding processes, adminadmin (and super admin)/editing experiences, education for content creators).

We believe that:

  • Performance is a fundamental part of user experience, and WordPress should aim to deliver a good user experience.
  • Achieving reasonable performance levels shouldnโ€™t be plugin territory, but part of core (aka, โ€œperformance by defaultโ€), because;
    • All WordPress users (of all types) need a well lit path to good performance.
    • Average end-users canโ€™t be expected to be performance experts.
    • Achieving high levels of performance requires technical considerations to be โ€˜built-inโ€™ across the whole stack; and as this is often not the case with themes/plugins, performance solutions are limited to โ€˜brute-forcingโ€™ performance solutions over non-performant behaviour (e.g., output buffering).
    • The plugin ecosystem doesnโ€™t help users who donโ€™t know that they need help, or who are poorly served by the plugin ecosystem.
  • Users determining which CMS to choose are / will be increasingly influenced by performance (and the associated UXUX User experience/SEO/conversion factors), and weโ€™ll lose ground to faster platforms.
  • โ€˜Democratizing publishingโ€™ requires that published content be discoverable; which will be less likely to occur via search engines (which influence or account for the majority of new content discovery) for slow(er) sites.

Web Vitals metrics provide a standardized and accepted mechanism for evaluating performance.

Plugin territory

Whilst we argue that some (perhaps most) performance considerations should be part of core, there are definitely areas that should remain firmly in โ€˜plugin territoryโ€™. For example, the following areas should be handled by plugins:

  • Integrations with specific CDNs
  • Template transformation processes (e.g., AMP)
  • Any non-standardized performance technology
  • Any experimental standards (e.g., browser APIs / capabilitiescapability Aย capabilityย is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on theirย role. For example, users who have the Author role usually have permission to edit their own posts (the โ€œedit_postsโ€ capability), but not permission to edit other usersโ€™ posts (the โ€œedit_others_postsโ€ capability). with limited adoption)

These distinctions will need exploring and lines will need drawing (and maintaining) as part of the teamโ€™s activity.

Why a team?

Performance is already a focus in Trac and a label in the Gutenberg GitHub repository; but these alone donโ€™t attract enough attention to the issues, nor unify efforts and priorities. Experienced and active contributors are not necessarily performance experts.

A team gives more visibility to the effort: contributors that are not interested in working on Core as a whole can be attracted by working on performance specifically. It also opens up contributing to new types of contributors, like performance or data analysts.

A performance team could also attract contributions from different groups; browsers, hosting, SEO companies, etc.

Resources and efforts

In practical terms, the creation of a performance team requires the following:

  • A performance tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) on Make websites
  • A performance channel in SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/
  • A meeting every two weeks; time to be determined
  • Two team representatives for administrative purposes: they will be responsible for:ย 
    • Giving a quarterly report to the project leadership
    • Assigning roles in the website
  • A team lead/product owner. They will be responsible to create a mission statement for the team, highlight the areas to tackle, outline the scope and the roadmap for the improvements that need to be made.
  • Representation in (and influence on) other Make verticals and processes (e.g., themes, plugins, etc)

Next steps

Next steps should be discussed and determined as part of the process of exploring and responding to this proposal.

In the case that there are no objections, the next major steps are likely to be:

  • Set up Slack channel and meeting schedule, and make.wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ infrastructure.
  • Benchmark performance and define ongoing/future measurement & success criteria
  • Identify priority projects for CWV improvements with high-level timelines
  • Assign responsibilities for the projects identified

Props

Thanks to the following for this involvement in outlining this proposal.

@francina, @adamsilverstein, @tweetythierry, @joostdevalk, @jonoaldersonwp, @flixos90, @aristath (in no particular order)

#performance, #proposal, #team

A Week in Core โ€“ October 11, 2021

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Letโ€™s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between October 4 and October 11, 2021.

  • 16 commits
  • 30 contributors
  • 29 tickets created
  • 5 tickets reopened
  • 17 tickets closed

The Core team is currently working on the next point (5.8.2) and major (5.9) releases ๐Ÿ› 

Ticketticket Created for both bug reports and feature development on the bug tracker.ย numbers are based on theย Trac timeline for the period above. The following is a summary of commits, organized by component and/or focus.

Code changes

Administration

  • Allow pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. action links row to wrap โ€“ #53275

Build/Test Tools

  • Change the patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. version used for testing the 5.6 branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". of PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher โ€“ #54223

Bundled Themes

  • Twenty Twenty-One: Remove duplicate width and height values from social icons โ€“ #54208

Coding Standards

  • Use strict type check for in_array() in register_block_script_handle() โ€“ #54206, #53359

Docs

  • Add a @since note for the new $parent_block parameter of several filters โ€“ #51612
  • Improve various inline documentation for adminadmin (and super admin) bar functions and hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. โ€“ #53399
  • Miscellaneous inline documentation improvements, including: โ€“ #53399

Editor

  • Apply the pre_render_block, render_block_data, and render_block_context filters when rendering inner/nested blocks โ€“ #51612

External Libraries

  • Revert [51900] for now to investigate test failures โ€“ #54162
  • Update getID3 to version 1.9.21 โ€“ #54162
  • Update jQuery UIUI User interface to 1.13.0 final โ€“ #52163

Permalinks

  • Move the NginxNGINX NGINX is open source software for web serving, reverse proxying, caching, load balancing, media streaming, and more. It started out as a web server designed for maximum performance and stability. In addition to its HTTP server capabilities, NGINX can also function as a proxy server for email (IMAP, POP3, and SMTP) and a reverse proxy and load balancer for HTTP, TCP, and UDP servers. https://www.nginx.com/. documentation link to help sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. in wp-admin/options-permalink.php โ€“ #39258

Privacy

  • AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both โ€œdirect accessโ€ (i.e. unassisted) and โ€œindirect accessโ€ meaning compatibility with a personโ€™s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility): Use red color for action buttons on the Erase Personal Data screen: โ€“ #49603

Site Health

  • Use an integer value as a fallback in the available disk space check โ€“ #51857

TaxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies.

  • Populate the WP_Terms_List_Table::$items property in ::prepare_items() โ€“ #54181

Upgrade/Install

Props

Thanks to the 30 people who contributed to WordPress Core on Trac last week: @audrasjb (4), @SergeyBiryukov (4), @azaozz (3), @mukesh27 (2), @sabernhardt (2), @hellofromTonya (2), @Clorith (2), @noisysocks (2), @peterwilsoncc (2), @aristath (2), @sergeybiryukov (2), @joedolson (1), @carike (1), @arena (1), @desrosj (1), @timlappe (1), @johnjamesjacoby (1), @jrf (1), @gaambo (1), @Presskopp (1), @laxman-prajapati (1), @max-dayala (1), @swissspidy (1), @mattoakley (1), @mgol (1), @TobiasBg (1), @pbiron (1), @galbaras (1), @afragen (1), and @ankit-k-gupta (1).

Congrats and welcome to our 3 new contributors of the week: @timlappe, @max-dayala, @mattoakleyย โ™ฅ๏ธ

Core committers: @sergeybiryukov (8), @hellofromtonya (3), @azaozz (2), @johnbillion (2), and @desrosj (1).

#5-8-2, #5-9, #core, #week-in-core

Editor Chat Agenda: 13 Oct 2021

Facilitator and notetaker: @annezazu

This is the agenda for the weeklyย editor chatย scheduled forย 2021-10-13 14:00 UTC.

This meeting is held in theย #core-editorย channel in the Making WordPressย SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/.

  • Whatโ€™s new in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ (11.7). This release is planned for the day of the meeting.
  • WordPress 5.9ย โ€œGo, no goโ€ date andย priorities. This will be more of a heads up as the meeting now happens on October 14th rather than the 12th.
  • Whats next in Gutenberg: Mid-September 2021.
  • Updates based onย updated scope for site editing projects:
    • Navigationย BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.ย & Navigation Editor.
    • Template editor.
    • Patterns.
    • Styling.
    • Mobile Team.
  • Task Coordination.
  • Open Floor.

If you are not able toย attendย the meeting, you are encouraged to share anything relevant for the discussion:

  • If you have an update for the main site editing projects, please feel free to share as a comment or come prepared for the meeting itself.
  • If you have anything to share for the Task Coordination section, please leave it as a comment on this post.
  • If you have anything to propose for the agenda or other specific items related to those listed above, please leave a comment below.

#agenda, #core-editor, #core-editor-agenda, #meeting