Open Academy Mentorship Progam

Hi all. It was suggested by a community member that we participate in the upcoming Facebook Open Academy mentorship program round the way we participate in GSoC. Since I’m on my way out, I wouldn’t be the organization contact for this, and someone would need to step up from the team to take point if y’all want to be a mentoring organization. Here’s some info:

  • This is a Facebook program, run in conjunction with a dozen or so universities around the world and a handful of OS projects.
  • It sounds like they are looking for the mentor to work with the students using Agile sprints.
  • No set time for specific projects, could last anywhere from 8 weeks to 5 months.
  • You set the specific projects in advance students can apply for, no “send us your ideas” like GSoC.
  • Their application asks how many students we can take, must be a minimum of four, but doesn’t have a way to list out all potential mentors up front unless so am not sure if they want each one to fill in the whole application (we’d probably want to have everyone use the same boilerplate for the ‘about the project’ bits), or if they want only one official mentor and everyone else would be unofficial.
  • Mentors must be available to fly to the opening weekend sprint Jan 30-Feb 1 (Facebook pays travel).
  • Students get college credit toward their CS degrees, not money.

General Information

If you want to participate, it would be good to have one person be the program administrator to keep track of applications etc. If you decide to do it and want any help from the community team, let me know.

#mentorship, #open-academy

Last Week in WordPress Core

Hi there! Welcome to Last Week in WordPress Core for the week of March 3–9. By now, you’ve heard that WordPress 3.9 Beta 1 is available! Thank you for your hard work this last week. Now we’re done adding new enhancements, and on to bugs. Your help is appreciated as we continue to test and squash bugs on the way to a stable RC.

There are a couple important things that landed on Monday that are not covered in this post, but shipped in beta. Namely, please test the Theme Install screen refresh and the ability to crop headers from within the Customizer.


  • Widgets: Add widget management to the customizer. This brings in the Widget Customizer plugin. [27419] #27112
  • Admin Menu: Introduce a .dashicons-before CSS class and use it in the admin menu. Lets you use a Dashicon before an element without copying the entire .dashicons styling to your :before styling. [27418] [27425] [27444] [27482] #26630
  • Editor: Show “View Post” for any post the author can read. This expands it to private posts and matches the logic in the toolbar. [27483] #27059


  • First pass at bringing the Image Editor into the media modal. Please test me! [27445] #21811
  • First pass adding a loading indicator to the Media Library. [27438] #24859
  • Allow $crop in add_image_size() and set_post_thumbnail_size() to receive crop anchors (top, left, right, bottom, center). [27472] #19393.
  • Add subtitle support to Video editing in the Media Modal. [27481] #27016
  • Do not output default gallery styles if the theme has opted into HTML5 galleries. [27396] #27045; see #26697
  • Add a class attribute to the caption shortcode to allow additional classes to be specified. [27404] #25295
  • Add playlist_styles and wp_playlist_scripts filters to allow users to roll their own playlist themes. [27486] #26631 & [27488] #26631


  • Update TinyMCE to 4.0.18. [27387] #24067
  • Add TinyMCE placeholders for audio and video shortcodes and provide a UI to both edit shortcode attributes and replace the src media file in an audio or video shortcode. Also, a flurry of improvements and fixes to them, visible in the full changelog. [27411] #27016
  • Add a Ctrl+K shortcut to open the linking dialog, which is the “de-facto standard”. [27449] #27305
  • Add the <hr> plugin and button to the toolbar. [27428] #27159
  • With drag-and-drop uploading, support multiple editor instances, limit to IE10+, and other small fixes. [27378] [27372] [27464] #19845
  • When parsing a caption shortcode, recreate missing width attributes using the image tag’s width. [27426] #23103
  • Restore the “link” button state to disabled by default and enabled when text or image is selected. Remove the (recently added) default link plugin; not needed. [27447] #27309


  • Add has-post-thumbnail as a post class. [27429] #18804
  • Rename the new page_templates filter to theme_page_templates, and pass it a post object for proper context. [27470] [27471] #13265
  • Introduce get_the_permalink() as an alias for get_permalink(). This better aligns it with other the_* and get_the_* function pairs. [27409] #24164
  • Let get_the_date() accept a post object. [27380] #13771
  • Add the ability to short-circuit wp_nav_menu() via the pre_wp_nav_menu hook. [27386] #23627
  • Better plural handling for labels in wp_generate_tag_cloud() / wp_tag_cloud(). [27376] #27262, see #7989, #14424


  • Incremental improvements and bug fixes with the multisite load process. Please test your networks! [27406] [27439] [27407] #27003
  • Fix bulk activation of network-only plugins. [27413] #26487


  • Add has_password and post_password query variables to WP_Query. has_password true means posts with passwords, false means posts without. post_password can query for posts with a particular password. [27395] #20308
  • Allow a posts_per_rss query variable to be set to override the posts_per_rss option. [27456] [27455] #25380
  • Allow get_page_by_path() and get_page_by_title() to accept an array of post types. [27423] #24763


  • Allow for custom authentication handlers for all requests. Turn the logic used by wp_get_current_user() into a determine_current_user filter. [27484] #26706
  • Allow the role attribute in kses for all elements. [27388] #24098
  • Add a pre_set_theme_mod_$name filter to set_theme_mod(), modeled after pre_update_option_$option in update_option(). [27393] [27402] #14721.
  • Improve HHVM compatibility by eliminating some of our last remaining create_function() calls and making OBJECT a case sensitive constant. [27373] [27374] [27465] #14424 [27377] #27231
  • Pass $reassign parameter to delete_user and deleted_user actions. [27462] [27466] #23057
  • Bail early from shortcode functions if no delimiter is present. It’s the little things; performance results on-ticket. [27394] #23855
  • Update PHPMailer to 5.2.7 from 5.2.4. Includes two trivial modifications for WordPress (no impact to plugin developers); see the commit message. [27385] #25560
  • Use SSL when linking to [27469] #27115

For the complete list of commits to trunk, check out the log on Trac. Interested in joining in? Write or test a patch for 3.9.

Thanks to @adamsilverstein, @akeda, @avryl, @bassgang, @bigdawggi, @bobbravo2, @bpetty, @bradt, @celloexpressions, @coffee2code, @danielbachhuber, @dd32, @DJPaul, @DrewAPicture, @empireoflight, @ericlewis, @ericmann, @frank-klein, @gcorne, @genkisan, @gradyetc, @hakre, @Hanni, @Jayjdk, @jenmylo, @johnregan3, @jorbin, @JoshuaAbenazer, @kadamwhite, @kasparsd, @Kopepasah, @kovshenin, @kpdesign, @lpointet, @markjaquith, @mcadwell, @melchoyce, @michael-arestad, @mikecorkum, @mordauk, @nacin, @obenland, @Otto42, @pavelevap, @Rarst, @rhyswynne, @ricardocorreia, @rmccue, @robmiller, @seanchayes, @SergeyBiryukov, @shaunandrews, @simonwheatley, @sirzooro, @tanner-m, @TobiasBg, @tomauger, @topher1kenobe, @topquarky, @toszcze, @westonruter, @wokamoto, @wonderboymusic, @zbtirrell, and @zodiac1978 for their efforts this week!

#3-9, #week-in-core

Last Week in WordPress Core

Howdy, everyone! It’s time for Last Week In WordPress Core, for the week of February 3–February 9. Let’s start out with a couple of discussion points, then commit highlights, and close with housekeeping.

CSS autoprefixer?

@ocean90 has a proposal up on trac to use Autoprefixer to handle vendor prefixing. This is an neat idea, but has potential complications as to when we should run the Grunt task, since it’d be optimal for core.svn and develop.svn to continue to be as usable for development as possible. Have an opinion? Please join the discussion on #27078.


There is fresh discussion on how to handle the MySQLi transition. The current consensus seems to be that everyone would like a driver-style WPDB in the future. However, exactly what that will look like, and when it will happen is not yet agreed upon. Since there is an apparent need to move on this, in order to ease this in for plugin authors, for 3.9 @nacin suggests we start to use use mysqli but only when PHP 5.5+. Details on the ticket.

TinyMCE and Autosave

  • Incorporate the TinyMCE tests into our JS tests, #27014.
  • In TinyMCE, don’t replace <i> and <b> with <em> and <strong>, and don’t remove them when empty. Helpful when using an icon font. #24067, #23037.
  • @azaozz is weighing whether we need backcompat for plugins that had overridden or blocked autosaves (such as by overriding window.autosave). Feedback welcome on #25272.
  • Make it easy when using wp_editor() which editor (visual or text) is loaded first. #20822
  • Don’t scroll the main window when trying to scroll the editor content with a mouse wheel or trackpad. [27095], [27110]. This is still being tweaked, #27013.

Media and Embeds

  • Add imgur and oEmbed support. #21632, #23171.
  • Introduce maybe_regenerate_attachment_metadata(), which generates metadata if an attachment is lacking it entirely. #26825
  • Introduce has_image_size() and remove_image_size(), [27128], [27129], #26951, #26768.
  • When a video shortcode has content in its body, append it as inner HTML in the resulting <video>. This aids with including content such as subtitles. #26628

Administration related

  • Merge colors.css into wp-admin.css, resulting in 1,065 fewer lines. #18380. The next step in the wp-admin.css cleanup project is #26669.
  • In the revisions browser, the back button now returns you to the post you were editing, #26997.
  • Properly run wp_auth_check on every Heartbeat tick, #27081.
  • Properly remove post/page items from nav menus when the post/page is deleted, #26795. Fixes a regression that first appeared in 3.7.

Twenty Fourteen

  • Fix gap from appearing above static pages, #26694.
  • Delete the featured_content_ids transient on theme switch to make sure child themes can override the Featured Content quantity value. Also remove quantity parameter so child themes can change the amount of featured posts with $max_posts, #26660.
  • Fix unreachable links when the content area is shorter than the sidebar in smaller viewpoints, #26782.
  • Make sure featured tag is hidden on front-end views as expected, #26732.
  • Translate the featured tag slug used to link to specific tags in Posts editor, #26526.
  • Avoid showing full post in Ephemera widget when displayed in single post or page, #26961.
  • Use the display filter for get_bloginfo('name') attached to the wp_title filter, #26811. Also applies to Twenty Twelve and Twenty Thirteen.

Taxonomy and Caching

  • Regenerate the term hierarchy caches and object term caches when we can detect are stale. Work in #14485 and #22526 is ongoing; possibly with an alternative approach.
  • In  top-level term without first including its children, and recurse through entire depth in hierarchy. #26903.
  • In get_terms(), don’t automatically set hierarchical to false when parent => 0 is passed. The default value for parent is an empty string, #26903. Also required a fix in _get_term_children(), see [27108].
  • Other caching changes: #27000, #25545.


In make/core land, @nacin posted notes from last week’s team meeting that I’d suggest checking out if you weren’t able to make it. In other housekeeping notes, fine-grained ticket notifications and settings are now live, and if you haven’t yet signed up to be a Google Summer of Code mentor (and would like to), check out this post from @jenmylo.

For the complete list of commits to trunk, check out the log on Trac. There were a bunch of great inline docs updates not covered here.

Almost forty contributors helped out last week! Awesome! Want to help out this week? Write or test a patch for 3.9.

Thanks for efforts from _jameslee, adamsilverstein, Ajay, andykeith, antorome, avryl, azaozz, bradparbs, celloexpressions, DrewAPicture, drozdz, frank-klein, gcorne, helen, jdgrimes, jorbin, kitchin, kovshenin, kpdesign, lancewillett, markoheijnen, michelwppi, mor10, mordauk, nacin, NikV, nprasath002, obenland, philiparthurmoore, ruudjoyo, sennza, SergeyBiryukov, ShinichiN, TobiasBg, UmeshSingla, VarunAgw, and wonderboymusic.

#3-9, #week-in-core

Here’s a quick summary of yesterday’s meeting as…

Here’s a quick summary of yesterday’s meeting (IRC log), as a status report on WordPress 3.9:

Beta 1 will now be the week of March 3, a week later. The rest of the schedule is unchanged. I felt the extra week of alpha would be helpful given all of forward momentum right now, and others seemed to agree.

It was decided to green-light the widget customizer plugin for merge. If all goes well, it’ll be in 3.9 final. There’s still a lot to do: some UI polishing, deeper code review, etc. — and surely it will get a lot of testing.

Quick hits raised in the meeting:

  • Settings review is in the ideas/sketch/wireframe stage. They have a meeting today. (@jenmylo, @melchoyce)
  • Lots of audio/video changes landed. Needs review on #27026 and UI feedback on #26631. (@wonderboymusic)
  • Work continues bringing the image editor into the media manager. #21811. (@gcorne, @tomauger)
  • TinyMCE/editor: modals are getting redesigned. #26952. (@melchoyce, @avryl) QUnit tests are being added. #27014. (@azaozz) @gcorne also sunk some time into MCE views, for gallery rendering.
  • THX plugin is being revived to take a crack at the theme install screen. If it works out, these patches could land in 3.9. (@matveb)
  • A Grunt patch tool needs testing. #27023. (@jorbin)
  • Some refactoring of the multisite bootstrap will begin this week. #27003. (@jeremyfelt)
  • Volunteer(s) wanted: If anyone wants to work on expanding autocomplete in core, there is some work in that area to be done. @helen will help shepherd.

We have a few more weeks of alpha, so it’s a great time to help with writing or testing a patch for WordPress 3.9. We’ll be keeping the tempo quick. Expect lots of changes.


Last week in WordPress core

Welcome back to Last Week In WordPress Core, for the week of January 27-February 2. Big list this time! First, a summary of the major changes; then a roundup from the various 3.9 teams:

Enhancements and hooks

Database changes

  • Initial patch to reconnect when the MySQL server “goes away” has landed, with a request for feedback on how to make the solution more fool-proof on #5932.
  • Improved Compatibility with MySQL 5.6, which has stricter default SQL modes.
    Disables NO_ZERO_DATE, ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, STRICT_ALL_TABLES, TRADITIONAL. Introduces filterable wpdb::set_sql_mode(), with incompatible_sql_modes filter for plugins. #26847
  • We now throw a notice when wpdb::prepare() is called without a placeholder. #25604
  • In wpdb::db_connect(), allow the loading of a translatable custom database error template. #25703

Miscellaneous, including library updates

  • Properly invalidate the cache for wp_count_posts() on insert, trash, or when transitioning post_status. #21879
  • $force argument removed from WP_Object_Cache::delete(), which was internal-only. #22478
  • TinyMCE updated to 4.0.16. #24067
  • Dashicons updated to latest. Adds line break, paragraph, code, and bbPress. #26936
  • MediaElement.js updated to 2.13.2. #26954
  • Update the versions of several devDependencies in package.json. Run npm install to receive updates for node_modules in the project root. #26073

3.9 status reports

Here are roughly where each of the 3.9 teams/tasks stood as of last week’s meeting:

Media/editor related:

  • Media Modal: “Initial version of the single image editor landed, which includes the ability to replace the image and update the main set of attributes (e.g. caption, alt, alignment, link).” (@gcorne) (#21811)
  • Image Editor: “have a proof-of-concept plugin ready awaiting input on how to modularize the Editor and make it extensible and flexible. Working on a patch that introduces a few well-placed hooks.” (@tomauger) (#21811)
  • Rendering in the editor: “Going to dig into rendering galleries in the visual editor using a wpview and building on some of the work that i did in” (@gcorne) (#26628, #26959)
  • TinyMCE: All looks good on this front, #24067. “We’ve also started looking at restyling TinyMCE modals to match the admin, #26952“(@azaozz, @melchoyce)
  • Audio/Video: There’s an update post by @wonderboymusic.

Other UI work:

  • Widget Customizer: “We’re running more users tests; Working on keyboard accessibility features; Trying to figure out support for wide widgets; Asked for some code review/notes; And digesting feedback from our recent p2 post.” (@shaunandrews)
  • Settings screens: “We had a meeting yesterday to divvy up the redux. I’m looking at reordering of information across screens, @melchoyce is experimenting with UI approaches, and @Ipstenu is looking at cleaning up the multisite ‘edit site/settings’ view. We hope to be posting sketches/wireframes [this] week.” Also, they’re again looking at lifting post by email from core. (@jenmylo)
  • Accessibility: we are testing 3.8.1 admin screens for keyboard accessibility. (@joedolson)
  • Autocomplete: After the new site email address autocomplete landed (#25348), now looking into other areas — users (#19867) and pages (#9864). (@helen)
  • CSS: Work continues on the colors.css merge to prep for splitting up wp-admin.css. (@helen, #18380, #26669).

Fun with internals:

  • Multisite: “Our tickets are focused. [As in, reorganized into the ‘multisite’ focus.] I’ve been digging through ms-load.php, ms-settings.php, etc in prep for some fun domain routing work. Would like to compare thoughts on approach soon and get moving on that.” (@jeremyfelt)
  • New Grunt-based Patching Tool: “I’ve been using it locally and haven’t run into any issues. Will be opening a ticket on Trac with a patch and instructions in the next few days.” (@jorbin)
  • Taxonomy: Hope to start with the first few tickets on the roadmap this week. (@nacin)

Housekeeping items last week included a call for GSoC participation from @jenmylo, and trac component reorganization proposal from @nacin. The reorganization was approved during the chat on Wednesday and is well under way. Additionally, there’s now a new Trac reports overlay and Trac’s navigation got overhauled.

For the complete changelog commits to trunk, check out the log on Trac.

More than three dozen contributors had a hand in last week’s efforts. Want to help out this week? Write or test a patch for 3.9.

Thanks for contributions this week from atimmer, aubreypwd, azaozz, c3mdigital, cmmarslender, coffee2code, Denis-de-Bernardy, DrewAPicture, empireoflight, gcornehelen, ippetkov, jeremyfelt, joehoyle, johnjamesjacoby, JoshuaAbenazer, kovshenin, kpdesign, kraftbj, mark8barnes, markjaquith, MattyRob, mdbitz, melchoyce, nacin, neoxx, nofearinc, ocean90, olivM, oso96_2000, ounziw, pento, romaimperator, sbruner, SergeyBiryukov, soulseekah, TobiasBg, toszcze, wonderboymusic, and yoavf!

#3-9, #week-in-core

GSoC 2014

It’s that time of year again, when all good* core developers start thinking about whether or not they’re up for mentoring a GSoC student this year. Many in this group know the drill, but there quite a few involved core contribs active this cycle who haven’t been involved with GSoC before, so here’s the deal:

  • Google pays for a program that gives college students summer jobs creating open source code under the mentorship of an organization (like WordPress).
  • We apply to be a mentoring organization and put up a list with a bunch of potential summer project ideas and identify who the mentors might be.
  • If we’re chosen to participate, we get a certain number of slots to fill, and students submit applications to work with us.
  • All the potential mentors rate/rank the proposals, and decide if there’s someone they’d like to mentor.
  • In game of chance-meets-requests dizzy enough to rival medical school matches, we put together our wish list for mentor-student matchups. 2 mentors per student, to provide coverage and make things more collaborative.
  • We hope that none of our top picks also applied to other orgs who accepted them, and wind up with our student roster.
  • We provide volunteer mentors to work one-on-one with the kids on projects that they applied to do over a 3-month period.
  • Open source code is released into the wild.

I’ll be putting together our application to be a mentoring organization this week, so it’s time to start thinking of project ideas we could suggest on the Ideas page that we need for the application (the more ideas the better) and who wants to be a mentor. The application deadline is February 14, so I’d like to get the Ideas list in solid shape (along with mentor bios) by Feb 10 (a week from Monday).

If you have an idea or are interested in being a mentor, please leave a comment on this post. At the end of the dev chat after 3.9 business is out of the way, we can discuss some of the ideas and I can answer any questions people have about mentoring.

Related: I’m also going to be posting soon about starting up a regular mentorship program, as outlined here. But that can wait for another day.

*Where good means both skilled and kind and generous with their time.

#gsoc, #mentorship

Possible tasks for WP 3.9

During last week’s dev chat, we decided on a schedule. We also chatted about a major focus in 3.9 on improving workflow for new and current contributors alike. If there are further suggestions on changes we can make to workflow to make core easier to contribute to, let us know.

Below is a rundown of what features/enhancements/ideas were discussed as possible for 3.9, including potential volunteers to take point on different tasks. This is all tentative. Thanks @DH-Shredder for compiling this.

In today’s chat, let’s continue to build this out. If you have something you’d love to work on during the release, join us!


There are two widget-related feature plugins to review: Better Widgets and Widget Customizer. Decisions on what we’re merging should come by next week, per the schedule. Expect a post from @shaunandrews soon explaining both and requesting help reviewing them.

TinyMCE improvements (@azaozz, @gcorne, @lgladdy)

  • TinyMCE 4 inclusion and troubleshooting
  • Improving editing/positioning images after insertion into the editor

Editor-related media improvements

  • Bringing the image editor into the media manager (@melchoyce, @johnbillion)
  • Allow a user to drop an item for upload on the post screen. This would then open the media modal (as an initial first step).

A better themes experience, part 2 (@matveb)

  • Taking our new experience to the theme installer (this may be started as a plugin)
  • Supporting multiple screenshots, left out of 3.8
  • Backbone routing and subview backend improvements

Improved audio/video support (@wonderboymusic) (see this post)

  • Playlists, subtitles, metadata generation
  • Media manager documentation

JavaScript and CSS

  • wp-admin.css split (@jorbin, @helen) (see this post)
  • Merging colors.css into other CSS files (@helen)
  • Grunt tool for patches (@jorbin)
  • Inline JS documentation using JSDoc (@jorbin)



Present your 3.8 feature idea at tomorrow’s meeting

Tomorrow’s WordPress 3.8 meeting at Thursday 18:00 UTC is a great time to present your feature idea to the community. Many groups have already started forming around different ideas.

Comment on this post with a group name to add your group to the list of projects presenting tomorrow. Make sure you bring the following things with you:

  • What problem(s) are you trying to solve?
  • What proposal solution(s) are you interested in exploring?
  • When and where is your group communicating?
  • Who has joined your group so far?
  • If you’ve selected someone to lead your group, who is your lead?
  • If you’ve already started work on your plugin, bring a link to your plugin page.

See you tomorrow!

#3-8, #agenda, #core-plugins

Post Formats UI Update, 3/14

As noted in The Road to 3.6 Beta 1, we’ve got quite a bit going on for post formats. Many of the tickets are in need of testing (including unit tests) and then a commit. As always, there are a few different fronts: UI/administration, data, and parsing. Here’s where we are with each, and what needs to get done. There’s a large variety of tasks here, and we are seeking contributors to help 🙂

Continue reading

#3-6, #post-formats