Commerce 0.12.0-rc2: order references, redesign and editing addresses

Following the rc1 release including the new product matrix, user discounts, and other new features, we've added even more amazing improvements in rc2 and rc3, which is now available. These releases bring us much (much!) closer to the highly anticipated 1.0, which is only a few more features away...

The full changelog can be found here, and detailed upgrades notes are available in the documentation.

So, what's new in 0.12.0-rc2 (and rc3)?

Redesigned order views

As Commerce has gotten a lot more powerful since the dashboard design was first implemented, the order views started to get cluttered. Trying to squeeze more and more information into the same grid structure doesn't work, so the order list and detail views have been redesigned. They now offer more information and functionality, but in a cleaner interface.

Let's take a look at an example order:

Some highlights of the improvements to the order view:

  • The Shipments and Order Items have now been integrated into a single table, making the relation between the two easier to understand at a glance. You can also add extra shipments and move items (through Actions > Edit Order Item, selecting the Shipment). Shipment information like weight and tracking reference are only shown when they have a value.
  • Order addresses are finally editable, and if no billing/shipping address is present, you can add it as well.
  • By clicking on "View calculation" you can see a detailed breakdown of what an order item costs. That will not only show you the individual item price and taxes, but now also lists detailed "adjustments", such as coupon or user discounts. This was not visible anywhere previously. Similarly, more information about the tax calculation is also available by clicking "View details" in the order totals.

The order list received similar treatment. That shows more information, but should overall be much more useful.

We'd love to hear what you think about these redesigned interfaces!

New order references & received timestamp

Changing the order numbering was a common request. Prior to this release, the order ID was an incrementing number based on the primary key in the database. It was not necessarily sequential, as it would be set when the customer enters checkout from their cart, and not when the order was completed. The same problem existed with the "Created on" timestamp; that's also set when the order is first saved to the database.

Both of those problems are now resolved with a new "Received on" timestamp, and a separate order reference. Both of these are determined when the payment is received, making it more logical.

The order reference is templated, and can also reset yearly. You can learn more about order references (with lots of examples) in the documentation.

Addresses refactored

We changed the underlying data structure for addresses, allowing easier management and cleaner code. These changes are applied transparently, and addresses for existing orders are moved for you during the upgrade automatically.

This refactor does cause some breaking changes for modules that interact with order addresses. That could include custom shipping methods as well. If you use such modules or extensions, please test that on a staging environment prior to upgrading your live shop.

Upgrading to v0.12

v0.12 is currently available as a pre-release, which means you need to opt-in to get offered the upgrade.

Commerce v0.12 will automatically upgrade your orders to get assigned the right received timestamp and order reference, and addresses are also automatically moved to their new location. There is a chance this process times out if you have a lot of orders, in which case you should keep running the Commerce installer until it completes properly.

It is strongly recommended to go over the 0.12 upgrade documentation when upgrading, to check changes that were made to default templates among other noteworthy changes.

Getting to v1.0

We're not planning for a v0.13 release, so it's only a short stretch to version v1.0 from here. The roadmap lists in more detail what we expect to work on in the next few months to get us there, so if you've been waiting for Commerce to come out of beta, we're almost there!

About the author

Mark Hamstra is the CEA at modmore where he helps people doing more with MODX. He accomplishes this by providing premium extras with great support and documentation, and other initiatives meant to help MODXers around, like MODX.today.