Dev Chat Agenda for April 21, 2021

Here is the agenda for this week’s meetings to occur at the following times: April 21, 2021 at 5:00 UTC and April 21 2021 at 20:00 UTC.

Release Announcements

Blogblog (versus network, site) Post Highlights

Blog posts that need feedback

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 our standard list 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-7-1, #5-8, #agenda, #dev-chat

Full Site Editing Go/No Go: Next steps

The Full Site Editing Go/No Go demo took place a few days ago, where project leadership determined what new features should be included in WordPress 5.8 based on their current status, feedback gathered in calls for testing, and the prospect of achieving a solid implementation before the feature freeze.

This post aims to provide a high-level overview of the focuses to attend to before the feature freeze; linked individual actionable GitHubGitHub GitHub is a website that offers online implementation of git repositories that can 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 be the repository owner. https://github.com/ items further develop lower-level requirements to complete. Individual items are also being tracked in the WordPress 5.8 FSE Must Haves project board.

Schedule

According to the WordPress 5.8 pre-planning schedule, the feature freeze will take place on May 25th, leaving room for the following 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/ 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 releases to be merged:

Gutenberg versionRC release dateFinal release date
10.5April 21stApril 28th
10.6May 5thMay 12th
10.7May 19thMay 26th

To align with this schedule, the last version to be merged in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. before the feature freeze will be 10.7-RC, with any future bugfix applied before or after the final 10.7.0 being ported as well. Moreover, to ease new feature testing with more frequent merges, as suggested in a recent dev chat, Gutenberg 10.4 -without experimental features- is already available in WordPress core.

Next steps

Apart from all the incremental improvements included by merging up to 9 plugin releases, from Gutenberg 9.9 to 10.7, the following work-in-progress features are targeted for 5.8 and should become stable by Gutenberg 10.7. 

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 building

Block themes might arguably represent one of the biggest core theme-building paradigm changes in the last decade. As such, a huge effort is being done to achieve a future-proof, evolvable foundation. With most of the infrastructure ready, the focus remains on the theme.json configuration file, and the “block supports” mechanism:

A list of detailed requirements to meet before the feature freeze can be found at the Block Styles Breakdown overview issue.

Once released in 5.8, theme developers will be able to create block themes and provide quality feedback to iterate over these mechanisms.

Introducing Theme blocks

As part of the implementation of Full Site Editing, a number of theme blocks have been developed to cover theme/site features similar to how classic template tags worked. The next steps are to finish determining which of these blocks should be included in 5.8 and enabled for classic themes, and polish them, including:

These blocks should display a badge in the inserter, denoting they are new blocks that, while completely stable and functional, might still need some UXUX User experience polishing and are meant to experiment and tinker around.

Template editing within the post editor

With one of the targets for 5.8 being to introduce block templates, users will be able to create custom block templates for posts and pages in classic themes. Although this feature mostly relies on the existing site editing infrastructure already available in the plugin, these improvements will be focused on to provide a great user experience. User testing is planned in coordination with @annezazu from the FSE Outreach program during the WordPress 5.8 betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. phase. Users are encouraged to join this program as it provides invaluable feedback that helps drive the projects’ focus and determine feature usability.

Widgets Editor & Block Widgets in the CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings.

The Widgets Editor project aims to bring the power of blocks to classic theme with two major milestones:

  • Adding support for blocks in widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. areas
  • Embedding a block editor in the customizer

Once these milestones have been completed, the remaining efforts towards 5.8 focus on providing stellar stability and backward compatibility, with an upcoming call for testing to be launched in the near future; if this is of interest to you, please keep an eye out for a future post on this blogblog (versus network, site). A detailed list of the next actions can be found at the Widgets Editor tracking issue.

Persistent List view in the post editor

The Persistent List View provides an improved overview of the inserted blocks and has greatly enriched the way users navigate the block tree in the Site Editor. Therefore, the goal is to bring the Persistent List View to the post editor as well in 5.8.

Duotone block supports

WordPress 5.8 aims to introduce the new duotone design tool as a “block supports” feature, available by default in the core image and cover blocks. The PR introducing this feature is currently in its last polishing iterations and should be expected to land in the plugin soon.

Gallery block refactor

Last, but not least, work and a round of testing continue on the Gallery block refactor which seeks to be a wrapper around Image block rather than a separate block entirely. This will allow the Gallery block to benefit by default from all design tools and improvements made to the Image block. Feedback collected is addressed as part of the PR efforts; users are welcome to test and submit their feedback as early as possible so that it can be acted upon in the upcoming weeks.

#5-8, #core-editor, #gutenberg

X-post: Block-based Themes Meeting Agenda: Apr 21, 2021

X-post from +make.wordpress.org/themes: Block-based Themes Meeting Agenda: Apr 21, 2021

A Week in Core – April 19, 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 April 12 and April 19, 2021.

  • 26 commits
  • 22 contributors
  • 44 tickets created
  • 5 tickets reopened
  • 37 tickets closed

WordPress 5.7.1 was released on April 14, 2021.

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.

Code changes

Build/Test Tools

  • Make adjustments to how often old branches are tested – #52653

Bundled Themes

  • Bump versions for WordPress 5.7.1 – #52859

Coding Standards

  • Use strict comparison in wp-admin/includes/class-wp-media-list-table.php#52627
  • Fix WPCSWordPress Coding Standards A collection of PHP_CodeSniffer rules (sniffs) to validate code developed for WordPress. It ensures code quality and adherence to coding conventions, especially the official standards for WordPress Core. issues in wp-admin/includes/class-wp-comments-list-table.php#52627
  • Use strict comparison in wp-admin/includes/class-walker-nav-menu-edit.php#52627
  • Give a variable in WP_Automatic_Updater::after_core_update() a more meaningful name – #52627
  • Use strict comparison in wp-admin/includes/class-custom-image-header.php#52627
  • Use strict comparison in wp-admin/includes/class-custom-background.php#52627
  • Rewrite a fragment in request_filesystem_credentials() for clarity and to avoid repetition – #52627
  • Use strict comparison in wp-admin/includes/file.php#52627
  • Use strict comparison in wp-admin/includes/class-wp-automatic-updater.php#52627

Documentation

  • Correct comment format in `wp-adminadmin (and super admin)/edit-tags.php`, remove extra space – #46428

Editor

  • Update WordPress packages to use with WordPress 5.8 – #52991
  • 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. changes for WordPress packages added in 5.7.1 – #52912
  • Blocks: Add is_default handling to server side 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. styles registry – #53006

External libraries

  • Include upstream GetID3 fix for PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8

Feeds

  • Rename “Summary” to “ExcerptExcerpt An excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that plugin’s metabox.” in Reading Settings – #52987

Internationalization

  • Add context to strings when updating a 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 with a ZIP package – #53017, #52625

Privacy

  • Ensure “Export Personal Data” does not generate invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. 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.#52892

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/.

  • Allow authors to read their own password protected posts

Site Health

  • Remove Ajax requests from dashboard widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user.#49814
  • Correct array key for the default tab – #47225
  • Support custom sub-menus and pages – #47225
  • Correct test result status for the HTTPSHTTPS HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information. test – #52783

Upgrade/Install

  • Correct the alignment of error messages for the language installer – #52989

Props

Thanks to the 22 people who contributed to WordPress Core on Trac last week:

@SergeyBiryukov (3), @mukesh27 (3), @peterwilsoncc (3), @jrf (2), @xknown (2), @xavivars (1), @dimadin (1), @desrosj (1), @TimothyBlynJacobs (1), @audrasjb (1), @sabernhardt (1), @immeet94 (1), @hellofromTonya (1), @arena (1), @timothyblynjacobs (1), @swissspidy (1), @zieladam (1), @andraganescu (1), @aristath (1), @youknowriad (1), @ramiy (1), and @ravipatel (1).

Core committers: @sergeybiryukov (11), @desrosj (4), @clorith (3), @gziolo (3), @davidbaumwald (3), @peterwilsoncc (1), and @ocean90 (1).

#5-7-1, #5-8, #week-in-core

Editor Chat Agenda: 21 April 2021

Facilitator and notetaker @ajitbohra

This is the agenda for the weekly editor chat scheduled for Wednesday, 21 April 2021, 14:00 UTC.

This meeting is held in the #coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-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/..

  • Full Site Editing GO/NO GO
  • WordPress 5.8 FSE Must Have
  • Gutenberg 10.4
    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/ 10.5 RC
  • Monthly Plan for April 2021 and key project updates:
    • Global Styles.
    • 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.-based WidgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. Editor.
    • Navigation block.
    • Full Site Editing.
  • Task Coordination.
  • Open Floor.

Even if you can’t make the meeting, you’re encouraged to share anything relevant for the meeting in the comments below:

  • 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.

#core-editor #core-editor-agenda

Proposal: Treat FLoC like a security concern

Google is rolling out Federated Learning of Cohorts (FLoC) for the Chrome browser.

TL;DR: FLoC places people in groups based on their browsing habits to target advertising.

Why is this bad? As the Electronic Frontier Foundation explains in their post “Google’s FLoC is a terrible idea“, placing people in groups based on their browsing habits is likely to facilitate employment, housing and other types of discrimination, as well as predatory targeting of unsophisticated consumers.

This is in addition to the privacy concerns of tracking people and sharing their data, seemingly without informed consent – and making it more difficult for legislators and regulators to protect people.

So What Now?

WordPress powers approximately 41% of the web – and this community can help combat racism, sexism, anti-LGBTQ+ discrimination and discrimination against those with mental illness with a few lines of codeLines of Code Lines of code. This is sometimes used as a poor metric for developer productivity, but can also have other uses.:

function disable_floc( array $headers ) : array {
	$permissions = [];
	if ( ! empty( $headers['Permissions-Policy'] ) ) {
		// Abort if cohorts has already been added.
		if ( strpos( $headers['Permissions-Policy'], 'interest-cohort' ) !== false ) {
			return $headers;
		}
		$permissions = explode( ',', $headers['Permissions-Policy'] );
	}

	$permissions[] = 'interest-cohort=()';
	$headers['Permissions-Policy'] = implode( ',', $permissions );
	return $headers;
}
add_filter( 'wp_headers', 'disable_floc' );

What About Admins Who Want FLoC?

Those websites who want to opt into FLoC are likely to have the technical know-how to simply override this proposed 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. in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress..

When balancing the stakeholder interests, the needs of website administrators who are not even aware that this is something that they need to mitigate – and the interests of the users and visitors to those sites, is simply more compelling.

Furthermore, for WordPress versions that support privacy settings, we can easily add an on-off toggle to enable websites to opt in. This would only require a few more lines of code and only a couple of new strings.

What Do You Mean By “Treat It Like A Security Concern”?

  1. Include 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. the 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., rather than waiting for the 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.;
  2. Back-port the patch to previous versions of WordPress.

Why Treat It That Way? Why Not Just Wait For The Next Major Release?

Well, keep your eyes peeled, because there is a ticketticket Created for both bug reports and feature development on the bug tracker. for future releases on its way!

While it is indeed unusual to treat a new “feature” this way, there is precedent in that something that was not strictly a security vulnerability in comments was back-ported to previous versions for the good of the community as a whole.

Currently, 5.8. is only scheduled for July 2021. FLoC will likely be rolling out this month.

Furthermore, a significant number of WordPress sites only update to minor versions. By back-porting, we can protect more sites and more visitors to those sites – and amplify the impact.

Request For Comment

Please join the discussion below!

Whether want to show support, disagree vehemently, or just want to make the implementation the best that it can possibly be, please have your voice be heard.

I’m aware that there is a lot of discussion on other platforms, including Twitter on this matter, but we won’t see all of it, so in addition to spreading the conversation there, please comment here too, so that it can be considered when this is discussed at development meetings and when the ticket is created (consensus building first – and that is done here 😉 )

YOU DO NOT HAVE TO BE A DEVELOPER TO PARTICIPATE. There will be a ticket on core.trac.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/ where we will discuss all of the technical stuff. I’m tremendously grateful that there are so many developers, Core, MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. and others, around, but blogblog (versus network, site) posts on make.wordpress.org are the places that are accessible to techies and non-techies alike 🙂

Version Control:
1. Edited to add clarification that treatment like a security concern refers to the process / procedure (accelerated development and back-porting).
2. Code snippet updated based on suggestions below. Thank you to Tom for the snippet and to everyone who suggested conditionally appending, rather than replacing.
Added some more info to the Request for Comment.
#core-privacy

DevChat meeting Summary – April 14, 2021

@markparnell and @audrasjb led the weekly meetings of the WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. team, respectively at 05:00 UTC and 20:00 UTC. Here is the meeting agenda.

Link to 05:00 UTC devchat meeting on the core channel on Slack

Link to 20:00 UTC devchat meeting on the core channel on Slack

Upcoming WordPress releases

WordPress 5.7.1

Since no issue was raised after the release candidate, WordPress 5.7.1 was released a few hours after the devchat. It contains 26 bugfixes and 2 security fixes.

WordPress 5.8

Some blogblog (versus network, site) posts were published on Make/Core:

While it happened after the meeting, it’s important to note that the Full Site Editing Go/No Go decision was published on April 14, 2021.

@annezazu mentioned the latest call for testing for the FSE Outreach Program. This week, it’s about the Query Block.

Announcements and news

Please note that these posts are still waiting for feeback:

Component maintainers updates

General (@sergeybiryukov): Sergey has started chipping away at some long-standing coding standards issues in core, see ticketticket Created for both bug reports and feature development on the bug tracker. #52627 for more details.

Build/Test Tools, Date/Time, Internationalization, Permalinks (@sergeybiryukov): No major news this week.

Site Health (@clorith): No major news this week.

Menus, Widgets and Upgrade/Install (@audrasjb): No major new this week.

@audrasjb mentioned there are still many Core components looking for new maintainers:

  • Cache 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.
  • Database
  • Help/About (@marybaum)
  • Quick/Bulk Edit
  • Feeds
  • Filesystem API
  • Import
  • Mail
  • Plugins
  • Post, Post types
  • Login and registration

@marybaum volunteered to maintain the Help/About component. This request was accepted by the Core team.

Open floor

@webcommsat shared that lots of people have been asking about WCEU dates (7-10 June 2021). The community team is looking at how they promote contributing this year too. More soon.

Ticket #53014 was mentioned in both 5:00 UTC and 20:00 UTC devchats. It’s in milestone 5.8. It wasn’t fixed in previous releases as it still needs a 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. and proper testing. 

#5-7-1, #5-8, #dev-chat, #summaries, #summary

Full Site Editing Go/No Go | April 14, 2021

TL;DR

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/ 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 shipped v10.4 yesterday, April 14th, and Matías hosted the go/no go demo to review the current state of Full Site Editing and determine what, if anything, should be included in WordPress 5.8 (July 2021), as described in my earlier post.

The demo lasted close to 1.5 hours; it’s impressive to see how far Gutenberg has come. It was evident in the demo how powerful Full Site Editing can be. There is plenty to iterate upon and refine, but from a high level perspective all participants felt this was a “go” for WP5.8. Listed below are the primary areas to focus our collaborative efforts on, as well as a full list of issues/questions raised in the demo. With the cadence of Gutenberg updates there should be three major releases of Gutenberg (10.7) before the feature freeze date for WP5.8 betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process..

The changes that Phase 2 bring to WordPress are substantial, so to avoid overwhelming users the Global Styles interface and Site Editor (managing all templates) will ship post-WP5.8. This also gives more time for more theme authors, plugin developers, agencies, designers, site builders, and the like to explore and provide feedback.

WP5.8 Go ✅

  • Improvements from Gutenberg 9.9+.
  • Introduce new blocks (Query, Site Logo, Navigation, etc).
  • theme.json mechanism.
  • Template Editor for Pages/Blank Template.
  • Widgets Screen & 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. widgets in CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings..
  • Design tools: Duotone, Layout controls, padding, etc.

Not all of the above are currently ready but there’s some level of confidence that they can be by the time of 5.8.

Who Attended

  • Matt Mullenweg – Project Lead (advocating for the vision/mission of WordPress, and aggregate body of users)
  • Matías Ventura – Gutenberg project lead (host of the demo)
  • Helen Hou-Sandí – Lead developer (advocating for CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., and extender community)
  • Josepha Haden Chomphosy – Executive Director (advocating for the community of WordPress, and aggregate body of users)
  • Héctor Prieto – Technical Project Manager (following up on technical action items)
  • Chloé Bringmann – Assisting with administrative and operational logistics

Reflections and Action Items

Listed below are synthesized suggestions and comments from the conversation.

Pattern Directory

  • While the directory is not ready yet, iterations will continue. More available patterns will be necessary, if it is to live up to its potential.

Query Block

  • Perhaps rename Query along the lines of, “Block List.”
  • Define the “query” of query block, and refine nomenclature for users.
  • When selecting a pattern, it’s not clear that what you see is an example and that you still need to select which pattern you want. Iterate on UIUI User interface.
  • Multi-entity saving flow is not clear, as when you don’t save some entities’ changes nothing tells you what happened, and unselected changes aren’t actually discarded, just not saved in the background.
  • Iterate on the best placement for block names.
  • The “inherit query” text is not clear, both from a technical standpoint and a jargon standpoint. We need to aim for the right type of verbose so that it’s clear and descriptive.
  • 🚩 This is potentially too powerful for users—you can edit everything from the blocks in this block. Flag was seconded.

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.

  • When options aren’t available in the UI because they have been disabled by the theme, make it clear that the options are turned off.
  • theme.json should allow a primary block to declare the styles for any nested blocks (like a search block within the nav block).

Inserter

  • The slide-in inserter makes the canvas smaller, so when adding full-page patterns they don’t look the same as in the preview until the inserter is closed again. Add the possibility for the inserter to show the patterns in the canvas in a zoomed-view rather than in a responsive view.

Navigation

  • We need more user-testing of both the Navigation Block and the Navigation Editor.
  • Move most of the block popups to the toolbar like when cropping images in the Image Block. E.g., links are not visible until you edit them.

Other

Next Steps

With this outline for the WP5.8 scope, look for a plan to prioritize and address these issues in the coming days.

Recording

April 14, 2021 Recording

Thank you to @cbringmann, @matveb, and @priethor for their work on getting this content processed and ready to ship.

Transcript

Continue reading

#5-8, #core-editor

CSS Chat Agenda: April 15, 2021

This is the agenda for the upcoming CSSCSS Cascading Style Sheets. meeting scheduled for Thursday, April 15, at 5:00 PM EDT. This meeting will be held in the #core-css 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/..

If there’s any topic you’d like to discuss, or if you have suggestions for discussion questions, please leave a comment below!

  • Housekeeping
  • Review discussion outcomes from last week (CSS deprecation path, JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. targeting naming conventions)
  • Project Updates
  • Open Floor + CSS Link Share

#agenda, #core-css

What’s new in Gutenberg 10.4? (14 April)

Two weeks have passed since the last 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/ release, which means a new version is already available! Gutenberg 10.4 introduces cool features like 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. widgets in the CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings., enhancements to the Site Editor, improvements to rich text placeholders, and, as always, 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 as well.

Block widgets in the Customizer

As part of the Block-based WidgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. Editor project, one goal is to enable block widgets in the Customizer, with Gutenberg 10.4 introducing the first iteration of this feature.

List View design updates

This release brings us a set of design updates to the Site Editor List View, including updates to icon sizes and spaces and new colors for hover, focus, and select states.

More descriptive publishing UIUI User interface

The publishing content UI found in block editors now includes the site icon and name so that it’s clearer in certain cases, such as full-screen or mobile, where you are publishing to.

Revert template to theme defaults within the Site Editor

Until now, to revert a template to the default provided by a theme, it had to be done outside the Site Editor. Thanks to this new feature, it is now possible to revert template customizations directly in the editor.

Rich text placeholder enhancements

To improve the editing experience, rich text block placeholders have seen a few tweaks in this release. Starting in Gutenberg 10.4, blocks containing rich text will display a shorter placeholder text that will remain shown even when being focused.

Improvements to Navigation Block

The Navigation Block has good momentum and has received many improvements in this release, including a new “Post Format Link” variation, a clearer placeholder state, and more style polishing. 

Editor and frontend parity refinement

Providing a consistent markup between the editor and the frontend is key to deliver a smooth editing experience. Gutenberg 10.4 iterates towards this goal by ensuring a frontend-editor parity in blocks such as Quote, Separator, and Archives, among others.

10.4

Enhancements

  • Ensure Frontend/Editor block styles parity:
  • Block Library:
    • Latest Comments: Remove list padding and margin. (29402)
    • Post Date: Add option to make it a link. (30499)
    • Post ExcerptExcerpt An excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that plugin’s metabox.: Fix toolbar for post excerpt warning. (30280)
    • Post Title: Fix “‘length’ of undefined” error. (30208)
    • Preformatted: Add color controls. (28396)
    • Query: Use a WordPress 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. for the query block. (30405)
    • Search: Add border radius support. (30227)
    • Site Logo: Style polishing. (30526)
    • Template Part: Add padding support to template parts. (29779)
    • Update placeholder text across blocks. (30404)
  • RichText:
    • Add min width to show caret for empty inline container. (30224)
    • Always show placholder on focus. (30393)
  • General Interaface:
    • Add site icon and name to the publish flow. (30231)
    • Use a darker canvas color. (30282)
    • Update the save button label in the site editor. (30439)
  • Icons:
    • Polish media & text icons. (30239)
    • Update “close small” icon so that its shape matches the “add” icon dimensionally. (30014)
    • Update site-logo block icon. (30211)
  • Inserter: Clarify that when the Inserter is open clicking the + button in the top bar will close it again. (29759)
  • Writing Flow: Use a shorter writing prompt. (29611)
  • List View: Improve the spacing, colors and icons (30455) (30303)
  • Block Themes: Clarify the empty block templates message. (30145)
  • Site Editor:
    • Allow reverting custom templates to their original theme-provided files. (28141)
    • Use “Custom Styles” label to signal there are global styles changes in the saving panel. (30521)

Bug Fixes

  • Inserter: Show only the patterns that use allowed blocks. (30300)
  • Block Library:
    • Buttons: Prevent overlapping button blocks in the frontend. (30253)
    • Columns: Prevent having a width > 100%. (30229)
    • Cover: Add ‘object-position’ to allowed inline style attributes list. (30243)
    • Gallery: Avoid adding all media items in galleries using external URLs. (30122)
    • Image: Do not preserve custom sizes when replacing images. (29919)
    • Query:
      • Fix undo trap during creation. (30203)
      • Pagination Numbers: Print nothing if content is empty. (30554)
    • RichText: Fix arrow navigation around emoji. (30206)
    • Search block: Fix alignment issues. (30444)
    • Site Logo: Delete sitelogo option when custom logo does not exist or was removed. (30427)
  • Block List: Fix mover position in the docked toolbar. (30242)
  • Code Editor: Revert save editors value on change (#27717). (30524)
  • Post Editor:
    • Avoid focus attempt on a non-existent post title in code editor. (29922)
    • Fix the post author selector for contributor roles. (30218)
  • Gutenberg 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: Ensure that plugin does not error with older versions of WordPress. (30230)
  • Inner blocks: Memoize allowedBlocks to prevent needlessly updating settings. (30311)
  • Server side renderer: Fix errors in template part editor context. (29246)
  • Writing Flow:
    • Fix copy pasting non textual blocks. (30225)
    • Fix horizontal caret placing for empty editable with placeholder. (30463)
    • Fix multi-selection copying in Safari. (30202)
  • Site Editor:
    • Fix nested template parts. (30416)
    • Fix media upload behaviour and error state. (30436)
    • Select the block inspector top upon selection. (30387)
  • Components: Stop matching autocompleter upon mismatch. (30649)

APIs:

  • Add padding server-side block support. (30332)
  • Remove small APIs deprecated in WordPress 5.2. (30283)
  • Block Patterns: Remove scope from Query patterns and introduce blockTypes. (30471)

Experiments

  • Customizer
    • Add customize widgets inserter. (29549)
    • Add Legacy Widget block. (30321)
    • Fix adding blocks in the widgets customizer. (30221)
  • Navigation Editor and Block
    • Apply mover tweaks to navigation and widgets. (30284)
    • Add src/navigation-link/index to side effect whitelist. (30200)
    • Add post format variation to navigation link block. (30403)
    • Avoid creating a new array/object on every render. (30374)
    • De-emphasize “Link” block. (30172)
    • Fix arrow inheritance, polish. (30287)
    • Fix hardcoded color in navigation submenu icon. (30385)
    • Fix Navigation Link block constantly updating its inner block list settings. (30274)
    • Fix navigation link block dragging error. (30219)
    • Fix snackbar list component blocking clicks to UI it overlaps. (30381)
    • Flip orientation of submenus that are towards the right of the viewport. (30342)
    • Indicate when a menu is deleted and show the menu switcher afterwards. (29201)
    • Make the navigation placeholder clearer. (30281)
    • Polish navigation menuNavigation Menu A theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site. submenus. (30335)
    • Replace arrow with chevron. (30180)
    • Save theme location on button click. (30340)
    • Use same default implementation of __experimentalFetchLinkSuggestions in post, site, navigation, widget editor. (29993)
  • Widgets Editor
    • Add manage with live preview link. (29839)
    • Handle when $instance is empty and use str_replace instead of sprintf in the Widget block. (30217)
    • Iterate on Legacy Widget block. (29960)

Documentation

  • Handbook:
    • Add description for templateParts in 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.. (30118)
    • Add instructions for finding attributes for use in templates. (30258)
    • Added a practical example of adding a component to the 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.. (30379)
    • Clarify what is meant by “block wrapper”. (30315)
    • Fix broken links to typescript documentation. (30188)
    • Fix code snippet for disabling the block directory. (30365)
    • Fix formatting. (30309)
    • Fix typos in block-controls-toolbar-and-sidebar.md. (30513)
    • Rename, changed URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org Link. (30483)
    • Rich Text: Add section for disabling specific format types. (29383)
    • Updated documentation to reflect the output created currently by npx wordpress/create-block gutenpride. (30353)
    • Update feature deprecation guide. (30220)
  • Packages:
    • Api-fetch: Fix example code for apiFetch middlewares. (30534)
    • Block supports: Fix typos in layout supports comment. (30537)
    • Block Editor: Fix block-editor typo. (30401)
    • Components:
      • Remove references to __experimental* in the DateTimePicker component documentation. (29322)
      • Update CustomSelectControl component README.md. (29854)
  • docgen:
    • Components: Add types to Draggable. (29792)
    • Add types to clean-node-list. (30412)
    • Add types progressively to dom modules. (30103)
    • Add types to phrasing-content. (30102)
    • Export all types from api-fetch. (30539)
    • Fix arrow functions and TS index module support. (30028)
    • deprecated: Export DeprecatedOptions to align with DefinitelyTyped. (30677)
    • api-fetch: Align exported type names with DefinitelyTyped types. (30570)

Code Quality

  • Block Editor: Use proper insertion point for drop. (29933)
  • Block Library: Fix Post Excerpt warnings for RichText in inline containers. (30498)
  • Components: Simplify ScrollLock, adding types. (29634)
  • Gutenberg Plugin:
    • Prettify YAML scripts. (30409)
    • Remove deprecations planned for 10.3 release. (30417)
    • Update the objectFitPolyfill vendor library. (30507)
  • PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher Coding Standards fixes. (30346)

Tools

  • Add /packages/stylelint-config to CODEOWNERS. (30264)
  • Build: Ensure non-JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. changes are processed in the watch mode. (30343)
  • Testing:
    • Added end-to-end tests for navigation menu name editor. (29774)
    • GHA workflow improvements when setting up NodeJS. (29078)
    • Include NodeJS version in the cache key. (30512)
    • Remove button from forbidden elements. (30223)
    • Remove cache restore-keys. (30510)
    • Skip flaky end-to-end tests. (30344)

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.

VersionLoading TimeKeyPress Event (typing)
Gutenberg 10.45.94s35.14ms
Gutenberg 10.35.98s32.58ms
WordPress 5.75.05s31.34ms

Kudos to all the contributors that helped with the release! 👏

Thanks @youknowriad for managing the release and @critterverse for helping with the release post assets.

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