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

  • 4.6.1 shipped this morning! https://wordpress.org/news/2016/09/wordpress-4-6-1-security-and-maintenance-release/
  • had to pull back one fix (#37696) due to 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. before release, please help review that ticketticket Created for both bug reports and feature development on the bug tracker. in order to add it to a future 4.6.2 release
  • Otherwise, auto updates are flowing and “things seem to be working”™

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 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. 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 widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. 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 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., which would enable users to build menus incorporating their new taxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies. 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 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/. via @krogsgard
    • Notes from Monday’s meeting
    • Calls for help would be participation in our next weekly meeting, 1400 UTC on Monday, and a 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. scrub 1400 UTC on Thursday, both via #coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-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).
  • I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill. via @swissspidy
    • #26511 (switch_to_locale()) and #29783 (User Adminadmin (and super 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 JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. i18n functions)
      • We want to make translating strings in JavaScript files easier. Like in PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher files, one should be able to use gettext functions to translate strings. This involves changes to the translate.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/ 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 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/. to get there.
  • Fields 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. via @sc0ttkclark
    • looking into slimming down our Fields API proposal into a MVPMinimum Viable Product "A minimum viable product (MVP) is a product with just enough features to satisfy early customers, and to provide feedback for future product development." - WikiPedia 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 tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.)-cloud on `edit-tags.php` admin pages using a 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.) via @ramiy
    • it has 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., 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:
    • HTTPSHTTPS HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information. & @johnbillion
    • #20875 (Introduce wp_cache_get_multi()) & @boone
    • Editor & @azaozz

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 UXUX User experience and UIUI User interface 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 JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. development.

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