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 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. 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 coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. 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 JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. to enhance the editing experience within their adminadmin (and super admin) UIUI User interface 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 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
    • 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 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) feedback, but it’s a bit unclear what’s specific to this feature versus 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. 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 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. 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 CSSCSS Cascading Style Sheets.
    • CSS is output from the db via a style 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.), use of `style` tag is key for targeting for `postMessage` live preview
    • Post-based storage allows for 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. built in (ensuring that there are hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. 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 URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org
    • 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

  • Customize (@westonruter, @celloexpressions)
  • Twenty Seventeen (@davidakennedy, @melchoyce)
    • Latest theme update
    • Theme: This week, there has been a lot of testing after the initial design implementation was merged last week. One week to go and the focus is on three specific enhancements to come to a conclusion on: custom colors, SVGs for icons and more use of flexbox.
    • Multi-panel feature: 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. exist, and it’s been iterated on a lot. This is close to being ready for being considered for merge. It needs more code review and a look by other teams (accessibility for one).
    • Video headers feature: we have an mvp defined,  a new patch started and @celloexpressions will work on the Customizer part of it. This is not as far along, but could be ready by the deadline.
    • A lot of issues need to be punted or moved on. Tracking everything toward merge for Twenty Seventeen via GitHub milestone.
    • Will generate a merge proposal for the theme by Monday if not sooner. Will have brief daily check-ins/meetings for the theme until the proposal is posted.
    • @celloexpressions: visual edit icons in the customizer (#27403) are probably happening but won’t need a proposal there since the implementation is straightforward.
    • @helen: will follow up on #38114
    • 29 contributors on Twenty Seventeen
    • Team would appreciate any PR reviews on the theme, eyes on the multi-panel ticketticket Created for both bug reports and feature development on the bug tracker., and testing with all kinds of devices and browsers.
    • Next steps: (1) Focus on feedback/iteration for these big enhancements: custom colors, SVGs for icons and more use of flexbox. (2) Triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. necessary items into merge milestone. (3) Close as much as possible
    • Next meeting Tuesday, October 18, 2016, 1:00 PM CDT in #themereview
  • Media (@mikeschroder, @joemcgill)
  • i18n (@swissspidy)
  • Editor (@azaozz, @iseulde)
  • 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)
    • Next meeting Friday, October 14, 2016, 11:00 AM CDT in #core-httpHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands.

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

Dev Chat Summary: September 28 (4.7 week 6)

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

Reminders

  • Schedule: We are 3 weeks from the final chance to merge in major features. This includes Twenty Seventeen.
  • Tickets: There are currently 196 tickets in the 4.7 milestone. This is 14 more than last week. In just 6 short weeks, this needs to be zero. For any tickets you’ve moved into the milestone, please make sure these are active tickets, with some kind of activity in the last 10 days.
  • Bug Scrubs: We’re looking for people to help run 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, please reach out to @jorbin if you have interest (details here). Bug scrubs this week plus one on Monday and one on Wednesday next week at yet to be scheduled times.

Components & Features

  • Twenty Seventeen (@davidakennedy, @melchoyce)
    • Latest update
    • Add multi-panel feature to pages through add_theme_support (#37974) & Enable Video Headers in Custom Headers (#38172) need eyes and help the most
    • Additional 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. eyes on Better support for non-latin font fallbacks especially designers who use non-latin alphabets natively to hear suggestions for non-latin font stacks that would look good in the theme
    • Next meeting Friday at 18:00UTC (theme-focused), Tuesday (feature-focused)
  • Media (@mikeschroder, @joemcgill)
    • Latest update
    • Unexpected change to media title behavior in WP 4.6.1 (#37989) – Looks like @sergey added 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. that fixes the remaining issues with some UTF-8 characters. Should be committed soon.
    • Media search doesn’t include file name (#22744) – The current implementation is trampling any preexisting JOINs. Should have a patch a new patch ready to test soon.
    • Also looking at pursuing additional media organization improvements through a feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins., details still need discussion, @karmatosed on board to help with design
    • Next meeting Friday at 17:00 UTC
  • Customize (@westonruter, @celloexpressions)
    • Latest update
    • Primary commit for Harden panel/section UIUI User interface code by removing contents from being logically nested (read: goodbye margin-top hacks) (#34391) is in, and a dev notedev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. is scheduled to be published after today’s dev chat
      • Some major changes here, so we need 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 and theme authors to test
    • Received design feedback on A New Experience for Discovering, Installing, and Previewing Themes 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. (#37661) and working on making those 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. by the end of this week and planning to publish a feature proposal on Friday
      • Need to discuss themes again during tomorrow’s #design meeting for final approval before the changes are made
    • Need attention on Provide a better gateway for code-based theme customizations with the Customizer (#35395)
      • Discussion of whether this direction is appropriate lead to tentative consensus that this is likely appropriate for coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.
      • Next steps will be to loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. @folletto in to improve the design and polish up the patch
      • Big other blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. discussed: sanitizing and validating the CSSCSS Cascading Style Sheets. & most appropriate corresponding capability
        • Currently rudimentary validation in the patch for balanced braces and comments. Need improvement if relying on it heavily, but it provides instant user feedback
        • Capability solution needs to work for 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 if at all possible, since that’s a primary use case
        • Discussion to continue on the TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticketticket Created for both bug reports and feature development on the bug tracker. and/or #core-customize
  • i18n (@swissspidy)
    • Feedback/help on Introduce a localeLocale A locale is a combination of language and regional dialect. Usually locales correspond to countries, as is the case with Portuguese (Portugal) and Portuguese (Brazil). Other examples of locales include Canadian English and U.S. English.-switching function (#26511) would be appreciated
      • The problem is that labels of custom post types and taxonomies are only evaluated once, so switching locales wouldn’t properly translate those.
      • There’s a proposed fix for built-in types and taxonomies, but we prefer a better solution that works for all of these.
  • Editor (@azaozz, @iseulde)
    • Would like to help with a survey (scratchpad/draft). Need to start gathering user usage stats, should be opt-in, start with a plugin first, and release the aggregated data
    • Weekly data tracking (back-end) meeting Wednesday at 1900 UTC
  • 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)
  • 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/. (@krogsgard, @kadamwhite )
    • Latest update
    • Whether the API should follow core behavior and save a revision every time a post is updated
      • Right now every update to a post creates a revision and can be a bit painful for some clients, so: 1) should that always happen? 2) should we have the ability to turn it off?
      • Decided on: 1) Yes.  2) The ability to use auto-drafts like in core makes sense, but doesn’t need to block merge.
    • How to handle image permissions, specifically for the case where an image is attached (uploaded) to a private post and then featured in a public post
      • Specifically, if I upload an attachment to a private post, its visibility is governed by that post, so it too is private but, in wp-adminadmin (and super admin) I can add it as featured media to another public post. When that public post is queried: what happens!?
      • @joemcgill summary: I happen to think it’s an oversight in WordPress that we allow an image attached to a private post to be set as the featured imageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. of another post (and by an author without permission to view the private parent post). We should probably either close this loophole or detach the attachment from the private post whenever it’s set as a featured image on another post.
      • @kadamwhite to document decision, @rmccue @joemcgill @helen et al will identify core tickets that should be opened.
    • Whether (and how) to expose edit locks through the 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.
      • Main thing here is whether this is a blockerblocker A bug which is so severe that it blocks a release.? Decision: edit locks are great, but doesn’t need to block merge.
    • Next bug scrub is Thursday 1400 UTC; next team meeting is 1400 UTC on Monday, October 3rd

#4-7, #core, #core-editor, #core-http, #core-i18n, #core-media, #core-restapi, #dev-chat, #summary, #twenty-seventeen

Dev Chat Summary: September 21 (4.7 week 5)

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

Reminders

  • Schedule: As of this meeting, we are 4 weeks from the final chance to merge in major features. This includes Twenty Seventeen.

Bug Scrubs

  • 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 scrub this week. 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) standing scrub on Mondays at 17:00 UTC in the #accessibility channel. Other teams tend to devote time in their weekly meetings.
  • General purpose 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 to move tickets along in the milestone to be hosted by @morganestes, @stevenkword, @aaroncampbell, & @desrosj
  • @swissspidy to run Cron 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. bug scrub as time allows
  • If you can you run a scrub to help ensure tickets move forward, then please 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.” @jorbin for guidance. Here’s a writeup on how to run a bug scrub

Components & Features

  • Twenty Seventeen (@davidakennedy, @melchoyce)
  • 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/. (@krogsgard, @kadamwhite )
    • Latest update
    • API discussion is at 7 am Pacific on Mondays
    • Settings endpoints and meta support both have first-passes on them, which need internal review and some more testing before we ship
    • We have a path forward for passworded posts (password in the query string, eww, but only viable option), there really isn’t a way we can see to avoid sending them as a query param
    • Meeting tomorrow in #core-restapi at 21:00 UTC to go through open issues around non-trivial, conceptual issues in WordPress. REST API team will prepare summary of issues for component maintainers and/or lead devs to review, question, and help guide discussion towards consensus.
  • Media (@mikeschroder, @joemcgill)
    • Latest update
    • Moving our weekly meetings up to Fridays at 17:00 UTC starting this week
    • Unexpected change to media title behavior in WP 4.6.1 (#37989) – The main issue here was resolved, but there seems to still be some odd behavior affecting words being chopped off filenames with international characters. Could use extra eyes from anyone (along with @sergey) more versed in 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.. 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. on the attachment titles that we generate on upload all became URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org encoded instead of reading like a normal title.
    • Media search doesn’t include file name (#22744) – Committed earlier this week. Please report any issues that come as a result.
    • Next step in improving the organization of the media library is to assess both the infrastructure and UIUI User interface improvements that need to be made here. Prefer to include #design early in this process, rather than asking for UI feedback on development driven decisions, hope to be part of the #design chat agenda tomorrow
  • Customize (@westonruter, @celloexpressions)
    • Latest update
    • In this week’s meeting we developed a schedule for publishing make/coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. feature proposals/dev notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. for the remaining primary 4.7 customize projects, working backward from anticipated time to commit after the proposal and current readiness:
      • Week of 9/19: Improving sliding panels UI (34391, @delawski)
      • Week of 9/26: A new experience for themes 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. (37661, @celloexpressions). Please review soon for any requested changes in direction or design.
        • Summary: The existing themes section in the customizer is replaced with a full-screen theme browser and installer… The UI is nearly identical to wp-adminadmin (and super admin)/theme-install.php… The .org-based theme-install previewer is not accessible here because it is likely to cause confusion with its customizer-like interface and the resulting need to switch contexts back and forth… An overarching goal is to avoid switching in and out of the admin/frontend/customize contexts during theme installation and previewing, instead staying in the hybrid customizer context that provides a combination of frontend plus controls… On the technical side, this heavily leverages JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors.-templated customizer controls and scales nicely to hundreds of themes.
        • Visual:
        • Please comment on the ticketticket Created for both bug reports and feature development on the bug tracker. with your feedback as soon as possible, preferably with specific concerns/ideas and reasons.
        • @celloexpressions to check in with @karmatosed on user testing ahead of posting final feature proposal
      • Week of 9/26: Customize transactions (30937, @westonruter evaluating this week and might puntpunt Contributors sometimes use the verb "punt" when talking about a ticket. This means it is being pushed out to a future release. This typically occurs for lower priority tickets near the end of the release cycle that don't "make the cut." In this is colloquial usage of the word, it means to delay or equivocate. (It also describes a play in American football where a team essentially passes up on an opportunity, hoping to put themselves in a better position later to try again.) again)
      • Week of 10/3: Code-editing gateways, via CSSCSS Cascading Style Sheets. (35395, @johnregan3/@celloexpressions). Awaiting approval/feedback on the acceptability/ability to bundle the two proposed libraries in core, with feedback particularly needed from committers and anyone familiar with the Jetpack fork of CSSTidy.
      • Week of 10/10: Customizer browser history (28536, @westonruter)
  • I18n (@swissspidy)
    • User Admin Language (#29783) – almost ready, another review this week and will commit if no blockerblocker A bug which is so severe that it blocks a release. pops up
    • Introduce a localeLocale A locale is a combination of language and regional dialect. Usually locales correspond to countries, as is the case with Portuguese (Portugal) and Portuguese (Brazil). Other examples of locales include Canadian English and U.S. English.-switching function (#26511) – @ocean90 to do some benchmarking
    • 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 (#20491) – GlotPress side has a solid 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 for exporting translations as JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. files (assistance on testing would be helpful). Still tinkering with the WordPress side and would love to get some additional feedback there.
  • Editor (@azaozz, @iseulde)
    • No updates, but would love to figure out a way to get more user feedback that helps us set direction for the editor. Will look to add some Core questions to annual survey on 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/. Otherwise will start with something in the 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. tester plugin, biased audience but it’s one that exists, is more likely to opt-in, and will be more flexible.
  • 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)

Open Floor

  • @pbearne on Add filters to wp_new_user_notification and wp_password_change_notification (#38068) – added a set of filters to allow us to override email messages send by the wp_new_user_notification and wp_password_change_notification functions. @johnbillion to review as it relates to work on notifications.
  • @danieliser checking for interest for core in a set of reusable templates, models & functionality for forms, tabs & modals
  • @ericlewis on Bulk actions: Reactivate bulk actions hook + add hander hook for all admin screens (#16031) – could use a review of the latest 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., looking to commit sometime in the next week
  • @dshanske still working through the Pings and Trackbacks component

#4-7, #core, #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

  • 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 5.6.20 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