Editor chat summary: Wednesday, 28 April 2021

This post summarizes the weekly editor chat meeting on Wednesday, 28 April 2021, 14:00 UTC held in Slack.

GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 10.5 RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). release.

The first topic was the Gutenberg 10.5 release. The RC was already shipped a week before the chat https://github.com/WordPress/gutenberg/releases/tag/v10.5.0-rc.1. @jorgefilipecosta said that we had some PR’s that were cherry-picked since the RC.

The final release was scheduled for the day of the chat. @jorgefilipecosta gave public congratulations to @ajitbohra for the first RC release!

Posts requiring feedback and insights.

@jorgefilipecosta said that we have two important posts published recently that deserve wide attention:

In case anyone has some insights or thoughts to share please leave a comment on the posts! Your insights are appreciated!


Monthly Plan and key project updates.

Global Styles

Shipped this week

theme.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.

block.json / 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. supports

  • duotone #26752
  • padding: fix to allow units other than px #31057
  • font-size: can be used in nodes other than the wrapper #30879
  • border-color: fix for dynamic blocks #31020
  • blocks
    • padding for site title #31125
    • padding and letter casing for site tagline #31042
    • link color for post date #30791
    • table uses now background/text colors from the theme #30791

Internationalization

  • custom templates can be translated via theme.json #29828

KSES

  • fix to sanitizing user styles #30888

Site editor:

  • fixes for preset classes in the site editor #31218 #31217 #31204
  • fix for color selector in the UIUI User interface color panel #31015

Ongoing

theme.json

  • Changes to format #29891 are ready #30541 we’re now testing and polishing. It also includes versioning (aka migrate the older formats to the new one).
  • Improve 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. to take data from the theme directly #31267

block.json / block supports

  • typography (line-height, font-weight, etc) can be used in nodes other than the wrapper #30880
  • border and color (background, text) to the pull quote block #30951

New style properties

  • Add support for letter-spacing #31118

Misc

  • Add a new endpoint that exposes block editor settings through the 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/. (by mobile to access global styles data) #29969
  • standardize capabilities of wp_template, wp_template_part and wp_global_styles #30893

Priorities

The priority continues to be shipping #29891 as soon as possible to unblock related work.

#28913 is a good issue to look at if you can lend a hand (help with reviews, migrate more blocks, more properties, etc).

Block based 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. and Navigation Editor.

@andraganescu provided the following update:

The legacy widget got an UXUX User experience upgrade and now the default view is the preview while the embedded widget editor 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. had a performance overhaul. The focus on back combat continued with more testing with legacy widgets from various plugins. As expected a lot of new issues were opened.

On navigation editor the steady pace of improvements continued last week. Many thanks for the many welcome contributions!

Navigation block.

@joen provided the following update:

For the navigation block, we recently merged a padding change and I’m doing some followups (submenu gapplaceholder itemsnav screen). Also looking at small separate improvements, and hope to get back to patterns now that the padding change is merged  — thank you for reviews.

Full Site Editing/Page templates

@youknowriad provided the following update regarding page templates:

I’ve spent some time iterating on that on the last days. We now merged the UIs for templates under a single “template” panel in the sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme., we iterated a bit on the design of the “frame” to distinguish properly between template and post modes and simplified the save flow a bit. There are a number of iterations we could make, I don’t expect all of them to happen before 5.8, at some point, we’d make a final decision about whether it’s good enough to include.

@ntsekouras made a heads up regarding the query block:

Query block has now a wrapper element which for now is div (and will be the default when more tags will be supported) here: https://github.com/WordPress/gutenberg/pull/30804I’ve added a deprecation so everything will work as before but it will be good to update any block themes you have that use Query.

Task Coordination

@aristath

This past week:

  • Continued working on PR to autogenerate anchors for headings – #30825
  • Continued on @nosolosw‘s existing PR to allow inner blocks in quotes – #25892
  • Sustainability: PR to split theme.css styles and only load the ones for rendered blocks – #31239
  • Smaller PRs, mostly to improve code quality & linting errors
  • Lots and lots of PR reviews

Next week: Continue working on all the things mentioned above

@mamaduka

Helping out with the new Navigation Editor screen:

  • Sync menu name updates.
  • Introduce useMenuEntityProp hook.
  • Better handling of unsaved changes. PRs one and two.

Continued my work on the “Most Used Terms” feature and got great feedback about improvements. Thanks, everyone.Planning to continue working on Navigation Editor tasks.

@paaljoachim

@ntsekouras

@annezazu

Continued FSE Program work with the fifth call for testingpublishing a schedule of upcoming plans, reviewing/adding to a brief FSE doc, and launched a second round of questions. I’m planning to likely do a hallway hangout tomorrow on FSE issues/prs/designs in #fse-outreach-experiment for anyone interested!

@poena

Plans to continue on the site block changes but also I want to test the theme.json format and update the tutorial for creating block themes. Awaiting review of the letter-spacing.

@vdwijngaert

Will be working on a PR for moving the post/page title to the top bar. Current PR: #31240, but going to close that in favor of a new one based on a 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".

@jffng

@jorgefilipecosta

The main goal for next week is to review https://github.com/WordPress/gutenberg/pull/30541 and help it be merged. Plans on reviewing other Global Styles PR that are opened (e.g: https://github.com/WordPress/gutenberg/pull/30880). Wants to fix https://github.com/WordPress/gutenberg/issues/27478, which is probably very simple but may have a considerable impact and should be done ASAP.

Open floor

Post title moving in site editor

@bobbingwide said that there’s a problem moving the post title in the Site Editor. Adding that it’s tricky editing the topmost block if one does not have the toolbar set to top. @joen said @ellatrix is working on a fix https://github.com/WordPress/gutenberg/pull/31134.

G2 Components

@aristath asked the status of “G2 components” and if there is any plan on removing them. @youknowriad said that G2 is not removed but while reviewing some of the integration PRs, he noticed that G2 reimplements a lot of things we already have in Gutenberg in its own way. So the plan is still to integrate it but aligning with Gutenberg practices.

#block-editor, #chats, #core-editor, #core-editor-summary, #gutenberg, #meeting-notes

Taxonomy term splitting in 4.2: a developer guide

In WordPress 4.2, shared 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. terms – those items in the wp_terms table that are shared between multiple taxonomies – will be split into separate terms when one of the shared terms is updated. This change ([31418]) fixes one of WordPress’s most irksome bugs, and is a critical step in our ongoing taxonomy roadmap.

Technical details and backward compatibility

Each row in the wp_term_taxonomy table represents the dyad of a term slug and a taxonomy – say, 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.) slug ‘mint’ and the taxonomy ‘herb’. Historically, terms in different taxonomies that shared the same slug would share a single row in the wp_terms table; thus, the ‘mint’ row in wp_terms could correspond to a term-taxonomy pair in the ‘government_building’ taxonomy as well as ‘herb’. Starting with 4.2, when you update a shared taxonomy term – wp_update_term( $mint_id, 'government_building' ) – WordPress will detect whether the term is shared between multiple taxonomies, and if so, will create a new row in wp_terms for the updated term and change all necessary term_taxonomy associations. term_taxonomy_id will stay the same, but term_id will change. This is a case of a shared term being split into separate terms.

In most cases, term splitting will go unnoticed. However, there are some plugins and themes that store term IDs as static data. In these cases, a changed term ID has the potential to cause various sorts of problems.

Who is affected?

In brief, any 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 that independently stores term IDs in the database – postmeta, usermeta, the options table, etc. @mboynes and I looked over the top 100 most popular plugins 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/, and found eleven that will need changes in order to anticipate term splitting: Jetpack, WordPress SEO by Yoast, Google XML Sitemaps, All in One SEO Pack, Mailpoet, Advanced Custom Fields, Ninja Forms, Types, Custom Sidebars, Paid Memberships Pro, WordPress Download Manager. If you’ve written a plugin, theme, or other customization that stores term IDs in a static way, you’ll be affected too.

What steps should you take?

WP 4.2 will include a number of tools that developers can use for split term ID migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies.. The most important is the 'split_shared_term' action. Here’s a concrete example, taken from Jetpack. Jetpack stores a post_tag ID in the ‘featured-content’ option, and in some cases, the tag’s term ID may be shared with another taxonomy term. The following is a simple function that could be used to detect when the term is split, and to update the option accordingly:

function jetpack_update_featured_content_for_split_terms( $old_term_id, $new_term_id, $term_taxonomy_id, $taxonomy ) {
    $fc_settings = get_option( 'featured-content', array() );

    // Check to see whether the stored tag ID is the one that's just been split.
    if ( isset( $fc_settings['tag-id'] ) && $old_term_id == $fc_settings['tag-id'] && 'post_tag' == $taxonomy ) {
        // We have a match, so we swap out the old tag ID for the new one and resave the option.
        $fc_settings['tag-id'] = $new_term_id;
        update_option( 'featured-content', $fc_settings );
    }
}
add_action( 'split_shared_term', 'jetpack_update_featured_content_for_split_terms', 10, 4 );

In addition to the 'split_shared_term' action, 4.2 will store information about all terms that are split. Developers can access this information after the fact by using wp_get_split_term( $old_term_id, $taxonomy ). For more details on 'split_shared_term' and wp_get_split_term(), including a number of practical examples, be sure to check out the page in the Plugin Developer Handbook.

What will happen if plugins and themes don’t update?

The vast majority of terms are not shared between taxonomies; shared terms themselves are an odd edge case. The vast majority of plugins and themes do not store term IDs. And, moreover, WP 4.2 will only split terms when a shared term is updated (eg, when its name is updated in the Dashboard) – an infrequent event. (Though note that there are plans to force all shared terms to be split in a future release.) Even in cases where a plugin is technically affected, depending on the way the plugin uses its stored term IDs, there may be no perceptible effect at all.

That said, there are cases where failure to account for split terms could result in fairly disruptive behavior. In the case of Jetpack, for example, Featured Content would stop displaying correctly if the term split were not caught properly. For this reason, it’s critical for developers to examine the way they store term IDs, and to update their plugins and themes accordingly, in time for 4.2 in April.

Questions or concerns? Read over the practical guide in the Plugin Developer Handbook, or leave a comment below.

#4-2, #taxonomy

Emoji Chat Meeting Notes, February 12, 2015

The full meeting archive is available here.

1. Why we’re doing this

So, here’s a bit of back story.

As of r31349, WordPress partially supports emoji. ~60% of WordPress sites are running MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. 5.5 or later (so can be upgraded to store emoji), and ~40% of browsers natively support emoji. Emoji are a wildly popular method of communication, so we can expect them to be heavily used as soon an they’re available. The problem is, 60%/40% means a really bad experience for a huge number of our users, who’ll try to use emoji, and fail.

This is where the emoji feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins. comes in to play. In order to help the 40% of WordPress sites that can’t be upgraded to store emoji natively, the wp_encode_emoji() function will turn them into HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. entities. Due to the unimaginable joy that character sets brings me, this will only be applied to sites using the utf8 character set, which accounts for the vast majority of WordPress sites – utf8 has been the default character set since r4860.

To help the 60% of browsers that don’t display emoji natively, we’re using the Twemoji image set as a fallback. This lets us show emoji everywhere, without causing extra load where emoji are already supported, mobile browsers being the important example here.

Now, there have been some concerns brought up previously that I’d like to address.

“Is this really appropriate for coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.?”

Yes. (Obviously that’s my answer, or we wouldn’t be here.) WordPress is is the business of making communication simple and accessible for all. Tech users everywhere have clearly chosen emoji as a means of communication, so it’s up to us to make sure they can do that within WordPress as easily as possible, or risk being left behind.

“Should we be concerned about changing the images in the future? Wouldn’t we be altering users’ content?”

No. By using Twemoji only when we can’t provide native support for emoji, it’s a pretty clear message that while the general appearance of emoji stays the same, the actual sprite used can differ significantly between platforms. (For example, every emoji set except Android uses a left hand for :thumbsup:.) As more browsers add native support for emoji, Twemoji usage will drop, reducing even further any impact we can have on users.

And so, that brings us to today.

2. The current state of the 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

The plugin is very close to done. The editor plugin needs some attention, which @azaozz will be providing soon. There are a few bugs to discuss, which are mostly around fallback behaviour in browsers that don’t support emoji natively. Apart from that, the basic functionality is pretty much how I would expect it to appear in core. It’s had a brief review from 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) team, with only some minor alterations needed. The Twemoji images won’t be included in wordpress.zip, as it’s a total of 3.4MB of images. They’re currently hosted on WP.com’s CDN, but we’re investigating other options for where to host them, probably the W.org CDN. Given that the wp-adminadmin (and super admin) Dashboard also loads things from Google, I have no problem with hosting them on an external CDN. There will naturally be 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. on the URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org, to allow local hosting for sites that don’t want to use the CDN.

One of the major concerns at the moment is that we’re going to be splitting data formats, depending on if the site uses the utf8mb4 or the utf8 character set. utf8mb4 stores emoji natively, while utf8 requires us to HTML encode the emoji characters. In the futures, we’ll look at upgrading sites to utf8mb4 if they’ve upgraded their MySQL since WordPress 4.2, but that leaves the potential for mixed encoding – old posts having HTML encoding, new posts having the native characters. A post will be automatically updated to native upon saving, but do we need to consider upgrade routines, to go through all old posts and convert them?

Export/import also needs thorough testing, particularly when importing and exporting between sites having different character sets.

3. Unicode 8.0: the future of emoji

To talk about the future of emoji, you need to know a little bit of history. At the basic level, emoji are all single characters defined within the Unicode standard. However, they also support modifiers. Modifiers are a second character following the first, which usually causes the two characters to be merged into a single character when rendered. A good example of this is flag emoji.

The character G is U+1F1EC. The character B is U+1F1E7 (these characters are different to their ASCII equivalent). When used individually, they’ll display as that letter. When combined next to each other, they’ll display as the British flag.

So, Unicode 8.0 will two interesting things: a set of 37 new emoji, and skin tone modifiers. When a skin tone modifier character is placed after any face or person emoji, the emoji will show with that skin tone. Unicode 8.0 is due to be finalised in August 2015, so we and (Twemoji) will be looking at adding support for these then.

From a technical perspective, it just means we need to be aware that emoji are not always one character, and the methods for detecting multi-character emoji are about to get more complex.

We’ll also be able to detect if a browser is able to render the new emoji and skin tones, and fall back to Twemoji if they can’t. I don’t have a timeline for when browsers will support the new emoji, so I think it’d be good for us to get ahead of the curve then.

utf8mb4 stores anything in the Unicode address space, including unallocated characters, so I don’t expect any problems with storage of new emoji.

#emoji, #x1f4a9

Emoji Chat Agenda, February 12, 2015

Here’s the agenda for Thursday’s Emoji Chat in the #core channel on Slack.

Time/Date: February 12 2015 23:00 UTC

  1. Why we’re doing this – @pento
  2. The current state of the 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@pento
  3. Unicode 8.0, and future plans – @pento
  4. Open Floor/ranting about the evils of emoji – everyone

See you tomorrow!

#emoji, #x1f4a9

Press This User Testing 2 10 I ran…

Press This User Testing 2/10

I ran three folks through User Testing the Press This 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 as it stood on 2/9/2015 – the big takeaways as I see them:

  • The bookmarklet installation isn’t as easy as it could be: at least two of the testers struggled to get it into place correctly, instead dragging the icon to their address bar. They also both took a bit to recognize the draggable icon as something they could interact with, though the hover state helped here.
  • Once the bookmarklet was in place, each tester was able to use it without trouble, though there was a little confusion re: the image grid v. the camera icon.

Their answers to the prompted questions:

What did you like about the Press This bookmarklet?
I can use it on every website I am with just one click.
Did you miss any content creation tools, like post format, tags, or categories?
I find it satisfing.
At any time during this test, did you not feel safe, smart, or powerful? Can you tell us about that?
Yes, at the time when I could not find Press this in WordPress. I would preffer if there were some more clear indicators for it.
How likely would you be to use a tool like Press This, on scale of 1 – 10? Why would you rate it the way that you did?
Probably 9, because it is cleverly made and I like it, but I would give 10 after some time of using when I am more confident about it.

What did you like about the Press This bookmarklet?
It makes it easier to repost articals on my own website.
Did you miss any content creation tools, like post format, tags, or categories?
No I did not.
At any time during this test, did you not feel safe, smart, or powerful? Can you tell us about that?
I felt safe the whole way, but did not feel smart or powerful the whole time. I got confused when I needed to “install” the bookmarklet shortcut I would call it. I thought that I would need to download and install an app so that made me confused when I just needed to save it.
How likely would you be to use a tool like Press This, on scale of 1 – 10? Why would you rate it the way that you did?
I would say an 8. Because it seems easy to use, the instructions on how to use it is just a bit confusing.

What did you like about the Press This bookmarklet?
I really like the idea behind this to just freely create our own pages on our own and after I figured out how to use the bookmarklet, it could be quite easy to use.
Did you miss any content creation tools, like post format, tags, or categories?
I think the costumization part of the site was pretty well made and it has a lot of possibilities to create the site as I like it, so I don’t really miss anything else.
At any time during this test, did you not feel safe, smart, or powerful? Can you tell us about that?
At the beginning this bookmarklet idea was a bit frightening, because I thought that this would effect my browser too and for the correct use, it would put something on my computer but as soon as I found out the mechanism of this bookmarklet, there wasn’t any other problem with safety. Actually I didn’t feel really smart during this test, because the process for using this bookmarklet was a little bit confusing and I didn’t encountered a usage like this before for a bookmarklet, so it was pretty hard for me to figure out the mechanism. There wasn’t any problem with the powerful part, because it is really simple just to copy an article and use it as I like it, so that felt very good.
How likely would you be to use a tool like Press This, on scale of 1 – 10? Why would you rate it the way that you did?
I would give it an 8, because when I would like to create my own articles and press about the everyday happenings, then this could be very helpful to just copy the part I want in a very simple way and then I can customize it anyway I like with a very well made site. The reason it is not a 10 is because I think it is a bit hard to get the hang of this program and find the way to make it work, like find the proper parts on the webpage, but after some practise I think this shouldn’t be a problem.

You can watch all three videos here:
https://drive.google.com/folderview?id=0BwIP25_eL_Jca1BpRjZnSFU3QlE&usp=sharing

#press-this

Press This update 2/10

The merge window is supposed to open tomorrow for feature plugins. That means it’s crunch time. Here’s where the new Press This is.

Feature Parity

one of the requirements of coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. is general feature parity with the old version of Press This. Here’s a comparison chart of where the new Press This is.

Feature Old New
Drag & drop install on desktop Yes Yes
Editor, including: title, image/gallery addition Yes Yes
TinyMCE buttons (minus kitchen sinkKitchen Sink When using the WYSIWYG (What You See Is What You Get) editor in WordPress, you can expand the capabilities to allow more options. This expanded area is called the "Kitchen Sink.") Yes Mostly [1]
Ability to publish or save as draft Yes Yes
Post formats Yes Yes
Categories Yes In Progress
Tags Yes In Progress
Content Scraping Yes Improved [2]
Media Discovery Yes Improved [3]
Alert before closing/navigating away Yes Todo
Can add to bookmarks Yes Yes
Responsive, clean design, updated icons No Yes
Fast loading (speedy!) No Yes
Mobile installation No Yes

[1] A number of TinyMCE buttons are removed intentionally. Only necessary WYSIWYGWhat You See Is What You Get What You See Is What You Get. Most commonly used in relation to editors, where changes made in edit mode reflect exactly as they will translate to the published page. buttons are shown now.
[2] Not only is it included, but it’s quite a bit smarter than the previous one.
[3] Now is actually quite exposed in the UIUI User interface.

Before Core Merge

Prior to merge, there’s a bunch that still needs to be done. With that in mind, @DrewAPicture has given us an extra week to accomplish this. Even still, we have a list of things that need to be done prior to devchat tomorrow, with the rest of the list done in a week.

Before Tomorrow’s Devchat (February 11)

  • Post formats
  • PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher inline docsinline docs (phpdoc, docblock, xref)
  • Tags functional and live (@Michael-Arestad)
  • Categories designed (@Michael-Arestad)
  • Install flow designed
  • Plan of action for any design cleanup
  • Initial accessibility concerns addressed

Before Next Wednesday’s Devchat (February 18)

  • Categories functional and live
  • Install flow functional and live
  • Side navigation JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. improvements (functional)
  • Flows posted to make/flow comparing the old and new design (@ryan)
  • Another round of 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) testing (when UI is finished)
  • All accessibility concerns addressed
  • Categories functional and live
  • JS inline docs
  • HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. validation
  • Security audit
  • Usability testing reviewed and any issues addressed
  • Verify localization (including rtl) is functional
  • Browser testing on all browsers (support parity with old Press This plus mobile)
  • Unit tests?

If we’re able to accomplish all of the above, we should be ready for merge on February 18.

Daily Chats

In this final rundown, let’s meet daily in #feature-pressthis at 17:00 UTC to make sure we’re on track for merge. Anyone interested in helping, please join us.

All development is done on GithubGitHub GitHub is a website that offers online implementation of git repositories that 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/https://github.com/MichaelArestad/Press-This/

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 on the plugin repo: https://wordpress.org/plugins/press-this/

#press-this

New chapters for Ryan and Westi

WordPress lead developers Ryan Boren (@ryan) and Peter Westwood (@westi) started contributing to WordPress more than a decade ago. Ryan and Peter, along with Mark and Matt, served as the foundation for much of the early years.

For some time now, Ryan and Peter have avoided weighing in on technical matters. Very simply, when you aren’t able to be active in development, you know you’re not up to speed, and you realize your words shouldn’t carry the weight that they do. Being able to make this judgment is one of the things that makes both of them such great leaders.

We’ve all been there, at least for particular features or releases. It’s worth noting, for example, that my own time on coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. has been cyclical for years, as sometimes I end up working full time on the security team, maintenance releases, the 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/ site, or related projects.

The great thing is, there are a lot of fantastic developers who have stepped up over the last few years to seamlessly fill in the huge holes they’ve left. Some of that culminated in promoting Helen and Dion to lead developer yesterday, and my own promotion three years ago.

When I started contributing, I received a lot of advice and learned a lot from both of them. Peter reviewed a lot of my code and was the guy who would revert my code when I broke something. 🙂 Ryan became my mentor and pushed me to become the engineer I am today.

And so, it is with mixed emotion I share that Ryan and Peter have stepped down as lead developers.

Peter will be moving into a dormant/inactive/emeritus status. We hope to have him back when his life and work allows. In the meantime, you may see him committing 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. fix here and there, as he is wont to do.

Ryan has been focusing all of his energy on improving UXUX User experience for more than a year, especially for mobile and touch devices, and especially for workflows like media management. So I’m pleased to say he’ll continue to do that: Ryan will be spearheading UX for WordPress in 2015. It’s been a while since we’ve had someone truly focusing on just UX, so this is really exciting.

Along with yesterday’s announcement, the active lead developers are @markjaquith, me, @azaozz, @helen, and @dd32.

Please join me in congratulating Ryan and Peter on an epic run. 🙂

New lead developers: Helen and Dion

I’m pleased to announce that Dion Hulse (@dd32) and Helen Hou-Sandí (@helen) are now lead developers of the WordPress project.

The two are already highly respected leaders in the community. Dion has architected some of the most important code in WordPress over the years. He started by building the 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 updater way back in 2007, helped lay the foundations of custom post types and taxonomies, and more recently, designed and implemented automatic updates. He has essentially been one of coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.’s main architects for years, all while providing advice, code review to newcomers (myself included, long ago).

Helen’s tremendous impact on the project is surely known to all of you. She champions the project’s philosophies, she’s been a key leader on dozens of features large and small, including the media UIUI User interface, CSSCSS Cascading Style Sheets. architecture, and the jam-packed WordPress 4.0 release. Her strong engineering skills are backed by her natural leadership, sound judgement for user experience design, and the mentorship of countless contributors.

Please join me in congratulating Helen and Dion!

Dev Chat Summary, December 10th

https://wordpress.slack.com/archives/core/p1418245350000526

https://make.wordpress.org/core/2014/12/10/release-candidate-and-todays-dev-meeting-agenda/

Misses

  • RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta).

Decisions

  • About page text will land tonight (Wednesday the 10th).
  • Moving 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. docs into the 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 handbooks will be discussed at the next docs meeting.
  • A heads up email to plugin devs will go out after RC.
  • RC will go out tonight.
  • @nacin will alert hosts and one-click installers in advance release.
  • 4.1 final targeted for Tuesday.
  • Release dry-run on Monday.
  • Status check-in meeting on Sunday.

Assignments

  • @stephdau and @nacin will enable localized results for plugins after RC.
  • @nacin will work on the plugin developer email.
  • @melchoyce @ryelle @helen @jorbin will work on the about page. First draft design due by Friday.
  • @nacin @markjaquith will make the final decision on Focus, Distraction Free Writing naming, branding, text.
  • @nacin will alert hosts and one-click installers in advance of release.

Links Mentioned

https://wordpress.org/support/forum/alphabeta
https://core.trac.wordpress.org/ticket/30337
https://wordpress.org/about/roadmap/
https://core.trac.wordpress.org/query?status=!closed&version=trunk&order=modified
https://core.trac.wordpress.org/query?status=!closed&version=trunk&order=modified&milestone=Awaiting+Review&group=type

Continue reading

If you’ve written a child theme for Twenty…

If you’ve written a child themeChild theme A Child Theme is a customized theme based upon a Parent Theme. It’s considered best practice to create a child theme if you want to modify the CSS of your theme. https://developer.wordpress.org/themes/advanced-topics/child-themes/. for Twenty Fifteen, please note that some of the new pagination functions have been renamed for a bit of clarity:

  • the_pagination() is now the_posts_pagination()
  • get_the_pagination() is now get_the_posts_pagination()
  • These two functions now emit a “posts-navigation” HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. class, instead of “paging-navigation”

@obenland‘s original post on new template tags in WordPress 4.1 has been updated with these changes.

#4-1, #bundled-theme, #dev-notes, #twentyfifteen