The WordPress coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. development team builds WordPress! Follow this site for general updates, status reports, and the occasional code debate. There’s lots of ways to contribute:
Found a bugbugA 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.?Create a ticket in our bug tracker.
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 CoreCoreCore 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.
@dryanpress shared a link to the Twenty Twenty-Two project which promises to be the first default WordPress theme built for full-site editing and styled with theme.json – very exciting progress!
@dryanpress and @wazeter continued with a long, interesting chat encompassing the Tove theme’s header block pattern, the self-deception of “mobile first design”, the pros and cons of the nav blockBlockBlock 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., CSS Grid and Tailwind’s Grid Template Columns, and WordPress & the blockchain
@dryanpress also shared a couple of great CSS Grid learning resources:
Next major releasemajor releaseA 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.
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.
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) coreCoreCore 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.
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 pluginPluginA 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 UXUXUser 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 / capabilities with limited adoption)
These distinctions will need exploring and lines will need drawing (and maintaining) as part of the team’s activity.
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 tagtagA 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
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.orgThe 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.
Welcome back to a new issue of Week in CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTracAn 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 🛠
TicketticketCreated 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 pluginPluginA 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 patchpatchA 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 branchbranchA 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 PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 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 hooksHooksIn 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
Update jQuery UIUIUser interface to 1.13.0 final – #52163
Permalinks
Move the NginxNGINXNGINX 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 sidebarSidebarA 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
AccessibilityAccessibilityAccessibility (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
What’s new in GutenbergGutenbergThe 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.
Navigation BlockBlockBlock 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.
We discussed the approach to the theme’s development, which is developing this as a blockBlockBlock 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 and fixing as much in GutenbergGutenbergThe 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/ as possible. One of the goals is for the theme to have as little CSSCSSCascading Style Sheets. and PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher as possible.
Our current development focuses are two-fold:
Identifying the gaps / blockers in Gutenberg. There is an overview issue tracking what’s needed on the Gutenberg side: https://github.com/WordPress/twentytwentytwo/issues/75 We could use help testing various blocks and filing issues whenever they’re not looking or working as expected.
Block patterns coming soon, @kjellr is leading that effort. We could use help with PR reviews and testing as those become available, follow along using this tagtagA 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.).
Meeting Cadence
We plan to do meetings once a week at this time (Mondays, 15 UTC), aiming to keep them around 30 minutes as to be respectful of folks time and focus on async for inclusivity.
Open Floor Q&A
How do we decide what needs to be worked on?
Ideally everything that’s being worked on has an issue — so if you find something that needs fixing, please open an issue for it, and then work on a PR.
Is there a mechanism for collaborating on an issue?
Comment on the issue, so it’s clear you’re working on it and if folks want to collaborate, they can communicate in the issue and slackSlackSlack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. if needed
Are you looking for triagetriageThe act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. help?
You can pingPingThe act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.”@kjellr or me (@jffng) if you would like to help this way.
Will TT2 align with the accessibilityAccessibilityAccessibility (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) level AA like TT1 did? How do we make sure this gets addressed?
A lot of this lands on Gutenberg, and for what we can do on the theme side, we hope to make this as accessible as possible. For example, the color palettes have been designed to pass WCAGWCAGWCAG is an acronym for Web Content Accessibility Guidelines. These guidelines are helping make sure the internet is accessible to all people no matter how they would need to access the internet (screen-reader, keyboard only, etc) https://www.w3.org/TR/WCAG21/. AAA contrast.
Goal: Discuss Navigation Editor and BlockBlockBlock 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. goals for 5.9 and beyond.
Details: There are some recent proposed changes to the Navigation Editor and Block that would change some aspects of the project. See the post in slack for more information (https://wordpress.slack.com/archives/C01KDAZJMQ9/p1633512526250600). This hallway hangout will be assembled to discuss how the project should proceed.
GutenbergGutenbergThe 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/pluginPluginA 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
No update currently mentioned. Check out the Full Site Editing label of current issues in the Gutenberg repo on GithubGitHubGitHub 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/.
Navigation BlockBlockBlock 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
Top 5 embeds blocks directly available in the block picker, Retry feature, specific embed’s icon and label in placeholder and bottom sheets.
Added a way to contact support from inside editor.
Added automated tests for editor onboarding.
Fixes:
Fixed an image block regressionregressionA 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. causing the images to render with a fixed height and a bugbugA 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. preventing the columns block from rendering in the editor in some occasions.
Shared coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. editor improvement post on accessibilityAccessibilityAccessibility (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): https://make.wordpress.org/core/2021/10/06/core-editor-improvement-continued-progress-on-accessibility/
Any issues with switching Gutenberg examples repo (https://github.com/WordPress/gutenberg-examples) default branch to trunk? It’ll be nice to have it consistent.
Can someone create a WP 5.9 Github project board to where we can focus on Full Site Editing and general 5.9 issues/PR’s? As it has earlier been very useful to have the project board to check for issues related to a release.
@priethor I can kick it off, sure. I was looking forward to the go/no-go demo next week so that we can have a more clear scope of the must-haves before creating it.
The following PR needs some discussion: Use theme mods for templates and template parts “I was referred to this PR, and it seems like it had a lot of traction in 5.8 but didn’t make it in time. It’s still there needing reviews and possibly a decision for 5.9 and it seems like something that shouldn’t be left too late, otherwise the same will happen again. (I would review it myself, but I don’t really have the full knowledge required).”
@get_dave It would be great if there was a recap summary which captures the current state of discussion. It seems pretty important for the utility of Template Parts. (Dave added a comment.)
I would like to ask if anyone here had any concerns about adding a hook (or some other solution) to ServerSideRender which allows a plugin author to trigger something after a block has rendered. I opened a Feature Requestfeature requestA feature request should generally begin the process in the ideas forum, on a mailing list, as a plugin, or brought to the attention of the core team, such as through scope meetings held for each major release. Unsolicited tickets of this variety are typically, therefore, discouraged. for this on Github here with a further explanation: https://github.com/WordPress/gutenberg/issues/35294
I found this forum post asking if there is a separate Read More block for use in a Query LoopLoopThe 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.? Currently it seems the Read more is locked inside the ExcerptExcerptAn 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.. There is also a Gutenberg issue for it here: Could we have Read more link as a stand alone block?
In labels I don’t see hacktoberfest. Is there any decision I’m not aware of? It may help someone.
@ntsekouras It doesn’t have to be a part of this PR. It’s closely related with this one: ToggleGroupControl: Visual state of an undefined value is inconsistent I’ve started looking a bit at these as I had ported the ToggleGroupControl. Do you want to collaborate on this? Some of the things there involve the internal usage of RadioGroup from Reakit and might not be exactly first good issue material..
You must be logged in to post a comment.