As we’re approaching the final stages of implementation of High-Performance Order Storage (HPOS), we believe we’re ready to share the latest solution with you. Thus, we’d like to invite our community for the second round of testing. Our first call for testing was focused on data migration. This time around, we are primarily interested to hear your feedback about the following areas:
- Extension and Integration points
- Switching between the Custom Post Type and HPOS solution
- User Interface
However, we welcome feedback on all the aspects of your user and development experience, so don’t hesitate to share your thoughts with us!
Real data. Real improvements.
We have been doing a lot of testing with the synthetic data we created via WC Smooth Generator. In this testing, we’re primarily interested in results from sites that are running a variety of plugins and use real-world data. We’re also interested to discover all the possible failure modes of our solution on different hosting configurations, so if you’re running an atypical setup, we’d love to hear from you!
How to test
Please only perform the tests on your testing/staging environment. This code is not production ready yet and is for testing purposes only.
To set up the testing environment, you need to follow these steps:
- Download and install the testing package
- Enable the experimental feature
- Create new database tables
- Set up the HPOS settings according to your preferences
1. Download and install the package
The testing zip package can be downloaded from the project release page in GitHub. After navigating to the page, click woocommerce.zip to download the testing build.
This page will always contain the latest version of the testing package for HPOS, so you can be confident that downloading the woocommerce.zip package via this link means you’re running with the latest version of fixes.
During the testing phase, we will be producing new testing build often, so please check this page in case you discover any problems to make sure you’re running the latest build.
Install the package
Upload this package as you would with any other release. The usual path is to add it via Plugins > Add new > Upload Plugin > Choose file > Install Now > Activate/Replace current with uploaded version.
2. Enable the experimental feature
Once your package is installed, go to WooCommerce > Settings > Advanced > Features and enabled the checkbox under Experimental Features titled “Custom order tables”.
3. Create the new High-Performance Order tables
In case you took part in our previous round of testing, we recommend you delete the order tables first to make sure the new schema gets created correctly. To delete the tables, go to WooCommerce > Status > Tools and find “Delete the custom orders tables” row and click on
To start using the new features, you will need to create the new tables for HPOS. Go to WooCommerce > Status > Tools and find “Create the custom orders tables” row. Click on
Create button and check the confirmation that the tables have been created.
4. Set up HPOS according to your preferences
A new setting should be available to you under WooCommerce > Settings > Advanced > Custom data stores.
Select the following radio button to switch your Orders data store to the WooCommerce tables:
- Use the WooCommerce orders tables
Check the following check box to keep the Orders tables synchronized:
- Keep the posts table and the orders tables synchronized
Depending on the number of orders in your store, it might take a while until your WooCommerce instance will be able to switch to the new HPOS.
You can speed up the initial synchronization by executing the sync in the WP CLI environment by running
wp wc cot sync:
> wp wc cot sync This feature is not production ready yet. Make sure you are not running these commands in your production environment. There are 22872 orders to be synced. Order Data Sync 100% [===========================================================================================================] 1:34 / 1:12 Migration completed. Success: 22872 orders were migrated in 90.777226 seconds
What to test
We’d love to hear how the solution worked for you in your normal day-to-day workflows and with the usual set of plugins that you use in your WordPress store.
Extension and integration points
We believe most of the actions, filters, and API integration points should be fully usable by now. If your code, plugins, and integrations work with orders in any way, we’d love you to test your solution with the new HPOS and let us know your thoughts.
Switching between the Custom Post Type and HPOS solution
Have you encountered any problems with switching between the order storage solutions? Does your extension work with either of the data stores?
Has the synchronization worked for you? Did it get stuck at some points? Were you confused about any aspect of the experience? Do your customizations still work when the synchronization is either enabled or disabled?
Presumably, running your customization with sync disabled will make it easier to discover problems, so please spend some time testing also with sync disabled.
We’d like to hear from you about your usual workflows, or the workflows of your clients. From creating new orders in the WP admin interface and via checkout to order processing, searching for orders, previewing them, and all the interactions you think are important in the context of working with orders.
How to share feedback
Please share feedback with us via proton[at]matticspace[dot]com. Ideally, include your system status report and in case of problems any steps to reproduce. Also, feel free to comment on this post, we’re excited to hear your thoughts!