A week with us: Summertime is quiet… or is it?
The end-of-Gregorian-year and summer holidays are quiet periods in the WordPress project. Whilst we are a global community, and not everyone has holidays simultaneously, things usually slow down a bit. We can tackle things that fell between the cracks or things that we left behind when things were more hectic. So, it turns out that summertime is very productive for our team!
Our weekly team updates
Last week I continued looking into some early tickets for WordPress 5.9 as part of my duties as a Core Committer.
I made fifteen commits to WordPress core, mostly various bug fixes and enhancements. I also triaged new tickets incoming into Trac (the bug tracking system that WordPress uses).
I also started working on various compatibility fixes for PHP 8.1. See ticket #53635 for more details.
WordPress Unit Test Suite
As a prerequisite for using more modern PHPUnit versions and running WordPress unit tests on PHP 8.1, some changes were implemented to make it easier to run unit tests against multiple different PHP versions:
composer.lockfile is removed ;
- a custom autoloader is used for the PHPUnit 9.x mock object classes ;
- the tests are switched to always run via Composer .
Thanks to Juliette for spearheading these changes! See ticket #47381 for more details.
Last Friday, I was invited to a live streaming session with Tonya Mork, Juliette Reinders Folmer, and John Blackbourn. We discussed making the WordPress unit test suite compatible with PHPUnit 8.x or later, the challenges of running the tests on PHP 8.1, brainstormed some ideas to minimize backward compatibility breaks for plugin authors having to support multiple WordPress versions, and reviewed every single commit required to make that a reality.
If you’re interested in PHPUnit cross-version compatibility, I would highly recommend watching the session on YouTube: Modernizing WP Tests. The slides are available on Speaker Deck: WP Core Tests vs. PHP 8.1.
I love working when it’s quiet. The end-of-Gregorian-year holidays and summer holidays are some of my most productive moments – if I am not taking some time off as well, of course.
Last week, I started cleaning up my backlog and did a quarterly audit: a simple “start, stop, continue” review. I write every task, idea, project on a small post-it note and then arrange everything in columns. Three main topics are emerging from it.
WordPress Core Team Representative
In June 2020, Jb Audras and I started our tenure as Core team representatives. If you don’t know Jb, he is a prolific and generous contributor and a skilled developer. Every week, his “Week in Core” blog posts keep everyone up to date. My task was to write monthly recaps of what Core is doing for the Updates blog, and well, I didn’t. I plan to retroactively post recaps from February 2021 onwards, so future generations will have a record.
The other question I have for myself is: “How can I help WordPress Core?”. By answering this question in public, I can make sure people know they can reach out to me for specific issues.
The team representative role is administrative by nature; covering the basics (dev-chats, recaps, help during releases) is a good first step.
WordPress Test Team
Since becoming a Core contributor, I took an interest in testing. After a couple of false starts – it happens when you know nothing about a subject – I found some wonderful mentors.
This week, the Test Team elected representatives 🥳 and we are getting serious! While the wizards, including Luca Tumedei, a Yoast Care Fund recipient, figure out the tech stuff, I will conduct an audit of the Core and Test handbooks to ensure we have clear, unified, up-to-date instructions to set up a testing environment.
This action will directly impact contributors around the world. It’s a good use of my sponsored time, and I believe it will help with contributor experience,
Bridging between the WordPress.org project and Yoast
This is my third big topic! I talked about it in a previous post. It’s time to research and develop! When everyone is back, I can present my ideas to the board and the management team.
I am also very curious to hear from other sponsored developers. Once I return from my holidays, I will reach out to friends from other companies to brainstorm together.
I did it!
I have not worked a full week, and because this is the second week in a row, I am struggling to catch up.
The WordPress community never ceases to amaze me. As I felt like I was beating against the wall alone working on the theme directory requirements, community members stepped up to give feedback on new docs for the Theme Developer Handbook. So I can put that aside for now, knowing that it will still be done even if I am not able to.
Across the WordPress slack channels, there have been conversations about using WordPress 5.9 to make improvements and solve bugs, and not to introduce new features. I can see the need for this. At the same time, I am concerned that there is no solid plan and timeline for when block themes will be possible without Gutenberg. This makes it incredibly difficult for theme developers to plan for the future. And for the themes team to support theme authors.
Since we are already in August, I am also concerned about the next default theme, because how this theme will be created depends on whether WordPress core will have support for block themes. I do not know yet if I will be involved in creating Twenty Twenty-Two, but I know that for the theme to be great, work should already have started.
A few weeks ago, I mentioned that I wanted to go through the tests that Justin created, but I have not had time to do that yet.
I have been testing the Yoast SEO plugins with beta versions of WooCommerce and Elementor.
Since things are pretty slow on WordPress Core, it was an opportunity to dedicate some time to projects that are important for the future, but were never a priority.
This week I focused on the “Update the Updater” project for WordPress, and more specifically, plugin dependencies. Plugin dependencies are something that developers have been requesting for the better part of a decade. If implemented, plugin add-ons will require the parent plugin to be installed, guide users through the process, handle minimum-version dependencies, not allow a plugin to be activated unless all dependencies are met, etc.
It’s a complicated topic, and I need to take into account many different aspects. I made some real progress this week, and I’m hopeful I’ll be able to present a solution soon.
Next week, we will not post a blog. We will rest and recharge. And, we’ll learn about SEO thanks to the Yoast SEO Summer School. You still have time to join us!