Make WordPress Core

Updates from Helen Hou-Sandi Toggle Comment Threads | Keyboard Shortcuts

  • Helen Hou-Sandi 7:56 pm on December 9, 2015 Permalink |

    Welcome the 4.5 class of committers! 

    As announced in the State of the Word this year at WordCamp US by @matt, there are seven new committers to introduce.

    Many of you have seen Michael Arestad‘s (@michaelarestad) design and front-end development contributions over the last couple of years, notably with the redesign of Press This in WordPress 4.2. His numerous, high quality contributions are a welcome addition to core. I personally am looking forward to his work on markup and styling, having relied heavily on his judgment for quite some time now.

    WordPress 4.4 adds a new embed feature to WordPress, making it an oEmbed provider for the first time. Work on this new feature was done in a large part by Pascal Birchler (@swissspidy), who has been doing great work for the past few releases. Pascal’s clear communication and thorough support of the flow mindset are things we can all be inspired by.

    Rachel Baker (@rachelbaker) is the co-lead of the REST API, a Comments component maintainer, and a major contributor to WordPress 4.4. Her work has made it possible for sites around the world to utilize the REST API, making WordPress a great application platform. Look for more of these contributions as the REST API iterates within core.

    Likewise, Joe Hoyle (@joehoyle) is a major contributor to the REST API. As we prepare to commit the REST API endpoints in an upcoming WordPress release, there will be more and more to come from both him and Rachel.

    As a Media component maintainer and a long-time contributor across many components and features, Mike Schroder (@mikeschroder) helped shepherd the responsive images feature plugin into core for WordPress 4.4. He was also a backup release lead for WordPress 3.9.

    Throughout the WordPress admin interface, everywhere you look you’ll see the work of Mel Choyce (@melchoyce). Her design and experience contributions are long-standing and have benefited the entire ecosystem. As one of the maintainers of the Dashicons project, the icons you interact with daily are a big part of her contributions, as well as themes available in the WordPress.org Theme Directory.

    Eric Andrew Lewis (@ericlewis) has been contributing in various forms for many years, exploring lesser-known areas, documenting them, and challenging assumptions. Most recently, you may have seen his work as a Media component maintainer or with the shiny updates feature in WordPress 4.2.

    Additionally, Ella Van Dorpe (@iseulde), Konstantin Obenland (@obenland), Weston Ruter (@westonruter), Tammie Lister (@karmatosed), Andrea Fercia, (@afercia) and Ryan McCue (@rmccue [that’s one M, two C’s]) have all had their guest commit renewed.

    Please join me in welcoming this great set of new committers!

  • Helen Hou-Sandi 7:37 pm on December 9, 2015 Permalink |

    Announcing the release leads for 2016 

    As announced during the State of the Word this year, we have a brand new selection of release leads for 2016.

    Mike Schroder
    Previously a co-lead for WordPress 3.9 and long time contributor, Mike Schroder (@mikeschroder) will kick off the year as the release lead for WordPress 4.5.

    Dominik Schilling
    Following WordPress 4.5, Dominik Schilling (@ocean90) will be the release lead for WordPress 4.6. Dominik has been a core committer for a couple of years now and was a backup release lead for WordPress 4.4.

    Matt Mullenweg
    Finally, closing out the year, Matt Mullenweg (@matt) will put on his release lead hat and lead WordPress 4.7. Matt previously led the WordPress 3.8 release.

    Each of these release leads need your help! Every release is made by hundreds of contributors over many months, not just by its release lead. Additionally, every release lead needs a backup lead or two to help ensure the release moves forward at a solid pace. These backup release leads get great training for the real deal, as they often become future release leads (see both Mike and Dominik above!).

    Are you interested in being a backup release lead? Just comment here to let Mike, Dominik, and Matt know.

  • Helen Hou-Sandi 1:56 am on November 27, 2015 Permalink |

    Coming up: 2015 Community Summit 

    The 2015 community summit is next Wednesday and Thursday, December 2–3. There were a lot of great discussions last year, and I look forward to more this year and planning next steps for core.

    Ahead of the community summit, the lead developers and committers are getting together to discuss a few overarching ideas, including project vision, core features (existing and future), code and contributor infrastructures, and the competitive landscape. The goal isn’t to dictate what comes next for WordPress. It’s unlikely that 20 fiercely independent and stubborn minds would come to a deep agreement in just two days, anyway. 😄 Rather, this initial smaller meetup will aim to bring some specific ideas to the community summit to encourage productive, focused workshopping and tangible outcomes.

    Unconference Day

    The first day of the community summit is an “unconference” day, where topics are proposed and discussed by groups. This day is meant for in-person interaction and a chance to talk through things that may be more sensitive or controversial. Like previous community summits, only session note takers should be using electronics. We all need to be able to feel comfortable having frank discussions without worrying about quotes or other snippets being posted publicly without context.

    Topics will be wide-ranging and not necessarily focused on core; any attendee can participate in any topic. If you’re an attendee, you can suggest topics ahead of time in the community summit forum. Some additional topics may be collated from the committer meetup. Here are the notes from the 2012 summit and the CSS roadmap that came from the 2014 summit as examples.

    There will be four 50-minute session slots and 8 group seating areas, with the possibility of doing smaller breakout groups on a related topic (e.g. component roadmaps) during a session. Each unconference session should produce notes and at least one action item. At least a few of those action items should be things that can be worked on the next day. Notes for core-related conversations will then be edited and posted here on Make/Core in the weeks that follow.

    Work Day

    The second day of the community summit is a work day. Here, we have two blocks totaling about six hours to fill, from 9:15 a.m. to 12:00 noon and from 1:30 p.m. to 4:40 p.m.

    Action items for the work day may include:

    • Improving documentation
    • Feature planning and roadmaps
    • Preparing for the Contributor Day on Sunday
    • 4.4 sprint, if necessary

    What’s on your mind?

    What things do you think we should discuss and work on at the community summit? Be sure to propose unconference topics on the community summit forum. Mention any potential work day items in the comments below, keeping in mind that it is six short hours with a limited number of people.

    • Justin Sternberg 3:51 pm on November 30, 2015 Permalink | Log in to Reply

      I propose some improvement to the REST API docs. There is definitely confusion around V1 vs V2, what is in core, what value the plugin brings, what can/can’t be done with the current in-core implementation, etc.

  • Helen Hou-Sandi 6:33 pm on November 24, 2015 Permalink |  

    Let’s do a scrub to push through the remaining 4.4 tickets on 3:00 PM EST so we can get to RC tomorrow, Wednesday the 25th. Please take a look through those tickets and review what remains to be done, test patches as applicable, and patch/comment where you’re able. See you in #core in about 1.5 hours!

  • Helen Hou-Sandi 5:29 pm on September 17, 2015 Permalink

    For those who don’t follow along with Make/Design and are interested in exploring some UI/UX ideas and projects, I just posted a few possibilities as a prompt of sorts. There are a number of needs, from strategy to interface design to front-end build to whatever back-end changes need to happen to support. None of those projects currently have active owners, so if you’re interested or if you have any ideas of your own, shout in the comments.

  • Helen Hou-Sandi 12:57 pm on August 28, 2015 Permalink
    Tags: ,   

    And the other guest committer for 4.4 is… 

    Now that he’s back from holiday, please join me in welcoming @afercia as a guest committer for the 4.4 release cycle! Andrea (pronounced the proper Italian way) has been invaluable with the huge strides the accessibility of WordPress has taken over the past several releases, lending his experience with accessibility methods and software and tenacity in iterating on patches. He’s also contributed many patches outside of accessibility changes as he’s gotten to know various parts of core. We’ve had a hard time keeping up with all of his work in such an important area of web development, so it’s our pleasure to hand him a set of reins to keep it going.

    In core Trac, we have many components and a number of what we’ve come to call focuses. Focus areas include things such as accessibility, UI, and JavaScript, and span multiple components, if not all of them. Building up expertise and trust in a component or focus is critical to maintaining WordPress over time. Commit access is a wonderful thing, but even as committers, we rely heavily on the recommendations of component and focus maintainers to keep tickets and patches moving. Without them, we’d get a lot less done. Andrea is a shining example of how this flow can dramatically improve a specific area of WordPress in a relatively short period of time with continued plans for improvement, and we want to see more and more of this happening. If you’d like to get started with maintainership, please join us in the #core Slack channel and ask about it.

    Congratulations, @afercia!

  • Helen Hou-Sandi 7:00 pm on August 26, 2015 Permalink
    Tags: ,   

    New committers for 4.4! 

    It’s that time again… Please join me in welcoming Tammie Lister (@karmatosed) as a guest committer for WordPress 4.4. There’s another committer to be announced, but we thought we’d wait until he’s back from vacation for a proper welcome.

    You may recognize Tammie from her role as an admin on the theme review team, and she’s also a theme developer extraordinaire at Automattic. Tammie will be heading up development of the new default theme, Twenty Sixteen.

    The lead developers review and appoint new committers to serve each release cycle, often to work on a particular component or feature. This guest commit access comes up for review after each release and can be renewed. Ella Van Dorpe, Konstantin Obenland, and Weston Ruter, all new committers at the beginning of the 4.3 cycle, have been renewed for 4.4.

    Over the last few cycles, both Aaron Jorbin and Jeremy Felt have been working through long-term plans, smashing through tickets, and improving the entire codebase, especially when it comes to tests and multisite. I’m happy to announce that both are now permanent committers. Please join me in congratulating everyone!

  • Helen Hou-Sandi 1:35 pm on August 20, 2015 Permalink
    Tags: ,   

    8/20 UI Chat Agenda: 4.4 

    After a few weeks off from regular meetings while the final touches were put on 4.3, let’s have our weekly UI chat, today at 17:00 UTC. Inspired by @wonderboymusic‘s call for 4.4 wishlist items, let’s talk today about what our bigger projects are in the world of UI and UX, what our wishlist items are, and what we can reasonably target for 4.4.

    • chriscct7 5:47 pm on August 20, 2015 Permalink | Log in to Reply

      I think it’d be interesting to look at https://core.trac.wordpress.org/ticket/22959#comment:29 if someone’s interested in working on it

    • David Lingren 7:42 pm on August 20, 2015 Permalink | Log in to Reply

      I’d like to know the status of Ryan Boren’s “Retiring media-new.php” proposal (https://make.wordpress.org/flow/2015/01/29/retiring-media-new-php/).

      In addition to the browser uploader, media-new.php offers a number of hooks that allow plugin developers a way to extend its functions.

      My plugin, Media Library Assistant (https://wordpress.org/plugins/media-library-assistant/), adds a form below the drag-and-drop area on the Media/Upload New Media screen. The form allows users to set defaults for standard fields, taxonomy terms and custom fields that are applied to items as they are uploaded. It uses the ‘upload_post_params’ and ‘post-upload-ui’ hooks provided in media-new.php.

      I have not developed an alternative approach to this feature that works in the grid view or Media Manager Modal Window (MMMW). I have found it very difficult to extend grid view and MMMW, and I am concerned that a media-new.php replacement will have similar issues.

      I hope you will think through and meet the needs of plugin and theme developers in any media-new.php replacement effort. Thank you for your consideration.

      • Ryan Boren 5:05 pm on August 21, 2015 Permalink | Log in to Reply

        I replied over here. I updated that post with screenshots of media-new.php + MLA. At the moment, this is just a proposal I’ve been shopping around. It has some interest, but I don’t know if it will get developer time during 4.4

  • Helen Hou-Sandi 2:18 am on August 8, 2015 Permalink
    Tags: , ,   

    List table changes in 4.3 

    List tables are a significant component of the WordPress admin, powering screens such as for posts, comments, and installed plugins. Its internals have not changed much since the introduction of WP_List_Table in 3.1, and visually has only significantly changed with the introduction of smaller screen responsive considerations in 3.8. In 4.3, we’ve improved list tables on both fronts, including API enhancements to support the front-end changes.

    Better small screen responsive mode

    In 3.8, list tables were made “responsive” by hiding columns as the viewport got narrower. While content truncation is a common responsive design approach, it is not a good one. Users who have a higher likelihood of being bandwidth limited, such as on phones, now have to load a second screen to see data that is potentially important for making what should be an initial decision as to what to do next. We also already have the data in markup going to waste, as well as an impossible-to-maintain set of CSS selectors hiding columns by name and then unhiding them in specific list tables. This strategy required developers to include custom CSS if using columns with the same names as core ones or if a custom column was more important than what core was showing by default.

    Now, we show all the data under a toggle, showing only the bulk selection checkbox (when available) and a designated primary column by default. Screen option settings are honored, though setting them is not actually available on smaller screens right now. Check out the demo below, and read on for more about API changes.

    4.3 List Tables Demo

    4.3 List Tables Demo

    Primary column and row actions

    We’ve done a lot of work to provide a fallback primary column for custom list tables, as without one defined, list tables will suddenly look empty. Developers are able to specify a primary column via the list_table_primary_column filter, which receives the screen ID as context. This primary column is also where row actions are placed.

    For example, if you’ve added a column for a slide image to a slide custom post type and would like for it to be the primary, it is now a matter of a simple filter. Previously, you would have needed to recreate the row actions in PHP and add custom CSS to ensure it did not disappear on smaller screens. As of 4.3, your code might look like:

    function wpdocs_slide_list_table_primary_column( $column, $screen ) {
    	if ( 'edit-slide' === $screen ) {
    		$column = 'slide';
    	return $column;
    add_filter( 'list_table_primary_column', 'wpdocs_slide_list_table_primary_column', 10, 2 );

    Note that primary columns should typically be the first column after the checkbox. From a user perspective, it is best to keep the placement of the most important identifier of an item and its actions consistent. Specifying other primary columns will work, but may result in some visual breakage in the small responsive view when a row is toggled open. We are tracking how that may be handled on #33308.

    Easier subclassing of WP_List_Table and other list tables

    While WP_List_Table was designed for internal usage and didn’t make many considerations for custom subclasses, we recognize that developers use them and that clean up would benefit both implementations and future maintenance. The internal WP_List_Table classes now all call ->single_row_columns() in ->single_row() properly, which makes subclassing them significantly easier. Previously, ->single_row() in each WP_List_Table subclass contained a giant switch statement. In most cases, this was unnecessary. By calling ->single_row_columns() when rendering a row, the class will look for a method on the class inheritance chain called ->column_{$name}. This allows us to break up the columns into discrete methods, and removes the need to override ->single_row_columns(). Thusly, if you subclass a List Table like WP_Posts_List_Table, you can override a specific column just by overriding the column method, i.e: ->column_title().

    Before: https://github.com/WordPress/WordPress/blob/4.2-branch/wp-admin/includes/class-wp-posts-list-table.php#L635
    After: https://github.com/WordPress/WordPress/blob/master/wp-admin/includes/class-wp-posts-list-table.php#L997

    • nicholas_io 2:37 am on August 8, 2015 Permalink | Log in to Reply

      Great improvements! I liked a lot about the changes in WP_List_Table

      Codex is still marking WP_List_Table as private, shouldn’t we remove that warning?

      • Helen Hou-Sandi 3:43 am on August 13, 2015 Permalink | Log in to Reply

        No – it’s still in the inline docs and I think it should remain. I recognize that people are extending it, but that doesn’t mean I endorse it. It’s designed for internal usage with very little consideration for external usage, and I’d like to retain the right to some amount of breakage, though we’ll always limit that to things that don’t lock users out. There’s a lot of difficulty with changing the internals of it because of things developers are using it for that it is not made to do, and in many cases is overkill. Of course, developers will be all the more tempted to use it now that it’s capable of a better small screen view when implemented appropriately.

    • Martin Stehle 12:00 pm on August 8, 2015 Permalink | Log in to Reply

      Columns added by plugins are in the extended view, too. And I can remove the extra CSS for columns of my plugins in small displays. Fine! Thanks to the developers for that work.

    • kevinchappell 7:23 pm on August 8, 2015 Permalink | Log in to Reply

      Hats off to the WordPress core team. Really looking forward to this release, especially the improvements to `WP_List_Table` for sub-classing.

    • Ahmad Awais 11:45 pm on August 8, 2015 Permalink | Log in to Reply

      Makes a lot of sense to have them now!

    • Stephane Daury (stephdau) 4:17 pm on August 11, 2015 Permalink | Log in to Reply

      W00t. 🙂

    • Helen Hou-Sandi 3:50 am on August 13, 2015 Permalink | Log in to Reply

      Some more bugs were noted in list tables that have more overloads or no row actions in #33313. We’ll try to mitigate any visual data loss, but plugin authors really should update.

  • Helen Hou-Sandi 4:28 pm on June 4, 2015 Permalink
    Tags: ,   

    UI Chat Agenda, 6/4 

    Quick check ins on:

compose new post
next post/next comment
previous post/previous comment
show/hide comments
go to top
go to login
show/hide help
shift + esc
Skip to toolbar