Approaching the first stable release of Commerce Kickstart v2
On September 17th, the first release candidate of Commerce Kickstart v2 was released. This was the first release usable in production, with a guaranteed upgrade path. It allowed us (the product team at Commerce Guys) to receive feedback from developers and users starting new projects on Kickstart, as well as address it as we went along. We've had 3 more release candidates since then, and the first stable release is now closer than ever. Here's what's been keeping us busy.
Stabilizing the included modules
A modern distribution needs to include many modules to satisfy its use cases. During Kickstart development, we improved many of those modules in order to improve their stability and feature set to match Kickstart standards. Dozens of patches were created and submitted to the relevant issue queues.
Still, contrib moves at a different pace than Kickstart itself, which means that many patches couldn't be committed in time for Kickstart RC1. So we shipped the distribution with many -dev releases and many uncommitted patches, which naturally made people nervous.
Since then, we've removed more than 20 custom patches that were committed to their relevant projects, and made it into new releases in the meantime. Significant Kickstart resources went into Commerce 1.4 (includes 8 patches from the Kickstart team), Crumbs (contains 19 commits based on the Kickstart work) and other modules.
We also switched more than 10 modules from their -dev versions to newly made releases.
We are continuing to fight for a "patch&dev release" free Kickstart by working with module maintainers, supplying patches and feedback.
Creating new contrib modules
Commonly heard feedback included "Kickstart v2 is great and I would love to use it for new projects, but is there a way for my existing Commerce sites to benefit from all the work you've done?”.
This is why we've put resources into polishing parts of Kickstart and releasing them separately. All major Kickstart improvements are now available for existing Drupal Commerce / Commerce Kickstart 1.x installations.
Commerce Backoffice provides the largest part of the Kickstart admin experience:
- Contains the specially designed Product, Order, Content and Comment backend views, with "quick edit" functionality for products and orders.
- Provides a custom product type UI (more on that below).
- Provides Message integration for orders (which might move to a "Commerce Message" module soon).
Commerce Search API automatically creates and maintains a search index and facets based on the present content & product types. Supports price sliders and other usability tweaks. For the first time in the history of Drupal eCommerce, fully faceted search is available in a few clicks.
Commerce Add to Cart Confirmation provides the confirmation dialog shown after the customer has added a product to his cart.
These new modules and themes join previously provided Kickstart subprojects such as Inline Entity Form, Views Megarow, Field Extractor, Commerce Fancy Attributes, Image Delta Formatter, and Commerce Addressbook 2.x
Stabilizing the themes
Great effort was put into making sure both the frontend and the backend themes fully support RTL languages.
We’ve also added many fixes for IE 6/7/8 support to Omega Kickstart (we suffer so you don’t have to!). All this is an ongoing, never-ending effort, so bug reports and patches are welcome.
The faceted search page has been one of the most attractive new Kickstart features.
In fact, it has been so attractive that people would be disappointed that they couldn't get facets on other user-facing views such as the category / collections view. This is why we've replaced the old collections view with a new Search API-based one, which now contains facets and sorts the same way the "All Products" search page can.
We've also replaced the hard-coded search index and facets with our newly built Commerce Search API module which auto-generates the index and facets based on the present content & product types, ensuring it adjusts to your evolving data model.
New product types UI
The most common support requests after Kickstart RC1 were about product type creation.
Each product type needs to have a matching content type (for the product display), with the correctly configured product reference field using Inline Entity Form.
This creates a long and tedious process with many steps.
This is why we’ve disabled the default Commerce product types UI and replaced it with a new simplified “product variation types” UI, matching the language used in other parts of Kickstart.
It also provides the functionality for creating a matching content type (with the appropriately configured reference field) when a new product variation type is created.
This functionality is a part of the Commerce Backoffice module, hence available to non-Kickstart users as well.
The road ahead
In the process of creating the RC3 and RC4 releases, we’ve closed over 50 issues, which is 25% of all open Kickstart issues. We’ve addressed all major feedback received so far, and fixed the biggest found problems.
Among other things, we are concentrating on further stabilization of included modules, and polishing the existing functionality.
A big focus will be creating a first stable and usable release of Commerce Discount, our next-generation discounts solution. This means making sure that discounts work with all kinds of taxes, and allowing discounts to be limited by different criteria (product, product type, category, order total, customer address, etc).
We are very interested in hearing your experiences and any feedback you might have, including how Kickstart can handle your needs better, so leave a comment below!