WordPress 3.6: Code Maintenance and Architecture

Like with any release, much more is going on during the 3.6 cycle than just the user-facing items on our agenda. We’d like to hit the following code maintenance and architecture items as well. If your interested or have thoughts, speak up or jump on the tickets! Some of these really should happen early, and they’re pretty much all going to need unit tests.

Use PDO for 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/. queries

#21663 — The mysql_* functions in PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher are deprecated, so to get ready for future versions of PHP, we need to start routing queries alternatively for installs that support it.

Caching and Misc DB Tasks

No ticketticket Created for both bug reports and feature development on the bug tracker. for this? — Use magic methods to cleanup blogid and siteid in wpdb. These should fetch the canonical versions elsewhere. Also, support blog_id and site_id for consistency.

#23167 and #23173 — Make our object caching more intelligent. One query per cache key. Stored IDs instead of objects where possible.

#22174 and #20875 — Introduce and use wp_cache_get_multi(). Maybe. A bonus, if there’s time.

#21760 — get_term_by() calls are not cached.

#21401 — Load packaged object cache when advanced-cache.php and object-cache.php don’t implement wp_cache_init().

#22661 — Allow object caches to degrade gracefully.

Slashing Sanity

#21767 — Remove stripslashes from 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. functions.

#18322 — The Road to Magic Quotes Sanity.

#22325 — Abstract GPCS away from the superglobals (maybe not, depending on #21767).

#22023 — Remove UNIQUE for slug in wp_terms. Prep for future 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. architecture changes.

Misc Performance

#22301 — Performance problem with Recent Comments 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..

Earlier Discussion

IRC Logs from discussion of some of these items.

#3-6, #maintenance

WordPress org will be undergoing some maintenance starting…

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/ will be undergoing some maintenance starting Wednesday, October 24, at 11AM Eastern (1500 UTC), which will result in intermittent downtime (physical servers are being moved) over the course of a few hours. (This post originally said Tuesday, October 23, because I wasn’t paying attention to what I was typing.)

Ideally, api.wordpress.org and the wordpress.org website (including this blogblog (versus network, site)) will not go down, but access to all TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. installs and SVNSVN Subversion, the popular version control system (VCS) by the Apache project, used by WordPress to manage changes to its codebase. repositories will be interrupted at some point. The goal is for error messages to be shown.

I will update this post once the migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. is complete.