WordPress 5.8: What’s on your to-do list?

With the 5.8 release scheduled for 20 July 2021, I’d like to understand what work folks have planned for the release so that @desrosj and I can help track that overall scope and work to resolve blockers anyone has in achieving those goals (noting that our primary focus will be on Full Site Editing).

Historically within the major release cycle this is the time in which a “wish list” post would be published. However, given the nature of the 5.8 release and it’s primary focus on the release of Full Site Editing there won’t be the normal availability to review a lengthy wish list and attend to getting that work to commit within the release. We hope to return to that approach in a future release.

This post is specifically targeted at:

  • Core Component Maintainers to understand what their intended focus is for 5.8
  • Feature plugin authors to understand what they hope to propose for merge in 5.8
  • 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/ team (via @youknowriad as 5.8 Editor Tech Lead) to understand what WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. changes are desired to support Full Site Editing (alongside the already-defined “next steps”)

So if you consider yourself a part of one of these three groups, please share what your intended focus is for the 5.8 release so that @desrosj and I can help track the overall 5.8 release scope.

Deadline for response: 14 May 2021 (10 days from now, 11 days from then until Feature Freeze).

Props @desrosj for peer review.

#5-8, #planning, #scope

Version 3.5 Scope Session on Wednesday, July 11

Per our previous dev meeting, the 3.5 feature scope session will be taking place at 20:00 UTC on July 11 (tomorrow). (#wordpress-dev on irc.freenode.net — this is our regular place and time; see 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..)

These meetings usually go long (1.5-2 hours), so this one will focus primarily on determining deadlines and planning out features. 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./platform development (you know, the “Under the Hood” stuff) happens organically throughout the cycle anyway, so we may push those conversations to next week. (We’ve already been focusing on quite a few enhancements and bugs over the last few weeks thanks to near-daily 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. scrubs, which I want to continue.)

Come armed with ideas and an open mind — see you tomorrow!

#3-5, #agenda, #dev-chat, #scope

Dev Chat Notes for January 4, 2012

When we talked about process in today’s dev chat, one thing I forgot is that at coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. meetupMeetup All local/regional gatherings that are officially a part of the WordPress world but are not WordCamps are organized through https://www.meetup.com/. A meetup is typically a chance for local WordPress users to get together and share new ideas and seek help from one another. Searching for ‘WordPress’ on meetup.com will help you find options in your area. we agreed that we should post the notes and action items from each dev chat, then review the action items at the beginning of the following week’s chat to keep track of things. So here goes!

Today’s meeting focused on the process to be used for the 3.4 dev cycle and the overarching concept of the release scope. To read through it line by line, see the IRC logs for the January 4, 2012 #wordpress-dev chat.

Core team presence: Jane, Ryan, Mark, Nacin, Koop, Dion. Late arrivals: azaozz, duck_. Absent: westi, matt.

Agenda: Review new process proposal that came out of Tybee core meetup, discuss; discuss potential focus for 3.4 release cycle; get statements of interest from people interested in taking more formal contributor role in this release.

Process

At Tybee meetup, I proposed we experiment with our process to try and overcome some of our historical downfalls (lack of good time estimation, resource bottlenecks, lack of accountability, unknown/variable time commitments/disappearing devs, overassignment of tasks to some people, reluctance to cut features to meet deadline), and the core team worked as a group to come to the following process proposal.

Pairs/Teams

  • We’ll divvy up feature development in pairs/small teams rather than assigning anything to one person. Will hopefully lead to better code, happier coders, and more accountability.
  • Each pair/team will ideally have a lead/committercommitter 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. teaming with up-and-coming contributors who want to commit to working on something specific.  Leads, committers, and trusted core contribs will be assigned to a team. Newer contributors can volunteer to work with a specific team but probably won’t be part of the core pair if we’re not familiar with your work yet. This will hopefully make it easier for people to get involved and make connections with the core team instead of lingering unnoticed on a ticketticket Created for both bug reports and feature development on the bug tracker. for months at a time.
  • Each team is responsible for their feature being delivered on time and meeting interim deadlines (scoping, blogblog (versus network, site) posts, posting patches, etc.).
  • Each team will only be allowed to claim one feature at a time, and may not claim another until the first is complete. No more claiming multiple features and working on them simultaneously.
  • If a partner/team member goes MIA, rest of team needs to find out what’s up, and if something is seriously wrong, escalate to my attention.
  • We’ll have a list of who’s working on what worked into the 3.4 schedule page.

Schedule

  • 2-week cycles, no soft edges. Every two weeks there is a bit of discovery, a chunk of development, and a period of testing/fixing within the team.
  • Overlapping team cycles. The 2-week cycles will start on a rotating basis so that teams will be in different phases at all times, allowing for fewer bottlenecks and a greater ability to weigh in on assorted projects. In between each cycle will be several days dedicated to TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. maintenance/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 and tickets related to that team’s project, so that casual contributions won’t pile up waiting for a committer to take a look.Proposed graduated schedule diagram
  • Every week, the pair/team must post a progress report to wpdevelwpdevel Formerly the development updates P2 blog at wpdevel.wordpress.com. It is now make/core and resides at make.wordpress.org/core. (once we have team assignments, we’ll make a schedule for this, like we did with gsoc student posts).
  • At the end of the two week cycle, team must deliver their scoped deliverable (generally 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.). If they are late, a warning will be issued. If they miss the deadline on 2 of the cycles, the feature will be reconsidered for inclusion in 3.4.

Time Commitments, Time Tracking

  • Each team will estimate how long each feature should take (# hours, # days – estimate both total time working on it, and how long that will be spread over based on team member schedules).
  • We’ll have some mechanism for reporting time spent on the feature so that we can see how our estimates compare. Not sure if this will be manual or if we’ll use a trac 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. Investigating options now. Individual “it took this long” stats will be private, but the aggregate “this feature took this long” will be public. This will remove any reason to fudge the time reporting out of fear of looking too slow.
  • Like in any job or volunteer gig, we’ll ask people who are assigned to teams to make a specific time commitment per week to working on core in their team. We understand that circumstances change and the time commitments may need to be adjusted along the way, but this is also intended to help us do a better job of preparing scope and using stats to see how we did. If we’ve scoped features that look like they’ll require a total of x hours per week but we only have y in time commitments, we’ll know up front to start trimming scope. Note: making a formal time commitment will not be necessary for casual contributors, only those assigned as an accountable party in a pair/team.
  • Each two-week cycle will be another chance to get better at estimating how long things will take, and over time we will improve at this as a group.

Scope

3.3 was in some ways a multi-featured mess without a unifying theme. This meant lots of disparate stuff going on at once, and a number of features getting pulled due to timing. We want to get back to the idea put forth a year ago about having one overarching concept/goal/theme per release, that all new feature development fits into. We agreed that 3.4’s “theme” would be, “Making it easier to make your site look how you want it to look.” Shorthand: Appearance/switching themes. The idea is that a combination of front-end features, dashboard features, and under-the-hood improvements all tied to managing your site’s appearance will be the focus of 3.4. It will also include smaller things that don’t live in the appearance section but are related to the overarching goal, such as making it possible to have links in image captions. Make sense?

The individual features will be selected next week, and the proposed list of possibilities will be put up before then in a separate post. We’ll figure out teams, everyone will do their scoping exercises for the features they are interested in working on, and then next week we can hopefully start nailing down who’ll start with what and get the final project plan in place for a dev cycle start the following week.

High-level, the features would likely include: a theme-setup wizard that would incorporate an option for configuring all the appearance-related stuff before activating a new theme (speaking of, Twenty Twelve is targeted for 3.4), and then specific improvements around menus, widgets, backgrounds, headers, easier static front pageStatic Front Page A WordPress website can have a dynamic blog-like front page, or a “static front page” which is used to show customized content. Typically this is the first page you see when you visit a site url, like wordpress.org for example. process, 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 appearance management, etc.

Choosing Teams

This isn’t gym class; don’t be scared. This is, as stated before, mainly about accountability for the core team. In this cycle, anyone paired with a lead should hopefully be able to lead a pair/team in 3.5, and on and on, so we wind up with lots of experienced teams in the mix. For now, that list is fairly short, but if you are interested in having an official assignment or team designation: Fill in this short survey.

As we divvy up leads and committers we’ll keep your request/offer in mind. If we haven’t seen much code from you, you might want to throw yourself into bug patches over the next week or two so there are some examples of how you approach core code available. Anyone not on a team can work on any ticket and/or bug, and can confer with the appropriate team or with Master Gardener Ryan Boren for assistance as needed.Â

Tentative teams so far: Nacin/dd32/Sergey on language packs, Mark/Pete Mall on multisite, Koop/ocean90 on wizard framework. People who already expressed interest in working with a team or making a time commitment: DH-Shredder, jkudish, helenyhou, drewapicture, MasterJake, tw2113, trepmal, japheth, sabreuse, jorbin, MarkoHeijnen, josephscott, maxcutler, aarondcampbell.

We’ll regroup next week to flesh out the scope.

Action Items

  • If you are interested in being on a team and/or making a time commitment, fill in this survey – all devs
  • Figure out core team pairings – core team
  • Figure out best time tracking solution – Jane, Nacin
  • Work out initial possible 3.4 features – Jane (1st draft from meetup notes), core team (catch any misses), everyone (brilliant additional suggestions)

In case it escaped you, this is a pretty giant change from how we’ve done development in the past. It’s a risk. It could turn out to be the best thing we ever did, or it could crash and burn. Let’s all try our best to make it super awesome!

#3-4, #dev-chat, #process, #scope

3.2 Schedule Update

We were scheduled to do RC1 today. With around 100 tickets in TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress., this is not happening. We did a giant push to meet the 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. deadline, but then people went back to their other stuff, dealt with 3.1.3 security release along with beta 2, and generally slowed down. I’m pushing back the RCrelease 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). target date on the schedule to Monday.

In the words of Lester Bangs (by way of Cameron Crowe via Almost Famous), let’s be honest and unmerciful in today’s scrub.

  • If there’s 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., make the call: is it in or out? If it’s not a blockerblocker A bug which is so severe that it blocks a release. or a regressionregression A 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. and the patch isn’t quite there, puntpunt Contributors sometimes use the verb "punt" when talking about a ticket. This means it is being pushed out to a future release. This typically occurs for lower priority tickets near the end of the release cycle that don't "make the cut." In this is colloquial usage of the word, it means to delay or equivocate. (It also describes a play in American football where a team essentially passes up on an opportunity, hoping to put themselves in a better position later to try again.) it, even if it is your pet ticketticket Created for both bug reports and feature development on the bug tracker..
  • If there’s not a patch, how bad is the 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.? Blocker or regression? Assign it to someone and get a patch for testing by tomorrow. Not? Punt it and hit it early in 3.3.
  • We need to fish or cut bait on a number of lingering small UIUI User interface things. If someone wants to run through them with me we should be able to knock them out today or by tomorrow at latest.
  • Licensing tickets. We need to do the right thing in all cases, and we need to do it this release.
  • String freeze. I’ll do a run through today/tomorrow and look for anything that we’d planned to update but haven’t yet, including Credits and Freedoms screens. We need to do a check on text in help tabs,too, some still need updating. Will write text change patches myself or have a volunteer do them.
  • Any tickets left in the milestone by EOD tomorrow should be blockers.

Let’s get this released tidied up and shipped so we can get started on 3.3!

#3-2, #schedule, #scope