Drupal Commerce for Drupal 8 - About Version 2.0 [Translation from JDN]

The following article is a translation of an article oringaly published by Journal du Net, France's leading online source for information on digital business. To read the original article in french, Click Here

On Thursday 19th of November, the first stable version of Drupal 8 was published. Along with this release comes many expectations about the eCommerce solution for Drupal, Drupal Commerce. Let’s take a look back to the birth of the Commerce 2.x and the announcement.

Thursday 19th of November

The first stable release of Drupal 8 has been published. After severals years of effort, the community of developers (+3k)celebrated the release. Using the last 10 years of experience, the CMS has evolved and was re-designed with externals components : Symfony 2 : HttpFoundation, HttpKernel, Routing, EventDispatcher, DependencyInjection, ClassLoader, Twig). The launch of Drupal 8 has introduced the concept of externalization to the community. The same schema has been followed by Drupal Commerce.

Drupal Commerce is a group of components using the core of Drupal, so naturally, the new version of Drupal Commerce will benefit from the Mobile First approach , Wysiwyg integration, inline edition, internalisation, advanced configuration, accessibility, … But there are still other innovations have been integrated in Drupal Commerce 2.0.

Friday 25th of December the first alpha version of Drupal Commerce 2.0 was published.***

*** As a quick reminder, Drupal Commerce, the extension of Drupal, was published a short 6 months after the launch of Drupal 7, during Drupalcon London (September 2011). It was based on new concepts, integrated into Drupal 7 and Drupal Commerce 1.0 was quickly been adopted by the community and IT organizations around the world. At the present, there are more than 60,000 installations of Drupal Commerce reported on drupal.org. (sources based on https://www.drupal.org/project/usage/commerce)

Drupal Commerce for Drupal 7 was successful for 2 main reasons. First was the combination of a full CMS and powerful eCommerce features. Commerce integrated the prices, products, orders, with Drupal concepts like entities, integrating cart, products list with views, and using rules. Drupal Commerce 1.0 was able to use these tools to provide the only architecture that is able to merge a flexible back-office with a centralized database, and create a dynamic relationship that leverages content to further eCommerce.

Drupal Commerce has been successful in the market by adopting a unique strategy that breaks down the technical barrier to managing eCommerce. This approach merges rich content (blogs, videos, reviews) and products (with prices, discounts, bundles, etc). With the wall between content and eCommerce eliminated, choices of implementations are the result of marketing decisions and not the result of technical constraints.

The second key factor for its success is that it was built as a flexible, unbiased framework and not an opinionated solution. It’s generic architecture has without a doubt helped to popularize Drupal Commerce for most atypical use cases. Unlike other ecommerce solutions, Drupal Commerce does not provide a unique pre-designed architecture, but offers the possibility of supporting unique needs, like connecting several third-party systems without the need to deal with incompatible and irrelevant architectural requirements.

Drupal Commerce, the dawn of a new life?

After 4 years of experience on this ground-breaking architecture, the maintainers of Drupal Commerce Core have been able reflect and have composed a list of issues and difficulties they experienced on real implementations. Hundreds of different projects, each with specific business rules, technical and functional constraints, allowed them to uncover shortcomings in original implementation of Drupal Commerce, such as: taxes, discounts, payment implementation, cart managment, checkout, …

This analysis revealed a big opportunity: the shortcomings in pricing, discounts, taxes, are not relative to Drupal, but shared by all eCommerce projects.

It was decided to extract these components into external libraries to simplify the Drupal Commerce Core and begin to encourage other eCommerce projects outside of Drupal to help solve these difficult areas together. Four independent PHP libraries were implemented and became the starting point for version 2 of Drupal Commerce for Drupal 8.

A 6 month integration, more than 400 commits

This challenging choice opened the door to more contribution, to sharing the project with more people, but also opened it to more implementation feedback. Drupal Commerce 2.0 is based on the externalization of generic business rules, with a non-negligible impact on eCommerce architecture. These rules are not Drupal Commerce specific, using libraries offers a new community-based approach that drives flexibility.

These rules meet the common needs of internationalization, allowing Drupal to become compatible with the any imaginable configuration. Since the Drupal ecosystem is international, the Drupal ecommerce solution has to ensure strong compatibility for the biggest international problems.

4 externals PHP libraries

Currency management is based on the maintenance of 200 languages for 157 currencies. A zone notion has been also created, which allows for the creation of groups of geographic rules. Since all the structure of taxes and addresses have been rewritten, the result is better options for Drupal Commerce’s international eCommerce needs.

Here’s a few examples: A price in french is not displayed in the same way in France as it is in Canada. A shipping service could be just available in the euro zone. This approach allows you to take care of international address formats and taxes uniquely (did you know that in France a postal address begins with a number, thoroughfare, zip code, city and country? … it’s exactly the opposite in China!)

Drupal Commerce 2.0 will have the flexibility to implement constraints for any system.

Focused on the user experience, Drupal 8 offers a cleaner and more accessible native interface. This is reflected in Drupal Commerce, offering a more natural architecture to merchants and clients.

Some other new features

With four libraries to manage more use cases than with the 1.0 version, Drupal Commerce 2.0 offers a redesign of the organization of products. The product variation principle integrated in the first version has been extended. This conceptual restructuring of products offers a better experience to merchants, using the same quality of navigation for all users.

Prices in the presentation of products has been extended. The new libraries integrated allow a price with multiple currency and language, leveraging the multilingual and international features in Drupal 8. Order management has also been rewritten, to respond to more and more problem areas, multiple delivery, marketplaces, payment on the delivery, …

Each project has its own rules

Drupal Commerce 2.0 maintains strong architecture and allows for flexibility for projects, with an intuitive and easy management. Not only are products are unlocked, line items have the same flexibility.

Since Drupal 8’s full release release, Drupal Commerce 2.0 is in a final conception phase, but is showing signs of a promising version, built on real-world experience. Drupal Commerce 2.0 will be a major version with a strong international orientation.

Regarding timeline, with the main blockers communicated, and an alpha version published as a christmas gift, a full release is promised for Q1 2016!

Directeur Operations, France
Posted January 22, 2016

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <br>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.