Dev Chat Summary, January 21st

https://make.wordpress.org/core/2015/01/21/drew-jaynes-is-the-4-2-release-lead/

https://wordpress.slack.com/archives/core/p1421874229001218

Decisions

  • @drewapicture is the 4.2 release leadRelease Lead The community member ultimately responsible for the Release..
  • @wonderboymusic will be feature lead for a lot of media/image stuff.
  • 4.1.1 will drop within a week.
  • All 4.1 guest committers are renewed for 4.2.
  • The tentative target release date for 4.2 is April 8th.
  • Wednesday meetings will continue as usual.
  • Weekly Friday 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 start next week.
  • This Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. posts will resume.
  • The 4.2 feature plugins are, tentatively: Press This, 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. Theme Switcher, and Shiny Updates. Customizer Menus is a possible long shot.
  • The general focus of 4.2 will be polishing existing UIs in terms of mobile and accessibilityAccessibility Accessibility (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).

Assignments

  • @nacin will post about guest commit renewal on make/core.
  • @drewapicture will post weekly bug scrub times on make/core.
  • @dh-shredder will start This Week in Core posts while permanent contributors are located.
  • @johnbillion will add a page to the core handbook on development processes for mobile.
  • @pento will post about contributing to Shiny Updates on make/core.
  • All feature plugins will post an update to make/core.
  • Component maintainers will make a list of the main issues affecting their components.
  • @johnbillion will post a call for component maintainers on make/core.

Links Mentioned

https://make.wordpress.org/core/version-4-2-project-schedule/
https://wordpress.org/plugins/customizer-theme-switcher/
https://wordpress.slack.com/archives/core/p1421863572001131
https://core.trac.wordpress.org/ticket/29820
https://core.trac.wordpress.org/ticket/24633
https://core.trac.wordpress.org/ticket/21212
https://wordpress.org/plugins/wp-post-meta-revisions/
https://core.trac.wordpress.org/ticket/30937
https://core.trac.wordpress.org/ticket/17817
https://core.trac.wordpress.org/ticket/17817#comment:68
https://make.wordpress.org/core/components/

2015, the year ahead

nacin [15:10]
2015 is going to be a pretty exciting year for WordPress, I think. We have a lot of things to look forward to. The plan remains 3 releases, which is a happy balance between development time and the need to ship things. At the moment, that looks like one in April, one in August, one in early December.

nacin [15:11]
There are some really big initiatives underway including the REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/. (due later this year; they are currently targeting 4.3 or 4.4), the image flow work, a lot of customizer plugins (some possible for 4.2), probably a focus v3, mobile improvements, accessibility improvements, updates improvements…

4.1.1

nacin [15:12]
4.1.1 is pretty much good to go, a few of us are going to work on it this evening and then pick a date to drop it. It might drop tomorrow. It might be early next week.

Housekeeping

nacin [15:13]
As announced above, @drew is going to be the 4.2 lead. @wonderboymusic will be leading a lot of media/image stuff. @sam will be, as always, lurking and helping with release management, project management, and feature plugins. I’ll be still doing code reviews, mentoring, and other lead-y things, but I’m very happy to not be running releases anymore. :simple_smile:

nacin [15:15]
If it wasn’t obvious to everyone who watched them product some pretty incredible work in 4.1, all of the guest committers are renewed. There will be a proper announcement on make/core coming soon.

4.2 Release Date

drew [15:17]
@nacin: okie dokie. Hi everybody.

drew [15:18]
Just a few items to go through for the agenda today. I didn’t have enough time to post something on make/core.

drew [15:18]
1. Release Date – We’re aiming for an April 8th release date, which puts us 11 weeks out from today.

drew [15:19]
The 4.2 schedule is live and can be found here: https://make.wordpress.org/core/version-4-2-project-schedule/

Make WordPress Core
Version 4.2 Project Schedule
The plan: December 19, 2014 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. is open for business. (Post 4.1) January 21, 2015 Initial 4.2 meeting. February 11, 2015 (+2w) Decision time for features being developed as a 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. Merge window…
Today at 15:05

nacin [15:19]
That’s all tentative, right?

drew [15:20]
Yeah.

jorbin [15:20]
4 weeks of 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., and 2 of 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). is the goal?

sam [15:21]
Generally speaking, yes.

sam [15:21]
But that two weeks of RC gives us a buffer if we need to slip slightly.

jorbin [15:22]
I think 2 weeks of RC has shown to be needed

sam [15:22]
Indeed.

drew [15:23]
Knowing how much @nacin *loves* fluidity, we’ll get it nailed down as soon as we can get a better handle on forward progress.

ianarmstrong [15:23]
Seeing as the industry standard is a 40% buffer

sam [15:23]
We don’t want to ship on or around April 15 though (tax day in the US). So we’ll have to keep a close eye on things.

jorbin [15:24]
Any other days around then we need to avoid?

nacin [15:24]
We released on April 16 last year. Worked out fine.

drew [15:24]
We don’t want to be April Fools either 😉
jorbin [15:24]
When is easter this year? When is the first two nights of passover?

aaroncampbell [15:24]
April fools would be worse than the 15th (edited)

Easter is 4/5

sabreuse [15:25]
Passover starts 4/3

deltafactory [15:25]
Passover ends April 11

nacin [15:25]
I _hate_ fluidity. :simple_smile: Deadlines are not arbitrary! Also, the closer together releases are, the more people update to them. (We’ve been looking at stats this week.) Some of the previous release leads, in making recommendations for how future releases should be run, have thought that about a month prior to the release date is a good date to make any necessary adjustments. So in early March, it’s possible that deadline changes up to a week in either direction.

jorbin [15:25]
Any other holidays around then?

ianarmstrong [15:26]
The 14th is 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. Tuesday for MS people, 15th is tax day.

Weekly Chats, Scrubs

drew [15:27]
2. Weekly chats/scrubs

drew [15:27]
Obviously we’ll continue the regular Wednesday chats, and we’ll start up some Friday bug scrubs starting next week.

I’d like to start this Friday by going through the ~150 tickets already on the 4.2 milestone to see what’s reasonably viable and what might need more deliberation.

johnbillion [15:28]
Sounds good

nacin [15:28]
Nice idea to separate scrubs from the weekly meetings.

drew [15:28]
I’ll put a post on make/core later today with a time. That’ll be in here.

This Week in Core

drew [15:28]
3. This Week in Core (or whatever it’s called now)

drew [15:30]15:30
@mike has kindly offered to get the ball rolling for us with the expectation that we locate a volunteer or two to take over. Those posts were immensely helpful for keeping everybody up-to-date on what’s changing as well as for updating the various release-docs needed at the end of the cycle.

mike [15:31]
Yeah, pingPing The 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.” me after the chat if we haven’t connected and you’re interested. I worked up a script to take care of most of the tedious parts over break.

Feature Plugins

drew [15:32]
Following the feature plugins meeting yesterday that @nacin oversaw, I think we have the feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins. candidates list fairly well nailed down:

1. Press This
2. Theme Switcher
3. Shiny Updates (edited)

I think it’s worth looking at menus in the Customizer for 4.2 but I don’t think we’ll be quite there yet for inclusion.

4.2 Focus

drew [15:36]
In addition to feature plugins, I’d like the general focus to be on polishing up some of our existing UIs in terms of mobile and accessibility wherever we can. Seems like there’s tickets hanging out there we could get some wins on.

drew [15:37]
@helen‘s work on cleaning up /burning wp-lists with fire would fall under that categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging..

johnbillion [15:39]
I’m going to add a page to the core handbook on development processes for mobile, which will help with the mobile UIUI User interface improvements effort

Press This

drew [15:41]
So, let’s start with Press This, which is lead I believe by @michaelarestad. Who would like to volunteer to help out with that?

michaelarestad [15:41]
@stephdau: You in for this release?

danieliser [15:42]
Is there an outline on Press This changes?

stephdau [15:42]
yes

stephdau [15:42]
and so is @azaozz, which is what’s going to make it succeed :simple_smile:

thanks to his tinymce and media lib fu

michaelarestad [15:42]
We had been using https://corepressthis.wordpress.com/ for changes/updates, but we’ll be posting to the make blog going forward. (edited)

sam [15:43]
Do you have weekly chats?

michaelarestad [15:43]
We haven’t for about one release cycle we will We should work out a new time.

stephdau [15:44]
and we now have #feature-pressthis

michaelarestad [15:44]
yep

sam [15:44]
Would be good to see a post on make/core this week (and every week!)

michaelarestad [15:44]
Yep.

drew [15:44]
@michaelarestad: Once you guys come up with a time, it would be helpful to pass that info along to @sam so we can keep the feature plugins page up to date. (edited)

michaelarestad [15:44]
Will do.

boren [15:45]
It will be a model feature plugin with weekly chats, weekly posts, daily plugin dir syncs, active courting of a beta audience.

michaelarestad [15:45]
Yep.

drew [15:45]
sounds good

drew [15:45]
OK, let’s keep moving here.

Customizer Theme Switcher

drew [15:46]
Theme Switcher. Looks like @celloexpressions isn’t here. Anybody on that team around?

drew [15:47]15:47
OK, sounds like it’s a team of one. I’ll catch up to Nick later and see what we have going on there.

I think the gist is that we’re effectively moving themes.php into the Customizer. Anyone interested in helping out with that effort?
ocean90 [15:48]
Currently @celloexpressions is looking for user testing.

drew [15:48]
OK. And the plugin can be found here: https://wordpress.org/plugins/customizer-theme-switcher/
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/
Customizer Theme Switcher
Bringing themes and the Customizer together.

johnbillion [15:49]
I think @sheri was helping out with some user testing there

nacin [15:49]
@obenland just ran to the airport but I know he is deeply interested in this, in part because he’s playing around right now with a lot of the themes code for .org.

nacin [15:49]
We could probably see if @matias is interested in helping with review, at least, as a lot of that is his code.

boren [15:49]
It was recently updated and is testable.

ocean90 [15:49]
Re user tests: https://wordpress.slack.com/archives/core/p1421863572001131
Nick Halsey celloexpressions
@sheri: sorry about the back and forth :simple_smile: Let’s test theme-switching in the Customizer first since it’s a bit more polished. Here’re my notes/ideas:

~10 themes installed, some test data on site, Twenty Fifteen Active, Customizer Theme Switcher plugin active (from .org)

1. From dashboard, click on the big blue button (Customize). Show more…

Shiny Updates

drew [15:53]
OK, next up is Shiny Updates, which is I believe being shepherded by @pento and @dd32

pento [15:53]
Yes!

drew [15:53]
Looks like the tracking ticketticket Created for both bug reports and feature development on the bug tracker. for that is #29820

WordPress TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. [15:53]
#29820: Smooth installation and updating of plugins and themes
https://core.trac.wordpress.org/ticket/29820

drew [15:54]
This is a pretty neat feature and could be a really fun UXUX User experience improvement, imo.

drew [15:54]
@pento: Are you guys having weekly chats or anything yet for that?

pento [15:55]
No chats at the moment.

nacin [15:55]
I was thinking about a dedicated 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/. channel but #core-updates is a bit of an odd name

nacin [15:56]
And I am not sure it will be needed

nacin [15:56]
It is mostly piecemeal work across a number of areas

make/design and make/core will be used in conjunction with a bunch of tickets

drew [15:57]
@pento: Maybe we could get a post on make/core from you sometime this week outlining what it is and how people can get involved?

pento [15:57]
Yep, I can do that.

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

johnbillion [15:59]
Multisite! @jeremyfelt @ipstenu @earnjam myself and a few others are coordinating a bunch of multisite improvements which will span 4.2 and beyond

johnbillion [15:59]
Basically a continuation of the multisite roadmap, in whatever form it ends up taking (edited)

Ticket Pitch

drew [15:59]
Anybody else have a ticket or a feature they’d like to pursue for 4.2?

mboynes [16:00]
@johnbillion: is there a ticket or some other source of info for what you’re working on? I’d love to read more and help out where I can

jeremyfelt [16:00]
FYI – weekly multisite meetings in #core-multisite on Tuesdays at 20:00 UTC

nacin [16:00]
Major tickets, I’d say, not the long tail of smaller tickets.

johnbillion [16:00]
@mboynes: #core-multisite

mboynes [16:00]
thanks!

boren [16:00]
Everything marked make-flow and on make/flow, which fits with the proposed general focus of 4.2.

drew [16:00]
@nacin: Yeah, you’re correct. *major tickets*

drew [16:01]
I think one such example would be #24633

WordPress Trac [16:01]
#24633: Allow admins to generate and send new passwords for users
https://core.trac.wordpress.org/ticket/24633

drew [16:01]
It would be lovely to get random password generation UI added for profiles. Beyond that, perhaps on the password reset form and/or installation.

nacin [16:01]
Another would be some autocomplete stuff that @helen has been kicking around, for example.

drew [16:02]
@wonderboymusic did you have specific tickets already created for your action items or is that a general work in progress?

adamsilverstein [16:02]
i’m working on a handful of tickets related to the revisioning of post metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress.

pento [16:02]
#21212 is very close to done – most of it is in trunk, now. It doesn’t need any help with development work, but will need much testing.

WordPress Trac [16:02]
#21212: MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. tables should use utf8mb4 character set
https://core.trac.wordpress.org/ticket/21212

drew [16:02]
@adamsilverstein: And you actually have a plugin somewhere that people could play around with for that, correct?

adamsilverstein [16:02]
https://wordpress.org/plugins/wp-post-meta-revisions/
WordPress.org
WP-Post-Meta-RevisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision.
Allow selected post meta keys to be tracked in revisions.

lgladdy [16:04]
Happy to help you test that @adamsilverstein – that looks great 🙂

adamsilverstein [16:04]
super, appreciate more eyes and testing
NEW MESSAGES

nacin [16:04]
@eric or @helen, what’s the current thoughts on autocompletes for users/posts/etc?

nacin [16:05]
(sorry @eric for omitting you previously, I know you’ve worked hard on that)

westonruter [16:05]
I’m very keen to see #30937 through, to open the door to all of the other enhancements and possibilities that it would lead to.

WordPress Trac [16:05]
#30937: Add Customizer transactions
https://core.trac.wordpress.org/ticket/30937

westonruter [16:05]
(Which will facilitate Customizer revisions for @adamsilverstein)

eric [16:06]
i believe Select2 4.0 (the version we were waiting on that re-architected their internals) just beta’d, and also dual-licensed themselves as of that version thanks to @helen :simple_smile:

helen [16:06]
they went full-MIT :simple_smile:

jbrinley [16:07]
Can we get #17817 into 4.2?

WordPress Trac [16:07]
#17817: do_action/apply_filters/etc. recursion on same 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. kills underlying call
https://core.trac.wordpress.org/ticket/17817

matias [16:07]
@nacin: happy to help with feedback/reviews/suggestions

helen [16:07]
basically – i think we can solve some long-time bugs (edge case, but severe) in overly large dropdowns – in particular users (post author, import) and pages (page hierarchy).

nacin [16:07]
@jbrinley: what’s the latest on speed?

jbrinley [16:08]
generally faster than what’s currently in place

drew [16:08]
Are there benchmarked speeds for before and after?

jbrinley [16:08]
https://core.trac.wordpress.org/ticket/17817#comment:68

helen [16:09]
i think it would also give us a more correct UI for forms like adding an existing user to a site (multisite), especially compared to the current autocomplete/suggest UI. from there, i could see select2 being used for other things, like perhaps tags.

@johnbillion: that’s a good question, we should go through and test the things that were pain points the last time around, like mobile support and accessibility.

jbrinley [16:09]
faster execution, about 50k more memory usage

eric [16:10]
probably best to make sure upstream in Select2 is 100% cool with those two bits before continuing our implementation

helen [16:11]
@eric: yep, absolutely. great time to expand our open sourceOpen Source Open Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. contributions. :simple_smile:

danielbachhuber [16:11]
select2 for tags is pretty nice — I’ve got such an implementation in production

drew [16:12]
@helen: @eric: Do ya’ll have a weekly chat in place for talking about what’s happening with autocomplete/Select2?

helen [16:13]
@drew: not at the moment, i think as @eric said, we’d be best doing testing with raw select2 before we dive in again.

drew [16:13]
OK. Sounds good.

drew [16:14]
OK, I think we have a pretty good list of things to work on. I just have a couple more items before we wrap up. (edited)

Feature Plugin Status Posts

drew [16:15]
5. Make/Core Updates

drew [16:16]
For all of the main features described above, e,g, Shiny Updates, Theme Switcher, Press This – I’d like to see an update post on make/core this week covering:
1. What your feature is
2. Where and when your meeting is
3. Where development is happening
4. What your status is in terms of meeting a merge deadline of a couple of weeks from now

drew [16:17]
@michaelarestad @pento @celloexpressions ^

pento [16:17]
:thumbsup:

drew [16:17]
That we can make sure the feature plugins list has the most accurate information.

michaelarestad [16:17]
:+1:

Component Input

drew [16:18]
6. Component Input

drew [16:20]
One thing I’d really like to try is to get in touch with the various component maintainers on trac to see if we can’t cobble together a list of “main line” issues for each component. I think talking to the folks who are intimately familiar with any given component can offer unique insight into where we could find some wins.

drew [16:22]
While I don’t think it would be realistic to try to tackle all the things for all the components, it might not be a bad idea to bring those component maintainers into the conversation. (edited)

nacin [16:22]
That’s basically the whole point of component maintainers. :simple_smile:

drew [16:22]
Yes, yes it is :simple_smile:
nacin [16:23]
https://make.wordpress.org/core/components/

johnbillion [16:24]
Yeah. On a related note we still have plenty of components without maintainers. If anyone wants to step up and own a component then please say so and we’ll get that sorted

drew [16:25]
Might be worth a post on make/core as well to see if the wider audience may have an interest in those specific areas missing a maintainer.

johnbillion [16:25]
Good idea

johnbillion [16:25]
I’ll do a post

jorbin [16:26]
For components, it can be very valuable to have multiple maintainers

eric [16:26]
i haven’t held media component office hours since August, and don’t have edit_theme_options cap on make/core

eric [16:27]
a weekly chat is listed in the right 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., we should probably remove that.

drew [16:28]
@eric: Noted

jorbin [16:28]
Essentially, if you see someone’s picture next to a component, don’t let it intimidate you and make you stay away

jorbin [16:28]
If something interests you, please jump in and contribute!

valendesigns [16:28]
How do you become a maintainer and what are the responsibilities?

tacoverdo [16:28]
@drew, will there be a (regular) update to the list of ‘easy tickets to start working on’ for new/inexperienced core contributorsCore Contributors Core contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac. https://core.trac.wordpress.org. to keep them in line with the 4.2 goals?

ipstenu [16:29]
I had one thing. Wrapping back: @nacin the last minor releases have all coincided with a minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality. for other older releases (3.7+). Will we be doing that again and how many revs back?

nacin [16:30]
No comment? :simple_smile:

drew [16:30]
@tacoverdo: Yes. I’d like to bundle time into every bug scrub to mark tickets for the good-first-bug report.

tacoverdo [16:30]
That’d be awesome. Thanks :simple_smile:

jorbin [16:30]
@valendesigns: my thoughts (by no means official) are that maintainers should be constantly triaging tickets that come in for the component. They should have a good sense of what all the bugs and feature requests are for there component at any given time and they should work to keep the bugs low and make sure tickets get an outcome

nacin [16:31]
@ipstenu: We officially only support the latest branchbranch A 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". (and one branch back) for security releases. However, with the ability to do auto updates, it’s just so _easy_ to protect an extra few million sites, so we’ve done so.

#4-2, #meeting, #release-lead