Default Theme Chat Agenda: August 30th, 2023

This is the agenda for the weekly Default Theme chat scheduled for Aug 30, 2023 3pm UTC.

This meeting is held in the #core-themes channel in 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/.

Props to @poena for helping with creating this post.

#6-4 #agenda #bundled-theme #core-themes #twenty-twenty-four

Performance Chat Summary: 29 August 2023

Meeting agenda here and the full chat log is available beginning here on Slack.

Announcements

  • Welcome to our new members ofย #core-performance
  • Thanks to everyone who visited the Performance table onย Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/ย 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.ย US last week โ€“ hereโ€™s a round-up of some activity:
    • @westonruter I was working on removingย unloadย event handlers from wp-adminadmin (and super admin) (#55491) which relate to performance since they prevent bfcache. Got a mostly-complete 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. ready for review. But ironically I found in 6.3 that bfcache was explicitly disabled viaย Cache-Control: no-storeย (#21938), so removingย unloadย doesnโ€™t have any effect. Maybe we want to revisit that.
    • @flixos90 I committedย https://core.trac.wordpress.org/changeset/56445ย at Contributor Day, thatโ€™s a big deal in terms of new 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. functions, withย prime_options()ย andย get_options()ย (the latter is probably what most WP devs will immediately understand what it does)
    • @mukesh27 One ticketticket Created for both bug reports and feature development on the bug tracker. that was committed at WCUS Contributor Dayย Performance optimization of register_block_script_handle()ย โ€“ This will improve improve Server side metric by ~1%
    • @joemcgill #58998 should help avoid DB stampedes when rewrites are flushed. Iโ€™m hopingย @icaleb will be able to test this patch at VIP and let us know if there are any side effects that we need to be aware of.
    • @joemcgill We also had #52759 committed that adds a 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. to avoid a potentially expensive DB query, but itโ€™s currently reopened to consider a name change for the filter. Feel free to weigh in if you have opinions.
    • @flixos90 During Contributor Dayย @gzioloย and myself worked through this, at the end came up with an idea for a solution, which I implemented yesterday, inย https://github.com/WordPress/gutenberg/pull/49904ย andย https://github.com/WordPress/wordpress-develop/pull/5104ย (the two are kind of related but separate problems)
  • This weekโ€™s Performance Bug Scrub lead, request for volunteer please
    • @joemcgill happy to run this weeks 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 (thank you!)

Priority Projects

Server Response Time

Link to roadmap projects

Contributors: @joemcgill @spacedmonkey @aristath @swissspidy

  • @joemcgill I spent some time prior to WCUS looking at #57789 and plan to pick that back up later this week as a part of a general focus on improving template loading
  • @flixos90 working onย https://github.com/WordPress/wordpress-develop/pull/5069, starting at Contributor Day and iterated yesterday. Will make another iteration today and then it should be ready for another review
  • @swissspidy I had some great discussions at WCUS regarding 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. performance, people are really interested in testing this new feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins. The great news is that 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. just got approved, so Iโ€™ll push it toย WordPress.orgย later today or so. Then we can spread the word and start looking into adding it to Performance Lab (once we have the standalone modules) etc.

Database Optimization

Link to roadmap projects

Contributors: @aristath @spacedmonkey @olliejones

  • No updates this week

JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a userโ€™s browser. https://www.javascript.com & CSSCSS Cascading Style Sheets.

Link to roadmap project

Contributors: @mukesh27 @10upsimon @adamsilverstein @westonruter

  • @westonruter I backported the use ofย deferย 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. view scripts from 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/ to WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. (#59115). I did some moreย perf analysisย and found a 6.5% reduction in TTFB-LCP
    • @flixos90 What scenario was that tested with? TT3 or another theme / configuration? (Details are in the TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. comment)
  • @westonruter I alsoย analyzedย moving Twenty Seventeenโ€™s scripts from the footer to theย headย and addingย defer, but I didnโ€™t find there to be any improvement
  • @westonruter On the non-JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. front, I did someย more analysisย on the impacts of inlining stylesheets instead of loading them externally, especially when a CDN is involved. I found inlining to be more important when a CDN is involved, but when a CDNย isnโ€™tย involved, then better not to inline. The findings donโ€™t seem to be entirely conclusive, however
    • @flixos90 I think this is an important learning worth sharing with the broader community. It has come up numerous times in the past that folks suggest to inline certain assets based on an assumption that that would be faster. But seems thatโ€™s more complicated than that
  • @joemcgill I noticed that #58634 has a PR that could use a review. Otherwise, that one doesnโ€™t yet have an owner
  • @joemcgill Also,ย https://github.com/WordPress/gutenberg/discussions/53260ย is an interesting conversation going on in the Gutenberg repo about using JS modules to better load scripts and styles async. Worth looking into and giving feedback.

Images

Link to roadmap projects

Contributors: @flixos90 @thekt12 @adamsilverstein @joemcgill

  • @pereirinha I do have clarification forย #58893, and asked for another round of feedback onย #58892. If I didnโ€™t get it back to the right track, I might need a call to clear it up
  • @flixos90 Update from me that isย kind ofย related to images but actually has nothing directly to do with images is that I opened a can of worms at contributor day finding several bugs with how the WordPress main 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 (โ€œthe loopโ€) is being handled incorrectly by block themes in general, which has been causing problems such asย https://core.trac.wordpress.org/ticket/58027

Measurement

Link to roadmap projects

Contributors: @adamsilverstein @joemcgill @mukesh27 @swissspidy

  • @swissspidy Just before WCUS I merged r56399 so that we now track TTFB & LCP in WordPress core performance tests
  • @swissspidy Anotherย PR to improve the core performance testsย output is currently in review
    • @joemcgill Iโ€™m particularly interested in how we can get thisย into the CI workflow sooner rather than later, since folks on the Gutenberg side are finding it extra helpful. I think it will reduce the amount of manual work we end up doing benchmarks on individual PRs as well
    • @swissspidy Yeah I might remove the PR comment part if thatโ€™s a blockerblocker A bug which is so severe that it blocks a release.. Jonathan offered to review it once heโ€™s back from WCUS
    • @flixos90 Agreed, though I am slightly concerned by posting the results in a comment on each PR at this point. Given that the metrics are still rather unstable, I am wary of people over-interpreting them, e.g. arguing that a change is particularly great or problematic just based on numbers which could come from variance. So not a technical problem with the PR at all, but Iโ€™d feel more confident about implementing everything but the PR message, so that the data is there, just not as โ€œalarmistโ€
    • @joemcgill I agree. I would like for there to be a way to contextualize the change related to expected variance so folks donโ€™t get super excited about a small change that could just be noise
    • @flixos90 We could pull the PR message logic out, and then create a separate ticket with PR for โ€œFuture Releaseโ€
    • @swissspidy Yeah, thereโ€™s still some variability with those results, but thatโ€™s just 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/. Adding an explanation to the comment makes sense. I like the PR because it is easier to discover than the summary, but it does require setting up a secret token for it to work, which is also not ideal when working with forks. (NB I did experiment with running Playwright browsers within Docker, so in the future that might help reduce variance.)
    • @joemcgill We can also tie that to the trac ticket (Iโ€™ll find it and thread it) that is about posting results from workflows โ€“ https://core.trac.wordpress.org/ticket/56150

Ecosystem Tools

Link to roadmap projects

Contributors: @mukesh27 @swissspidy @westonruter

Creating Standalone Plugins

Link to GitHub overview issue

Contributors: @flixos90 @mukesh27 @10upsimon

  • @flixos90 I had something to share kind of related to ecosystem tools: At Contributor Day,ย @chriscct7 sharedย https://plugintests.com/ย with a few of us, which he had discovered at some point, and itโ€™s just a mind blowing tool nobody seems to know about, covering the whole plugin repository in a lot of detail. Not sure what we can do with that at this point, but itโ€™s just something quite interesting to look at and be aware of. It has e.g. PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher compatibility information for every plugin, detailed data on e.g. which options or admin screens a plugin adds, whether there are PHP or JS errors etc.
  • @icaleb There were talks, once upon a time, of integrating that same tech into the .org repo. I think various acquisitions got in the way โ€“ but definitely would be interesting to see what might still be possible!

Open Floor

  • Reviews ofย #59224ย andย #59226
    • @joemcgill Two issues that seem like they need early eyes on. I see Andrew and Jonny are already reviewing, but would be good for others to have visibility
  • @johnbillion Quick item from me, Iโ€™m planning on opening a ticket for implementing a function to bulk add metadata (starting with users), mostly a narrower scope version of #34848. Iโ€™ve recently been looking at various performance issues when inserting data into WP, hoping to tackle a few โ€“ PR review would be good, Iโ€™ll add the performance focus when I open the ticket later today

Our next chat will be held on Tuesday, September 5, 2023 at 15:00 UTC in the #core-performance channel in Slack.

#core-performance, #performance, #performance-chat, #summary

6.4 Release Parties Schedule and Hosts

This post aims to prepare a calendar with the expected start time for each release party and who is involved in the upcoming 6.4 milestones.

As we saw happening with 6.3 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. 1, things can change at the last minute, so expect some flexibility. The release team will do their best to respect the calendar and communicate any change promptly.

If you can fill any of those roles, please add your name in the comments, with the date and role, so that I can finalize the calendar. Having two people with the same access level for each party is also okay. This will allow us to help each other if the party takes longer than expected.

I always proposed 16:00 UTC for release parties because itโ€™s a time that allows us to cover quite a few time zones. However, it does not favour contributors in APAC. I will contact those in that area to see if we have people with enough access to run at least one release party in their time zone.

Please check the Hosting Release Page in the Handbook to read about the different roles.

Thank you all for the team effort!

Date/TimeMilestoneHostCommittercommitter A developer with commit access. WordPress has five lead developers and four permanent core developers with commit access. Additionally, the project usually has a few guest or component committers - a developer receiving commit access, generally for a single release cycle (sometimes renewed) and/or for a specific component.SecurityMission ControlMarcomms
Tuesday, September 26, 2023 at 16:00 UTCBeta 1@francina (backup @akshayar)@karmatosed@davidbaumwald@davidbaumwald@rmartinezduque (backup @meher)
Tuesday, October 3, 2023, at 16:00 UTCBeta 2@akshayar (backup @francina)@sereedmedia (backup @rmartinezduque)
Tuesday, October 10, 2023 at 16:00 UTCBeta 3@metalandcoffee (backup @akshayar)@meher (backup @meaganhanes)
Tuesday, October 17, 2023, at 16:00 UTCRelease Candidaterelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). 1@metalandcoffee (backup @francina)@rmartinezduque (backup @meher)
Tuesday, October 24, 2023, at 16:00 UTCRelease Candidate 2@marybaum@meher
Monday, October 30, 2023, at 16:00 UTCRelease Candidate 3@rmartinezduque (backup @sereedmedia)
Monday, Novembre 6, 2023, at 16:00 UTCDry Run@metalandcoffee (@akshayar as backup)@meher, @rmartinezduque, and @sereedmedia
Tuesday, November 7, 2023, at 17:00 UTC*General Release@metalandcoffee (@akshayar as backup)The whole focus team ๐Ÿ’ช

General release is scheduled 1 hour later than the Dry Run time to allow for a 24-hour freeze.

Thanks @cbringmann and @metalandcoffee for the peer review.

#6-4, #release

Performance Chat Agenda: 29 August 2023

Here is the agenda for this weekโ€™s performance team meeting scheduled for Aug 29, 2023 at 15:00 UTC. If you have any topics youโ€™d like to add to this agenda, please add them in the comments below.


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

#agenda, #meeting, #performance, #performance-chat

Editor Chat Agenda: August 30th, 2023

Facilitator and notetaker:ย @andraganescu.

This is the agenda for the weeklyย editor chatย scheduled forย Wednesday, August 30, 2023, 03:00 PM GMT+1.

This meeting is held in theย #core-editorย channel in 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 you are not able toย attendย the meeting, you are encouraged to share anything relevant to the discussion:

  • If you have an update for the main site editing projects, please feel free to share it 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

X-post: Community Summit Discussion Notes: Improving maintenance of older default themes

X-comment from +make.wordpress.org/summit: Comment on Community Summit Discussion Notes: Improving maintenance of older default themes

Fields API Progress Summary: WCUS Contributor Day 2023

We had a solid day of progress today at the WCUS Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/. I sat down at an empty table and before long it was full of people who were eager to help bring the vision of the Fields 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. to fruition.

If you arenโ€™t familiar yet with what weโ€™ve been planning, check out the post below about the kick-off we had at the start of this year. Otherwise, continue on below to see what weโ€™ve accomplished and whatโ€™s left in the Research phase.

Progress at Contributor Day

Research has continued and we now have docs for many of the areas we had planned plus new areas we discovered together.

Research docs

  • โœ… Settings API โ€“ @joedolson (ahead of Contributor Day)
  • โœ… Meta Box API โ€“ @sc0ttkclark
  • โœ… List Tables โ€“ @codearachnid
    • โœ… Quick Edit
    • โœ… Custom Columns
  • โœ… Taxonomies โ€“ @wvega
    • โœ… Add term form
    • โœ… Edit term form (separate from the Add term form in how you work with it)
  • Users
    • โœ… User profile โ€“ @ohryan
    • Add new user form
    • Add new user form (/networknetwork (versus site, blog)/ variation)
    • Add existing user to site form (Multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site)
  • Media โ€“ Media modal
  • Comments โ€“ Add new comment (front of site) โ€“ @cr0ybot
  • โœ… 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. Editor
  • 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. API
  • Nav Menus (classic)
    • Name Menu form
    • Nav Menu Item form
  • โœ… Widgets (classic) โ€“ @cr0ybot

Proposal draft work

We also had help from @lauriewood who spent time writing a proposal draft for us that we can use to build from with more technical details.

Comparison sheet

I put together a comparison sheet that goes over coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. APIs vs a few popular plugins. It may help you visualize what we are doing here.

Whatโ€™s next?

Our next meeting

Weโ€™re going to set up another meeting in #core-fields on 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/ in September to get everyone together again. Iโ€™ll post here again as soon as we have a time set so others who are interested can join.

Research will continue

We have a few more docs to continue working on. We will coordinate who does what in the #core-fields Slack channel. If youโ€™re interested in helping, feel free to mention me (@sc0ttkclark) there!

Proposing the Fields API

We will then be able to officially propose the Fields API based on our research and gather feedback on what weโ€™ve put together. The proposed code will likely remain similar to what was proposed in 2017 but with more modern PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher 7+ code and potentially support for 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. schema files if thereโ€™s appetite in core to expand beyond the Blocks JSON schema implementation and into other config areas.

#feature-plugins, #fields-api, #options-meta, #summary

Introducing Twenty Twenty-Four

Hey, everyone! Itโ€™s that time of the year. A brand new default theme will be featured with the next WordPress 6.4 release: Twenty Twenty-Four.

The Concept

The idea behind Twenty Twenty-Four is to make a default theme that can be used on any type of site, with any topic. Because of that, and contrary to past years, it has no single topic. Instead, three use cases were explored: one more tailored for entrepreneurs and small businesses, one tailored for photographers and artists and one specifically tailored for writers and bloggers. In essence, itโ€™s a collection of templates and patterns which, all combined, make up a theme. These patterns include different Home templates for different use cases such as an About page, project overviews, RSVPs, and landing pages.

Twenty Twenty-Fourโ€™s styles and elements are instantly recognizable, inspired by modern design trends. The theme uses Cardo font for headlines, which provides a hint of elegance and a sans-serif system font for paragraphs. The default color palette of Twenty Twenty Four is light, and it also includes a dark style variation that maintains the same typography. Additionally, there are two more sans-serif variations available: one in light mode and another in dark mode.

Twenty Twenty-Four will be a 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 fully compatible with all the site editor tooling and it will surface new design tools like the details block or vertical text. Another key intent for the theme is to properly present whole page patterns and template variations so that users donโ€™t need to assemble whole pages themselves, thus easing up their site building process.

Thanks to Twenty Twenty-Fourโ€™s remarkable flexibility and adaptability, a multitude of possibilities open up with just a few adjustments to color and typography. This beautiful theme was designed by Beatriz Fialho.

Development

As part of the 6.4 release, Maggie Cabrera and Jessica Lyschik are leading development. We are looking forward to your involvement and support throughout the process. If youโ€™re interested in contributing, make sure youโ€™re following this blogblog (versus network, site).

Thereโ€™s a guiding Figma file that will continue to be updated as work progresses.

Theme development will happen on 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/ and, as usual, once the theme is stable, it will be merged into CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and its GitHub repository will be deprecated. A repository has been created here that you can follow if youโ€™d like:

https://github.com/wordpress/twentytwentyfour

Starting on August 30th at 3:00 PM UTC, there will be weekly 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/ meetings in #core-themes to coordinate development of the theme.

Learn more

For information about about previous default themes, you can read the following posts:

If youโ€™re interested in learning more about Block Themes and Full Site Editing, here are some resources for you:

Props @kellychoffman @richtabor @beafialho @annezazu @onemaggie @luminuu @joen for helping co-create this post.

#6-4 #bundled-theme #core-themes #twenty-twenty-four

+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//themes/

#core-themes

X-post: Community Summit Discussion Notes: Ad hoc session on iterating on the Field Guide

X-comment from +make.wordpress.org/summit: Comment on Community Summit Discussion Notes: Ad hoc session on iterating on the Field Guide

X-post: Community Summit Discussion Notes: Unifying development tooling for contribution

X-comment from +make.wordpress.org/summit: Comment on Community Summit Discussion Notes: Unifying development tooling for contribution