Categories
WooCommerce Core

High-Performance Order Storage: progress report

In January, we published the initial plan for the Custom Order Tables feature and since then, we’ve been working hard to bring the High-Performance Order Storage (HPOS) to WooCommerce Core. In May, we invited you to test the order migration process and provide feedback on how our initial work performs on real stores of varied configurations.

Now, we’re excited to share the progress we’ve made in the last couple of months and the timeline of changes that await WooCommerce in the context of migration to High-Performance Order Storage. Over the coming weeks, we’re going to share with you different aspects of the solution in deep dives and we’d love to hear your feedback and anything you’d like to share with us. The areas we plan to cover are the following ones:

  1. Revised Database Schema
  2. Backward Compatibility and Synchronization
  3. UI and API changes
  4. Performance
  5. Testing
  6. Extension Compatibility

If you’d like to see us cover any other topics in detail, please let us know in the comments.

Naming convention

We’ve decided to rename Custom Order Tables to High-Performance Order Storage to make it more clear and more understandable what this change is about and what it should bring everyone. We want our users to understand the why of our work more easily. We also understand that the original name has been around for a long time and some people might still prefer it over the new one, and that is, of course, fine. 

Expected timeline

We’re nearing the end of the implementation phase and have already started upgrading other Woo-owned extensions. We’ve also started testing the solution extensively with our quality and excellence teams. That’s why we’d like to invite you all to start testing with us very soon as well. 

If all goes to plan, we will fix any large bugs and be able to present to you the feature complete version for the WooCommerce November release (version 7.1), but this timeline depends on the number of defects we discover during the testing phase. Also note that this means the core implementation is production ready, not necessarily that every extension or plugin a site may use is compatible yet.

After the first production release, the HPOS feature will continue to be opt-in and we will assist developers in making their plugins compatible with HPOS, closely monitor how many extensions are compatible and how many stores are actively testing the feature.

We believe it should be possible to stop the synchronization process and make HPOS the default experience in WooCommerce by August next year.

Timeline

  • 2022-01-17: The first kick-off post for HPOS on the developer blog
  • 2022-05-16: Call for testing of the order migration data
  • 2022-08-01: WooCommerce-owned plugins are getting updated to be compatible with the HPOS feature
  • 2022-09-15: Public call for testing for the order sync, admin UX and extension/integration points.
  • 2022-09-19: Invitation for public upgrade party for extension developers
  • 2022-11-08: HPOS is feature complete and released with WooCommerce 7.1 for user testing
  • Fixing bugs and encouraging developers to make their plugins compatible with HPOS, encouraging users to test on their staging sites and report problems back to us
  • 2023-08-08: HPOS becomes the default experience for stores with WooCommerce 8.0: data synchronization with posts/postmeta tables will be disabled.

We hope you’re as excited as us to get this project tested in real world scenarios and are looking forward to working with our community to bring the best possible experience to everyone!

4 replies on “High-Performance Order Storage: progress report”

Hello Peter
The new name really means what it is, nice.

About the “Custom” part being removed from the name, do I understand that the order table won’t be customizable right (ie add db fields)?

Can’t wait to test it.

Liked by 1 person

That’s correct, the new order table(s) is not customizable by extension developers. We are introducing a new concept of “meta data” per order though (flexible/extensible for developers) along with a supported way to add your own tables if your data needs are more complex.

Liked by 2 people

We are still utilizing so much of the WordPress structure though, and if anything, we’re looking to enhance the entire process, not decouple it. So think of this as a way to expand and grow!

Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.