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: October 5 (4.7 week 7)

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

Reminders

  • Schedule: We are 2 weeks from the final chance to merge in major features. This includes Twenty Seventeen. Reviews and commits should be getting 2fast2furious-logo.svg.
  • Tickets: There are currently 167 tickets in the 4.7 milestone. This is 29 fewer than last week 🎉However, in just 5 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 7 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 Thursday at 3pm UTC (by @jbpaul17 on needs-testing tickets) and Thursday at 7pm UTC (by @morganestes on needs-docs tickets). 62 enhancements and feature requests are still open, we’ve already starting punting so please ensure there is activity on ones you want to land.

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/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., Design/UXUX User experienceAccessibilityAccessibility 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), and when those are done a Code Review (@westonruter)
      • Would like user testing & testing of the 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. 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/CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. 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 CSSCSS Cascading Style Sheets. in the next week. All 4.7 customize non-bugs have an owner assigned to work toward commit or 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.) 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 branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". on GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/. 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-cliWP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/ https://make.wordpress.org/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 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.. @karmatosed has some mocks posted (including live preview). For the video headers feature, it still needs to be focused with a reasonable 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 defined. Although, some recent feedback on the ticketticket Created for both bug reports and feature development on the bug tracker. 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 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)
    • Settings (PR against the main plugin repo) and 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. (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 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. 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 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. 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 pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins. 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 UIUI User interface/UX direction.
    • After some conversation with @sheri, may still try to land a core 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. (#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 Adminadmin (and super admin) Language (#29783) landed this week. It allows each user to set their language (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.) and the admin will be translated accordingly for them. 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 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. 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 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): 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 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. 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

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

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

  • 4.6.1-RC1 planned for release tomorrow (Thursday, September 1). Provides a nice window for testing before the planned release date of September 7.
  • Status:

#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 GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ that’s a clone of the WP GitGit Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system. https://git-scm.com/. repo
    • grunt patch allows you to use GitHub PR URLs, which can help facilitate testing for people that prefer using SVNSVN Subversion, the popular version control system (VCS) by the Apache project, used by WordPress to manage changes to its codebase. or are using SVN for their trunk installs.
    • TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. + 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 branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 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/CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. @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.
  • @johnbillionHTTPSHTTPS 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.
  • @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 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
    • Code-editing gateways, via CSSCSS Cascading Style Sheets.#35395@johnregan3
    • Customizer browser history – #28536@westonruter
    • Refactoring sliding panels UIUI User interface#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
  • @krogsgardREST 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/.
    • 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 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./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
    • Media library organization improvements (@mike/@joemcgill)
    • Improved full size image optimizations – #37840 (@mike/@joemcgill)
    • Core 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.#32417 (@sheri)
    • HTTPS issues (which @johnbillion already mentioned)
    • PDF Thumbnails – #31050 (@markoheijnen)
  • @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