Customize Update 2016-10-02

This is the weekly update post for the customize component. It includes a summary of this week’s meeting, recent commits, and next week’s meeting agenda.

Weekly Customize Meeting Summary

On Monday we held our weekly 4.7 customize component meeting in #core-customize on Slack [logs]. Participants: @celloexpressions, @voldemortensen, @westonruter, @karmatosed, @folletto, @aaroncampbell. This summary also contains a few notes on action since the meeting.

4.7 Projects

  • Customize changesets (transactions) – #30937 – @westonruter
    • @westonruter has completed an initial 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., merging previous work with major updates
    • Transactions are now known as “changesets”, with a customize_changeset post type and customize_changeset_uuid query param.
    • @aaroncampbell is interested in helping here.
    • Please apply the patch from the GitHub pull request and test for any regressions and that it fixes the myriad of issues that it is supposed to fix: grunt patch:https://github.com/xwp/wordpress-develop/pull/161
    • Latest patch improves theme preview experience so that pending changes made during a theme preview aren’t lost when switching to another theme (see #36485).
  • Create pages within live preview during site setup – #37914#37915, #37916, #38002, #38013, #38164 – @celloexpressions
    • #38164 has been created for creating pages from the static front pageStatic Front Page A WordPress website can have a dynamic blog-like front page, or a “static front page” which is used to show customized content. Typically this is the first page you see when you visit a site url, like wordpress.org for example. section. This functionality can be extracted from the customize posts 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, but we need design ideas here.
    • We still need UXUX User experience feedback on providing a path to edit newly-created pages, #38002.
    • @westonruter punted #37916 to a future release.
  • 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
    • There was a special meeting to iterate on the design approach, and @folletto and @karmatosed agreed on a new design that was implemented in a revised patch at the end of the week.
    • A feature proposal is ready to be published on make/coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. pending final review.
    • The revised mobile flow was posted in a visual record on make/flow.
    • The deadline for feedback from other teams is October 12th, leaving a week for final code review and commit.
  • Code-editing gateways, via CSSCSS Cascading Style Sheets.#35395 – @johnregan3
    • This was discussed at length during the core dev chat. The consensus was that the feature is appropriate for core as proposed (pending approval of the formal proposal).
    • For security, because there is limited-to-no ability to actually sanitize CSS, a new 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. capability, unfiltered_css, will be introduced. By default, this will map to unfiltered_html, but plugins can change this as needed, for example on 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, where site admins don’t have unfiltered_html and custom CSS is particularly useful.
    • Neither CSSTidy nor CodeMirror will be used for now, as CSSTidy doesn’t actually provide CSS sanitization, and CodeMirror is a nice-to-have for syntax highlighting. There will be some primitive validation that provides user feedback for common syntax errors.
    • @folletto has volunteered to assist with the design/UX aspects here, taking inspiration from the similar feature on WordPress.comWordPress.com An online implementation of WordPress code that lets you immediately access a new WordPress environment to publish your content. WordPress.com is a private company owned by Automattic that hosts the largest multisite in the world. This is arguably the best place to start blogging if you have never touched WordPress before. https://wordpress.com/.
    • We’re schedule to post a feature proposal next week, and need to complete an updated patch soon to make 4.7.
  • Customizer browser history#28536 – @westonruter
    • Parts of this might be blocked by changesets (transactions), which is higher priority for now.
    • If it’s okay with @helen, we may want to pursue this in the week before 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., after the major feature deadline, since it’s a smaller feature.
    • During customizer themes user testing, this came up as expected behavior.
  • Improving sliding panels UIUI User interface#34391, #34343, #29158 – @delawski
    • An initial commit is in trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision., dev note published, and only a few minor bugs have come up so far.
    • #34343 is now in progress. @folletto pointed out that we might want to do #35186 instead, or in addition at some point.
    • #29158 needs design ideas for the back arrows and close button focus styles, with the possibility of eliminating the autofocusing of (pending 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).
  • Twenty Seventeen
    • Tracking a couple of possible customizer-heavy features.

Additional Tickets Needing Attention

  • Customizer notifications – #35210 – needs UX feedback and a patch
    • @westonruter will work on this after changesets (transactions) unless anyone else is willing to work on turning the latest proposal into a patch.
    • This ticketticket Created for both bug reports and feature development on the bug tracker. is holding up some of the other tickets on the 4.7 milestone, such as #22037 and #29932, as well as aspects of changesets (transactions).

Ticket Scrub

  • #21627: 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. for custom-background CSS selector
    • Needs unit tests, looks like @peterwilsoncc is the best person to own this.
  • #30738: JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. content templates for base WP_Customize_Control
    • Not critical for 4.7, but there is code in customize posts that could be adapted for this.
  • #33085: Customizer: controls description inside labels are not real labels nor descriptions
    • This is fixed with the code for #30738.
  • #37269: Introduce removed event for wp.customize.Values collection
    • Punted pending a (good-first) patch.
  • #36582: Export main query from Customizer preview
    • Punted, as it can be implemented in plugins such as customize posts for now.
  • #22857: ‘HeaderHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. Image’ state isn’t removed from images previously used as header image
    • This may be more appropriate under the media component based on the direction it’s taking.
  • #38080: Focusing a customizer control from the preview should show the controls on mobile
    • Patch should be too difficults, this is a follow up to another change in 4.7, although there is no UI exposed for this functionality on mobile currently.

Recent Customize Commits

Here are the customize-related commits for the past week:

  • [38648]: Customize: Re-architect and harden panel/section UI logic.
  • [38649]: Customize: Opt to disable IE8 support via conditional comments instead of unreliable feature detection.
  • [38668]: Customize: Fix focusing on controls for widgets and nav menu items after [38648].

Big thanks to those who contributed to patches committed this week: @westonruter, @delawski, @celloexpressions, @ryankienstra.

We’re always looking for more contributors; check out the open customize tickets and swing by #core-customize 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 involved. Fun fact: we’re 7 commits away from the 1000th commit that references customize.

Agenda for 2016-10-03 Meeting

Our next regularly-scheduled meeting is Monday, October 3rd, 17:00 UTC. Agenda:

4.7 Projects

Additional Tickets Needing Attention

  • Customizer notifications – #35210 – needs UX feedback and a patch
  • Customizer UI Contrast/Focus Styles – #29158 – needs UI ideas for focus styles on back buttons

Ticket Scrub

  • 4.7 Customize non-bugs without owners. We’ll assign these all to an owner 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. Beta 1 is three weeks away.
  • We’ll pick a different query to triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. each week. For example, bugs awaiting review (need verification).

We’ll see you next week!

#4-7, #customize