Dev chat summary, August 11, 2021

@sergeybiryukov stepped up to lead this agenda-less meeting. Big thank you!

Highlighted blogblog (versus network, site) posts

From @audrasjb, another A Week in Core post highlights the moving parts of CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and recognizes a week’s worth of contributors at a time.

From @sarayourfriend provides an update on the native TypeScript proposal announcing that 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/ project supports native TypeScript.

From @notlaura comes a Call for CSS Contributors, a carryover and reminder from last week. Their next weekly work session is August 12, 2021 at 21:00 UTC in #core-css.

From @chanthaboune, participate in the WordPress 5.8 ‘Tatum’ Retrospective. Feedback is due on August 15th and is greatly appreciated to make future releases even better.

From @webcommsat comes a helpful post for spreading the word about 5.8. In this post, you will find social posts you can share and adapt on Twitter and Facebook.

From @annezazu, follow the latest call for testing through the FSE Outreach Program. It’s focused on using the navigation blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. to build out a HigherEd themed headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. with three weeks to share you feedback.

From @annezazu comes a reminder to help shape the future of theme design. If you’re a block theme author or have explored that space, please share your responses by August 15th and know they are each greatly appreciated. 

Finally, catch up with the previous episodes of WP Briefing. The podcast will return in September!

Component maintainers

Reporting in on Build/Test tools, @sergeybiryukov shared that, as of last weekend, WordPress test suite is compatible with PHPUnit 8 & 9, and runs tests on PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8.1 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. (scheduled for release in November). Props to @jrf and @hellofromtonya for all the fixes and improvements that made it possible!  See ticketticket Created for both bug reports and feature development on the bug tracker. #46149 for more details.

Reporting on Date/Time, 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., Permalinks, @sergeybiryukov said that there’s no major news this week.

Reporting on General, @sergeybiryukov shared that work has started on making various compatibility fixes for PHP 8.1. Thanks @jrf, again!  See ticket #53635 for more details.

Open Floor

Considering #49728 for the 5.9 release. Raised by @hareesh-pillai.

Since the topic of compatibility with the latest PHP versions came up, Hareesh flagged that it would make sense to include this additional ticket after it was pushed from 5.6.

Next step: @hellofromtonya moved it to the 5.9 milestone.

Invitation to contribute to testing. Raised by @hellofromtonya.

Anyone interested in contributing to testing including attempting to reproduce problems, gathering testing information (such as testing steps, acceptance criteria, dependencies), user testing, and automated testing, you’re invited to join us in #core-test channel.

Checking in on a dev notedev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include: a description of the change; the decision that led to this change a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. related to 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 folks finding issues with PHPUnit updates. Raised by @jeffpaul.

@hellofromtonya and @jrf quickly chimed in to say that a dev note is in progress with an ideal publish date of next week. The quick TL;DR is:

  • Fixture methods changed in the WP test cases, i.e. changed to snake_case
  • Wrappers for the snake_case will be backported for extenders who are testing against versions other than trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision..
  • Once those backports happen, then the fixture methods in your tests need to be updated for testing against trunk.

To help extenders, command-line messages will be added as well to alert and guide devs.

Bumping the ACCEPTABLE_PHP and SUPPORTED_PHP versions in light of PHP 7.3 support ending in 3 months. Raised by @hareesh-pillai.

@sergeybiryukov recommended that this be raised as a discussion topic in the next #core-site-health meeting. He also shared that he felt it was a bit too early to bump the recommended version to PHP 8.0, as there is still ongoing work to make it more compatible.

#dev-chat, #summary

Dev Chat Agenda for May 26, 2021

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

Blogblog (versus network, site) Post Highlights

Blog posts that need feedback

5.8 Schedule Review

  • Now in Feature Freeze leading up to 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 in 13 days on Tuesday, June 8th
  • Focus now shifts to defects and tasks in the milestone
  • Test Scrub on Friday, May 28th at 13:15 UTC in #core-test
  • Bug Scrubs next week on Tuesday, June 1st 20:00 UTC and Wednesday, June 2nd 04:00 UTC
  • RC 1 in 34 days on Tuesday, June 29th
  • 5.8 release in 55 days on Tuesday, July 20th

Components check-in and status updates

  • 5.8 plans and help needed
  • Check-in with each component for status updates.
  • Poll for components that need assistance.

Open Floor

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

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

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

#5-8, #agenda, #dev-chat

Test scrub for WordPress 5.8

We’ll be hosting test scrub for WordPress 5.8 on 2021-05-28 13:15 in the core-test channel.

The following tickets will be manually tested:

  • https://core.trac.wordpress.org/ticket/52555
  • https://core.trac.wordpress.org/ticket/51189

If we’ll have enough time and volunteers, we’ll also test the 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:

Help Test the Widgets Editor for WordPress 5.8

What you need

  • WordPress Develop environment
  • WordPress 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. Tester 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 for the second ticketticket Created for both bug reports and feature development on the bug tracker.

How to apply 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.

TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticket, for example 35449

npm run grunt patch:35449

How to fetch and then checkout a PR, for example, PR 828

git fetch upstream pull/828/head:pr-828
git checkout pr-828

or for PR:

npm run grunt patch:https://github.com/WordPress/wordpress-develop/pull/828

Check the handbook for more ways to test patches.

See you very soon! 👋

#core-test, #testing

Test scrub for WordPress 5.8

As a part of the 5.8 release, we’ll be hosting test scrub for WordPress 5.8 on 2021-05-07 13:15 in the core-test channel.

We’ll do manual testing of the below tickets:
https://core.trac.wordpress.org/ticket/43697
https://core.trac.wordpress.org/ticket/50866

We’ll appreciate your participation and feedback!

What you need

How to apply 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.

TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticketticket Created for both bug reports and feature development on the bug tracker., for example 35449

npm run grunt patch:35449

How to fetch and then checkout a PR, for example, PR 828

git fetch upstream pull/828/head:pr-828
git checkout pr-828

or for PR:

npm run grunt patch:https://github.com/WordPress/wordpress-develop/pull/828

Check the handbook for more ways to test patches.

Looking forward to seeing you!

#core-test, #testing

E2E (End-To-End) Testing in Core Proposal

What

E2E (End To End) tests are a form of automated software testing which runs in the context of a user using an application. The intention is to test the complete “end to end” workflow that a user would take in various scenarios.

In web software development this means running and controlling a web browser pointing at a web page, either fully automatically by a machine, or by a user following the test steps.

Frameworks for running E2E tests allow a web browser to be controlled fully automatically, for instance by navigating to URLs, filling out forms, and clicking on links and buttons. The tests operate by checking assertions about the expected content or behaviour of the page and triggering a test failure when they are not met.

Why

Testing individual aspects of an application’s code — for example with unit tests or integration tests — reduces the chance of low-level bugs in the code that powers an application. Unit testing helps maintain the quality of the code that powers the application.

In contrast, E2E testing tests the higher-level functionality of an application that the user sees, typically including the interface and the inputs and controls that the user interacts with.

Unit testing and E2E testing can, should, and do co-exist.

How

E2E tests are usually human-readable and provide logical steps for a user to perform. For example:

  • Given I am logged in as an Author
  • When I view the list of posts in the dashboard
  • And I see posts published by other users
  • Then I should not see an “Edit” link next to posts which are published by other users

The scenario above can potentially form a completely automated E2E test, depending on the framework in use and the built-in steps that have been defined for it. The tests are written in such a way that a human can follow the same steps and come to the same result.

This means anyone, not just a developer, can write an outline of an E2E test.

Implementing E2E tests in WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.

WordPress Core right now has only one E2E test in place, to check that the wp-adminadmin (and super admin) page loads. 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/, on the other hand, has quite a few.

There are some tickets and pull requests open about this:
https://core.trac.wordpress.org/ticket/43395
https://core.trac.wordpress.org/ticket/49507

There is also a test environment but it is not currently being used as part of the automated test suite: https://make.wordpress.org/core/2019/08/05/wordpress-local-environment/

It would be beneficial to create a project to work on this in a structured way in order to maintain the stability and reliability of WordPress core as new features are added and changes are made.

Moving Forward

Months ago, this topic was mentioned multiple times and @pandjarov from SiteGround has offered to set up the test environment plus some engineering time to work on the tests.

We could either set up a new one or check that the existing one is still the right way forward.

To really kick things off, the Core Team has to come up with requirements for the test environment, its tests, and the preferred workflow, so the tests are really useful.

What is needed

  • A list of requirements – I think Core Committers, especially with a long history of contributing (the so-called historians) are best suited to start the list with the most pressing concerns
  • Evaluating the existing test environment (existing vs creating new)
    Ideas about what functionality in WordPress should be a priority in the automated tests, for example, the upgrade process, or managing users, or installing plugins
  • Developers who are familiar with Jest, which is the test framework in place in Gutenberg and WordPress core, so the test environment can be improved, and to write new tests
  • A fork of the wordpress-develop repo on 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/ where the project can be managed and PRs opened
  • Volunteers to work on this. It’s a big task because it starts from 0 – this is very important because what the previous post about this has shown, in my opinion, is that an environment is not enough 😉
  • Coordination with the Test team
  • For making it easier to communicate I propose to add a dedicated weekly chat in the #core-test channel – From September 6th I am available to do that.

Deadline to comment

To make sure that the project lifts off I think it needs enough interest and volunteers to actively work on it.

Please leave a comment before September 6th (so you have a month to think about it!) with the requirements and/or (possibly AND) your availability to be part of this.

Dev Chat Summary: July 11, 2018 (4.9.8 Week 2)

This post summarizes the weekly devchat meeting held Wednesday, July 11, 2018 (agenda | Slack archive)

4.9.7 Security and Maintenance Release Feedback

  • WordPress 4.9.7 was released on Thursday,  July 5 2018. This was a Maintenance & Security Release. Details here.
  • All 4.9.7 milestone tickets were pushed to 4.9.8. The last devchat summary and some other posts on Make/CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. have been updated to replace “4.9.7” mentions with “4.9.8”

4.9.8 Release Leads

As confirmed last week:

4.9.8 Schedule

  • 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.: July 17, 2018
  • RC: July 24, 2018
  • Final Release: July 31, 2018
  • Bug Scrubs: Monday at 14:00 UTC and Thursday at 21:30 UTC during the cycle.

4.9.8 Development Update

Updates from @pbiron:

Focus Lead and Component Maintainer Updates

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/

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

The JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. team posted notes on their meeting. Topics included:

  • Deprecation Strategy
  • WordPress package to be merged into Gutenberg
  • Merging WordPress JavaScript coding standards in Gutenberg
  • Service Workers scope

General Announcements

Devchat Coordination Reminder

Jeff Paul is on vacation, so @whitneyyadrich, @audrasjb, @joemcgill, and @antpb are handling PM-y devchat duties this month: collecting agenda items, publishing an agenda, running the actual devchat meeting, and publishing a devchat summary.

Next Meeting

The next meeting will take place on Wednesday, July 18, 2018, 20:00:00 UTC in the #core Slack channel. Please feel free to drop in with any updates or questions. If you have items to discuss, but cannot make the meeting, please leave a comment on this post so that we can take them into account.