REST API Chat Summary, Oct 11

This post summarizes 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/. component team chat on Thursday, October 11 (agendaSlack transcript) and the 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 on Tuesday, October 16 (Slack transcript).

Updates on 5.0 priority tickets

As with last week, the meeting worked off of this post listing REST API priority tickets as an agenda. We aim to have all major 5.0-related REST API tickets landed by Thursday, to allow time Friday for final adjustments as we move into the betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. stage.

In Progress

  • Progressively load data through pagination when assembling large collections for 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/ dropdowns, to prevent memory errors (gutenberg#6694): @kadamwhite is working on 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.. (This ticketticket Created for both bug reports and feature development on the bug tracker. does not cover any UIUI User interface changes; those are tracked separately.)
  • Post says updated when it’s a page (#3315): @earnjam has opened a pull request addressing the issue.
  • Autosaves support (#43316): @adamsilverstein is driving, and will also look into gutenberg#6556 related to autosaves.
  • Introduce a controller for searching across post types (#39965): patch is in final review.
  • Improve media titles when creating from filename (#44789): @dryanpress is working on a patch as of Oct 11.
  • Introduce WP_Block_Type, WP_Block_Type_Registry, WP_REST_Block_Renderer_Controller, and WP_REST_Blocks_Controller classes (#45097 and #45098): @desrosj has a patch in progress.
  • Localizing REST API responses: #44758 moved into milestone, support from core contributorsCore Contributors Core contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac. https://core.trac.wordpress.org. versed in localization is strongly requested to evaluate #41305. #38218 may be a necessary compromise, though #41305 is the preferred approach given its additional benefits.
  • Saving Metadata fails if value contains slashes (#42069): waiting for final sign-off from @boonebgorges
  • More descriptive REST API error messages (#10492): needs direction on wording. Lowest priority of open issues.

Resolved Tickets

  • PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher notices should be disabled for REST API responses (gutenberg#10476): thank you @earnjam and @danielbachhuber!
  • Theme-supports data is now exposed through the REST API for privileged users at the /wp/v2/themes?status=active endpoint (gutenberg#10518 / #45016): we have also added conditional loading to the Gutenberg classes to prevent conflicts between the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and 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 controllers.
  • Permalink templates are now exposed on the posts controller (#45017
  • An action is now fired after items are completely inserted/updated (#42864)

A full list of recently completed tickets can be seen in this post.

Punted Tickets

  • Support post locking through the REST API (#44862): The current solution using the existing locking functionality is sufficient for 5.0; more discussion is needed to identify a way to represent this state in a RESTful manner.

Thank you to every contributor who has helped move these tickets forward in such a short period of time. We will have our next weekly meeting tomorrow, October 18 17:00 UTC, and have scheduled additional bug scrubs through the end of the month.