Develop WooCommerce

The official WooCommerce development blog

wc-admin v0.6.0 release notes — January 30, 2019

wc-admin v0.6.0 release notes

We are happy to announce the availability of a new build of the wc-admin feature plugin! If this is the first time you have heard about wc-admin, it is a new JavaScript-driven interface for managing your WooCommerce stores that is focusing on creating new and improved reports, and a dashboard to monitor all the important key metrics of your site. You can read more about the background of the project in our Alpha announcement post – or watch the keynote from WooSesh.

And while the plugin isn’t quite ready yet to be run on production sites, we would love for you to install it on a staging or test instance and try it out. You can download version 0.6.0 right here. If you do test out the plugin, and have some feedback – please do open an issue in the GitHub repository, or join in the developer chat tomorrow and ask any questions you have about wc-admin then!

0.6.0 Highlights

REST API Updates

  • Order statuses are now persisted in the order stats lookup table. This prevents needing to join on other tables to filter orders by status.
  • Customer status ( new vs returning customer flag ) is now being returned in the response of the order stats endpoint.
  • Endpoints have been updated to use /v4 throughout the REST API code and client-side logic.
  • The Store Performance indicators endpoint was updated to allow returning a link and name so the UI in the dashboard is now fully powered by the REST API – more on that below!
  • The stock report endpoint can now be sorted by stock_status
  • Summary numbers have been added to the customers endpoint.
  • Major progress has been made on the segmentation feature for the stats endpoints.

Performance Updates

  • Population of the stat lookup tables is now performed using Action Scheduler.
  • Removed dependency of react-world-flags which removed 3.4mb from the size of the js build.

Analytics Updates

  • Throughout all reports and dashboard components, WooCommerce settings are now used to display currency/prices. Decimal, currency position, number of decimals, and thousands separator are all supported.
  • Updated the Country autocompleter to allow for partial (fuzzy) matches of country names.
  • Updated the Stock report to sort by stock_status by default
  • Added an advanced filter to the Product Report to allow viewing product figures for a single category.
  • Date ranges are now persisted when clicking on a specific product while viewing the Orders report.

Dashboard Updates

As promised some major improvements to the Store Performance section have landed in this release.

REST-API Driven

The entire UI seen above is fully rendered using data returned from the REST API. From the labels in each Summary Number, the values between of two periods, and the link target for each statistic are all generated server side. For developers this means the feature is fully extensible right away and will allow for deep linking into Woo Analytics reports, or your own custom pages elsewhere.

User Configurable

Each store is unique and the Store Performance section allows users to configure which stats they would like to appear in this section. Preferences are persisted in user meta, so will stick between sessions and across their devices.

New Top Coupons Leaderboard

Rounding out the updates to the Dashboard in this release – a new leaderboard that displays the Top Coupons has been added.

Much like the Store Performance section, users can toggle the leaderboards on/off, and configure how many rows of data they would like to see in each table.

Changelog

The release also includes a number of bug fixes and enhancements throughout the code base:

  • Fixed a bug which was causing a conflict with the Gutenberg Product Blocks plugin.
  • Cleaned up duplicate dom elements that were being used to render a background on focus in the chart.
  • Fixed a bug with missing thousands separator in the Y-axis of the charts component.
  • Restricted the width of filters in wide viewports.
  • Removed legacy data layer code.
  • Bug that was preventing the chart from utilizing the full plotting area was fixed.
  • Enhancement to the chart component to center align the data point when only one item is plotted.
  • Summary Number selector now properly collapses after selecting a new number on narrow viewports/mobile.
  • Fixed a bug where unit tests were failing when launched at the end of an hour.
  • A bug which was causing the SummaryNumber example in the devdocs section to fail was fixed.

What’s Coming Next?

The next two weeks we will be working on more updates to the stats lookup table logic, exploring additional options for extensibility, creating a new transient notifications component, and bug fixes and performance enhancements.

If you would like to see more details about what we are working on, please visit our project board on GitHub.

January 31st: Dev chat #23 — January 23, 2019

January 31st: Dev chat #23

We are reintroducing dev chats this year! Once a month we will hold an open forum about what’s going on in WooCommerce. These dev chats provide an opportunity to learn about and provide feedback around upcoming features and changes, and they foster an open dialogue between us and the WooCommerce community.

The next chat will be on January 31 at 16:00 UTC in the #core channel of the WooCommerce Community Slack. If you don’t already have access to the group, you can request an invite here.

The theme of this first dev chat is “2019”. We’ll be giving an overview of and answering questions you may have around big initiatives that we have planned for this year:

If you have any discussion topics or questions to propose for the agenda or anything related to the above, please leave a comment below.

See you there!


WooCommerce 3.5.4 security/fix release — January 21, 2019
wc-admin v0.5.0 release notes — January 16, 2019

wc-admin v0.5.0 release notes

We are happy to announce the availability of a new build of the wc-admin feature plugin! If this is the first time you have heard about wc-admin, it is a new JavaScript-driven interface for managing your WooCommerce stores that is focusing on creating new and improved reports, and a dashboard to monitor all the important key metrics of your site. You can read more about the background of the project in our Alpha announcement post – or watch the keynote from WooSesh.

And while the plugin isn’t quite ready yet to be run on production sites, we would love for you to install it on a staging or test instance and try it out. You can download version 0.5.0 right here. If you do test out the plugin, and have some feedback – please do open an issue in the GitHub repository, or reach out to me on WooCommerce slack!

0.5.0 Highlights

REST API Updates

  • Added a new v4 of the Orders endpoint which supports a variety of new query arguments.
  • A new Store Performance endpoint has also been added which allows for fetching of stats details from all stat endpoints in one combined request.
  • The Customers endpoint was also shipped in this release! This new endpoint is backed by a lookup table which allows for tracking of all customers – registered and non-registered – along with seeing how many orders they have placed along with average order value.
  • And finally another new endpoint added in this release provides stats for product Downloads. Download stats can be queried by date range, product, order number, and download IP address.

Customers Report

The new customers endpoint is fully hooked up and powering the new Customers Report. This report provides a powerful look into all customer data for a store. The table lists out all registered and un-registered customers along with pertinent data about each customer such as their email address, number of orders, lifetime spend, and average order value.

Additionally you can search the customer table by customer’s name, country, username, and email address. You are also able to segment the customer data by applying custom filters for things like number of orders, total spend, and average order value.

Known Issues: Some of the advanced filter and search tools are still being actively worked on, as are some performance enhancements for stores with a large number of customers.

Downloads Report

The Downloads report is now hooked up to the new REST endpoint! This report also boasts a number of advanced filters which allows store operators to lookup download data based upon product, username, order number and IP address.

Stock Report

Live data is now viewable within the Stock Report. The report also allows for filtering a store’s entire product catalog by products that are in stock, low stock, and out of stock.

Dashboard Updates

The new analytics dashboard also received a number of big updates in this release. The logic behind the Leaderboards ( i.e. Top Products ) was improved to allow for easier creation of additional leaderboard tables. And building upon that new logic, a new Top Categories leaderboard has been added in this release.

The charts on the dashboard also were updated with some nice new features. Clicking on any of the charts will load the associated report for deeper data analysis. Also you can now select a custom interval for the charts depending on the date range selected.

Changelog

The release also includes a number of bug fixes and enhancements throughout the code base:

  • Webpack: replaced extract-text-webpack-plugin with mini-css-extract-plugin
  • Performance: Initial state of user preferences hydrated on server side during the initial page load.
  • Components: New prop to disable ellipsis menu in TableCard component.
  • Filters: New Date advanced filter
  • Bug Fix: Chart tooltip showing NaN in Safari
  • Bug Fix: Removed decimals from Y-axis in chart
  • Bug Fix: Duplicated Y-axis values in chart
  • Bug Fix: Gross Revenue Summary Number in Categories Report
  • Bug Fix: Sorting by name in Categories Report
  • Bug Fix: Dashboard Charts Responsive
  • Bug Fix: Chart Plot >88 points in narrow viewport
  • Dashboard: Charts Update on Date Range Picker change
  • Components: Add loading indicator to charts
  • Bug Fix: Product Report chart truncated

What’s Coming Next?

Much of the next fortnight will be spent focusing on various enhancements and bug fixes in both the REST API, and Analytics sections of the plugin. A new segmentation querying option is close to being finalized in the REST API for Order Stats, so we hope to add enhanced reporting capabilities that leverage these new options too. Also look for some big enhancements to the dashboard Store Performance section.

If you would like to see more details about what we are working on, please visit our project board on GitHub.

WooCommerce Blocks 1.3.0 Release Notes — January 15, 2019

WooCommerce Blocks 1.3.0 Release Notes

Version 1.3.0 of WooCommerce Blocks is now available as a feature plugin. It’s the easiest, most flexible way to display your products on posts and pages!

New for 1.3.0 – we’ve added six new blocks:

Featured Product Block
Select and display a single product in a new, high-impact fashion. Control text alignment, hide or show the price and description, add a color overlay, change the button call to action, and override the product photo.

screenshot-1
Featured Product Block in the editor

Hand-Picked Products Block
The Hand-Picked Products Block lets you quickly search and display products of your choice in a grid.

Best Selling Products Block
Display a grid of your best selling products, filterable by category.

Top Rated Products Block
Display a grid of your top rated products, filterable by category.

 Newest Products Block
Display a grid of your newest products, filterable by category.

On Sale Products Block
Display a grid of on sale products, filterable by category.

Improvements to category selection:

We’ve also improved the category selection filter. If you select two or more categories, you can now chose to show products that match ANY or ALL of your selected categories.

What’s next?

We’re planing a 1.4 release for the last week of January. It will include further enhancements to the Featured Product block, and we’ll be adding a Products by Attribute block as well.

In this release, we’ve removed the legacy “Products block” from the inserter (Although it’s still a registered block type, so if you’re using it your layouts, nothing will change.) In a future release we plan to remove the dependency on the products shortcode, which will give us more flexibly in controlling the layout within the block. At that point we’ll sunset the legacy “Products Block”, and provide paths to transform them into the new blocks if they need to be edited.

Blocks that are further out on the roadmap include a Reviews Block, and a Featured Category Block that would behave in a similar fashion to the Featured Product block.

The full changelog for version 1.3.0 is below:

  • Feature: Added new blocks: “Featured Product”, “Hand-picked Products”, “Best Selling Products”, “Newest Products”, “On Sale Products”, “Top Rated Products”
  • Enhancement: Create new “WooCommerce” block category, all blocks are found there now
  • Enhancement: Added a control to “Products by Category” block to control whether products need to match any selected categories or all selected categories
  • Fix: A “Products by Category” block with no category selected will no longer show all products
  • Legacy block: Remove legacy “Products” block from being shown in the block inserter (still loading the block for an existing uses)
  • Legacy block: Fix an issue with imageless products in the legacy “Products” block.
  • Components: Add new Control components ProductControl, ProductsControl, ProductOrderbyControl
  • Components: Update SearchListControl to allow selecting a single item
  • API: Add cat_operator support to products endpoint
  • API: Add product description & short_description to each product
  • API: Add attribute group names to each attribute
  • Build: Update packages
  • Build: Add cssnano to minify CSS
  • Build: Split out node_modules code into separate vendors files

To get started with WooCommerce Blocks, make sure you are updated to the latest version of Gutenberg, or running WordPress 5.0.x. Then download the latest version of the plugin here or venture over to Dashboard → Updates, to update the plugin from from WordPress.

As always, if you got feature requests, or spot any bugs,  please log them in detail on Github.