Dev Chat Summary: October 12 (4.7 week 8)

This post summarizes the dev chat meeting from October 12th (agenda, Slack archive).

Reminders

Feature Proposals for 4.7

  • REST API: Content API (@kadamwhite)
    • REST API Team Update
    • Content API endpoints have been stable for some time and now have the missing functionality established at the start of this development cycle
    • We pitched merging in the OAuth 1 server alongside those content endpoints, to simplify the process of authenticating from remote applications
    • The auth method in core right now is cookie/nonce-based, so it’s available to any code running within the same domain as the main WordPress install and leverages the existing login cookie
    • plugins and themes that utilize JS to enhance the editing experience within their admin UI have full read/write access, restricted to the capabilities of the authenticated user
    • External applications, e.g. a mobile app, desktop app or external server, would have read-only access
    • readers, aggregators, etc are possible without authentication, and more complex read-write apps can be written by installing one of the available authentication plugins, of which OAuth is but one
    • Reference for options and when/how to use
    • 90 contributors for the rest-api plugin
    • automated test coverage currently at 90.44%
    • 37 more open tickets
    • weekly meeting on Monday at 1400UTC in #core-restapi
  • Discovering and installing themes in the customizer (@celloexpressions)
    • Related Make/Design and Make/Flow posts, but best to post all feedback to the Make/Core feature proposal
    • Working through the accessibility feedback, but it’s a bit unclear what’s specific to this feature versus the customizer in general, and which issues are also present in the admin theme installer
    • Haven’t heard anything from polyglots, security (unlikely to have any issues), or docs
    • There is one known i18n concern where we’ll need a compromise until we have JS i18n in core
    • @celloexpressions to do a final iteration to pick up any remaining feedback on Thursday, then pass to @westonruter for the code review process
  • Custom CSS with live previews (@celloexpressions)
    • seems to have decent support as a feature, with the biggest question in the comments being how to store and output the CSS
    • CSS is output from the db via a style tag, use of `style` tag is key for targeting for `postMessage` live preview
    • Post-based storage allows for revisions built in (ensuring that there are hooks for a plugin that wants to write a file would alleviate many concerns)
    • CSS is theme-specific in the proposal for this, with a post object for each theme that has CSS
    • Scheduling a meeting to go through these concerns and make a decision, coordination to occur in #core-customize
  • Customize Changesets (née Transactions) (@westonruter)
    • Technical Post (audience is developers who have extended the customizer significantly, as there may be impacts to any heavy customizer integrations since changesets touches some very low-level stuff in the customizer)
    • Users will be able to bookmark a customizer session since the changeset UUID will be part of the URL
    • Theme switches will no longer result in changes being lost (no more AYS dialog)
    • a few other open questions and issues that have been noted

Components

#4-7, #core, #dev-chat, #summary

Dev Chat Summary: October 5 (4.7 week 7)

This post summarizes the dev chat meeting from October 5th (agenda, Slack archive).

Reminders

Components & Features

  • Non-4.7 Feature Proposal: Notifications API (@johnbillion)
    • Discussion on this in #feature-notifications, but no meeting scheduled
  • Non-4.7 Feature Proposal: Status API for taxonomy terms (@boonebgorges)
  • Customize (@westonruter, @celloexpressions)
    • Feature proposal for 4.7: Discovering and installing themes in the customizer (@celloexpressions)
      • Deadline for feedback and review from various teams is Wednesday, October 12th
      • Need review/audit from Flow (and mobile), Docs, Security, Polyglots/i18n, Design/UX, Accessibility, and when those are done a Code Review (@westonruter)
      • Would like user testing & testing of the patch itself
      • Please provide feedback as a comment on the Feature Proposal Post, User Testing Post, or via Trac
      • The plan is to begin final code review/commit next Wednesday, October 12th, so feedback needs to be received by then
    • Merge proposal for Customize Changesets (fka Transactions) – Trac & Github
      • Needs developer attention, specifically on expected/best behavior on maintaining changesets across multiple theme previewing/testing. Details to be included in a Make/Core post by @westonruter with discussion continuing in #core-customize
    • Otherwise we’re working toward finalizing patches for all of our other projects and will publish a feature proposal for custom CSS in the next week. All 4.7 customize non-bugs have an owner assigned to work toward commit or punt to a future release.
  • Twenty Seventeen (@davidakennedy, @melchoyce)
    • Highlight: start testing the theme, we need help on the features from a development perspective, plan is theme merging into core by October 19th with enhancements needing to complete by October 26th
    • Latest theme update
    • Latest features update
    • Theme recap: This week the initial design implementation was merged into the master branch on GitHub. The rest of the theme is moving along nicely, and the initial design implementation should make it easier to test the theme’s features. Please start testing, and creating issues! The next step is to get a public demo up to help with that. Best way to test is to get it via GitHub ( if using wp-cli, wp theme install <github-url> --activate).
    • Features recap: For the multi-panel feature, at the weekly meeting, the feature was reduced in scope to focus only on the front page of sites, only include content from pages and be implemented in the Customizer. @karmatosed has some mocks posted (including live preview). For the video headers feature, it still needs to be focused with a reasonable MVP defined. Although, some recent feedback on the ticket is helping there.
    • Twenty Seventeen needs you. Home pages should be fun to create and a heck of alot easier. Headers can be even more captivating. If you’re interested in working on either of these projects, please let @davidakennedy know.
  • REST API (@krogsgard, @kadamwhite)
    • Settings (PR against the main plugin repo) and Meta (PR here against the meta repo) are still open for review from the team; we’ll be formally posting updates on Make/Core outlining the new functionality as these land
    • Need a lot of eyes on Authentication, released v2 beta 14 last weekend and intend to release a beta 15 with the merge-candidate functionality. Plan to propose that OAuth1 be included in the merge.
    • Testing and review is top priority right now. Docs for folks getting up and running with the API will be getting a strong push post-Proposal.
    • Next meeting: Thursday at 2pm UTC
  • Media (@mikeschroder, @joemcgill)
    • Latest update
    • Media search doesn’t include file name (#22744): Just committed a fix for a bug that was trampling existing JOINs. Please test, especially if you’re doing any custom filtering to media queries that might be impacted.
    • Starting work on potential feature plugin to introduce additional UX improvements to the media library. Likely future release material, but expect to fix some bugs and lay groundwork during this release. Development will happen in GitHub. Plan to make a feature project proposal after we’ve had some initial conversations about UI/UX direction.
    • After some conversation with @sheri, may still try to land a core media widget (#32417). Most of the work here has already been done, but need to make some decisions. We’ll plan to talk about this during our meeting on Friday at 5pm UTC in #core-images.
  • i18n (@swissspidy)
    • User Admin Language (#29783) landed this week. It allows each user to set their language (locale) and the admin will be translated accordingly for them. A dev note has yet to be written.
    • Focusing on making use of that feature by sending emails in the respective user’s locale. See #26511 if anyone wants to help with a new patch.
    • Introduce some JavaScript i18n functions (#20491): progress currently happens outside of core. There’s a proof of concept for extracting strings from JavaScript files as well as a PR on the GlotPress repository to add JSON export functionality.
  • Editor (@azaozz, @iseulde)
    • We’ll work on a better experiences for when nonces expire; posted an idea dump in #core-editor, thoughts on any points are very welcome.
    • Bug scrub Thursday at 4pm UTC in #core-editor.
    • In order to move ahead with several UI proposals/tickets we will need to get more usage data.
    • Planning to update TinyMCE next week, even if no new version by then.

#4-7, #dev-chat, #summary

Dev Chat Summary: September 7 (4.7 week 3)

This post summarizes the dev chat meeting from September 7th (agenda, Slack archive).

Update on 4.6.1

Updates on Components and Features

  • Media via @joemcgill
    • #22744 – a few approaches on this ticket that are pretty close, but some feedback that would be helpful
      • To enable searching for filenames, we have to add a JOIN for the meta table, which has performance implications
      • so a) we could use more eyes/testing and b) I want to make sure we’re ok to add this if we limit it to only the media library
      • We have a couple approaches in patches. The latest limits it only to the media modal and WP_Media_List tables.
      • on a site with ~14k attachments and ~18k posts, this change increased the main query time from 60.7ms to 187.6ms
      • Plan is to drop it in for including titles in library searches and see how that goes
    • Looking for interest in getting the media widget started back up
      • @sheri has expressed interest and it seems like previous efforts got fairly close. Would love to see folks interested jump back onto that project during this release.
      • discussion will be in our weekly meeting in #core-images on Fridays at 19:00 UTC. There is a jump-start post so people can comment there or jump into the #core-images channel.
  • Customize via @celloexpressions
    • Two items needing review:
      • 1) ability to preview terms in the customizer, which would enable users to build menus incorporating their new taxonomy term structure on initial site setup in the customizer. See #37914 and #37915. We need to come up with a plan with those interested in the taxonomy component, and @boone in particular. First step there is to decide if we want to try to target 4.7 for first steps there.
      • 2) #37661 needs feedback. Working on a user testing plan together with @karmatosed soon. Looking for specific feedback or testing.
  • REST API via @krogsgard
    • Notes from Monday’s meeting
    • Calls for help would be participation in our next weekly meeting, 1400 UTC on Monday, and a bug scrub 1400 UTC on Thursday, both via #core-restapi
    • some in-flight work this week that’s being a bit delayed by the participation of Ryan and Joe in A Day of REST
    • We have big documentation needs in the v2 docs repo if anyone wants to play along, especially anybody who wants to set up a multi-language-code-snippet thing that we could use
    • meta and options are both moving well but we’ll need to start getting beyond theory and into code pretty soon
    • We really, really want to talk to component maintainers! It’s my job to reach out to you all, and you can also reach out to me (@krogsgard).
  • I18N via @swissspidy
    • #26511 (switch_to_locale()) and #29783 (User Admin Language)
      • Those are currently in development and after I upload new patches today/tomorrow, I’d love to see some testing.
      • Think of possibilities like: The admin bar is shown in Dutch while the rest of the site is shown in English.
    • #20491 (Introduce some JavaScript i18n functions)
      • We want to make translating strings in JavaScript files easier. Like in PHP files, one should be able to use gettext functions to translate strings. This involves changes to the translate.wordpress.org platform and therefore requires thorough discussion, planning, and testing.
      • After tackling this topic many times and attending the GlotPress meeting yesterday, it’s clear that it’s a task covering not just 1 release. Thus, we’ll likely have to do regular meetings here in Slack to get there.
  • Fields API via @sc0ttkclark
    • looking into slimming down our Fields API proposal into a MVP form for our core proposal
    • blocked by lack of time because i’m also lead organizing WCDFW this month
    • I could use lots of eyes on it, we want to identify anything that might be out of scope, as well as look into what our plan will be for the Javascript side of things for fields like the Media modal
  • #36964 (Show/hide the tag-cloud on `edit-tags.php` admin pages using a filter) via @ramiy
    • it has a patch, ready to be commited
  • #17817 (do_action/apply_filters/etc. recursion on same filter kills underlying call) via @ocean90
    • Landed!
  • #37198 (Use `WP_Term_Query` for `wp_get_object_terms()`) via @flixos90
    • Would like some eyes on this.
    • The patch is two months old now, but generally worked and passed unit tests when I did it – I think feedback is needed before this moves forward though.
  • Topics & folks with no updates this week:

Twenty Seventeen

  • Announcement post is up
  • This will be a call for help on both the theme and theme API fronts as noted last week, and thoughts on what sorts of theme API things will be needed to support the theme (there will be a number noted in the post).
  • For a little bit of a preview, some of the things that should be looked at are better page-on-front flows, making it easier to figure out where to edit something while live previewing (aka customizer), and how we can help people see how the theme can really serve their needs well (when relevant).
  • There will be *a lot* of opportunity for UX and UI when it comes to the core side of things, and of course front-end development with the theme itself. And lots and lots of our traditional PHP and JS development.

#4-7, #core, #dev-chat, #summary

Dev Chat Summary: August 31 (4.7 week 2)

This post summarizes the dev chat meeting from August 31st (agenda, Slack archive).

Holidays & Scheduling

  • Reminder to announce meeting moves or cancellations (e.g., Monday is US Labor Day holiday, Monday after is Eid al Adha)

Update on 4.6.1

#36335: Autoloader and #37699: Globals

  • Discussion framing: see these as being feature projects in their own right, examples of when features can’t be actual plugins and why it’s better to think of them as projects. How can these be worked on effectively?
  • Discussion:
    • New project on GitHub that’s a clone of the WP Git repo
    • grunt patch allows you to use GitHub PR URLs, which can help facilitate testing for people that prefer using SVN or are using SVN for their trunk installs.
    • Trac + SVN workflow seems to work best when we’re dealing with patches and discussion leading to an individual commit; is probably a pretty poor option without some additional tools.
    • Creating feature branches for wide-ranging work seems to be a better fit and allows for less churn of the code in trunk at the same time as other major work.
    • Nice to review & collaborate on a big feature on a GitHub feature branch as opposed to wrangling conflicting and amending patches on Trac
  • Suggestion to @wonderboymusic: fork @jorbin‘s GitHub mirror, use GH issues and develop in various branches as makes sense (or even separate forks entirely if issues become unwieldy across very different projects), and use PRs to run existing CI setup. PRs can then be used as patches in grunt patch
    • If treated as a feature project, all of that project’s management happens wherever the lead feels best serves that project. There should also be weekly meetings with updates posted on Make/Core. @wonderboymusic to determine a meeting time and post about it next week.
    • @wonderboymusic@helen in agreement on approach; GitHub repo created
  • Related question: How do we determine what sort of tasks should be feature projects? Who decides that? And when?
    • Some things to think about – is it a lot of churn? Does it need to span multiple releases and/or is it a “done when it’s done” process? Is there a lot of design and user testing involved? They exist whenever somebody has a thing they believe belongs in core and wants to run with it in that way. Getting feedback is an evolving process.

4.7 Project/Feature Proposals

  • Goal: come out of this with the start of a list of projects and a point person for that project, to be fleshed out with more participants and meeting times over the next week.
  • @johnbillion – HTTPS
  • @celloexpressions – Customize component project & owner
    • Create page-based nav menus without leaving live preview – #34923@celloexpressions (follow up tickets forthcoming)
    • A new experience for themes in the customizer – #37661@celloexpressions
    • Code-editing gateways, via CSS – #35395@johnregan3
    • Customizer browser history – #28536@westonruter
    • Refactoring sliding panels UI – #34391@delawski
    • (maybe) Customize transactions (with no UI) – #30937@westonruter
    • will track all of the Customize projects with the weekly Customize component meetings and Make/Core posts usually posted on Thursdays starting this week
  • @krogsgard – REST API
    • had a productive start on Monday and will have a summary up shortly
  • @boonebgorges – #20875
    • work with cache drop-in authors so that we can start leveraging across WP
  • @davidakennedy – #19627
  • @helen – there needs to be a dedicated theming API/support team because there will be a Twenty Seventeen; actual details on that next week. There will need to be really robust teams on both the theme and theme support pieces, likely with subteams even.
    • @karmatosed: splitting core themes as a bucket for all theme into, core themes and theme functionality
    • @helen: noting that theme functionality will spill over into other components (media seems incredibly likely)
    • @themiked: interested in theming work, on the API/support side if that’s whats needed
  • @joemcgill – Media focus candidate & owner; will shepherd these through regular #core-images meetings
  • @azaozz – will publish “4.7 editor wishlist” by the end of the week
    • to include Nonce refresh/saving without page reload, and few others
  • @sc0ttkclark – Fields API

Ways YOU Can Help!

  • Please comment below if there are things that didn’t get mentioned that you’d like to lead.
  • Design help and user test coordination (alongside @karmatosed) desired on #37661 by @celloexpressions, please respond if you’re open to help on this.

#4-7, #core, #dev-chat, #summary