Third & GroveThird & Grove
Jul 5, 2016 - Justin Emond

Drupal + Hybris Integration Guide

long desert road

Creating amazing customer experiences with Hybris

Over the last year, we worked with a variety of Hybris clients to improve their rate of conversion and sales. To do it, we took a novel approach and invented a way to combine the power of Drupal’s CMS and Hybris’s ecommerce store. The result: best-in-class digital experiences. On its own, Hybris cannot be extended to create the engaging experiences that modern consumers demand. So we pioneered a bi-directional, high-performing integration that empowers our clients’ marketing teams to do more online than ever before.

Drupal + Hybris: Key Features

  • Best-of-breed editorial workflow support, empowering marketing teams from one person to a hundred
  • Robust support for multiple languages and translations
  • Support for leading translation platforms like Translations.com and LingoTek
  • Inline and in-place editing experience to make the experience easy for non-technical writers
  • Ability to leverage the extensive universe of over 10,000 free Drupal extensions to add functionality to the experience
  • Complete control over the checkout experience, from one page to many
  • Full checkout capabilities for things like address validation, PCI-compliant credit card capture, shipping integration, stored customer profiles, and more
  • Full support for Hybris promotions
  • Support for simple, configurable, and bundled products, with the ability to add support for any custom product type
  • Full profile integration with Hybris customer data, so no duplicate information in Drupal exists
  • Support for unit and functional tests
  • Ability to deploy a content hub, where a network of localized sites integrate content and products from a central master site
  • Built with modern best practices tools Git, continuous integration, and release scripting

Contextual Commerce: The Future

When you get the technology wrong, you have major issues. The reality today is that digital natives are getting older, and, with age, purchasing power increases. People who grew up with smartphones also expect experiences with their digital commerce, adding further pressure. Most organizations have optimized the cart and checkout flow well past the point of a good return on investment.

The challenge with today's crop of enterprise ecommerce solutions—Hybris, Magento, and ATG, etc—is that they were built without a focus on customer experience. It’s obvious that engaging, content-driven customer experiences provide an enormous revenue growth opportunity for businesses. This is where Drupal and Hybris come in.

On its own, Hybris alone is not a platform for building engaging digital solutions. But when combined with Drupal, a market-leading digital experience platform, the possibilities are profound. But don't take our word for it. Look no further than leading cosmetics provider Benefit Cosmetics. By leveraging a Drupal + Hybris platform, Benefit was able to launch an engaging new interactive experience to support their first major new product in years.

Top Lessons for Drupal + Hybris

Lesson 1: Choose Sources of Truth

Hybris and Drupal each have their own way of handling similar data. They are both well adapted to modeling item, user, taxonomy, and customizable entity objects. From a software engineering perspective, it is helpful early on in the build to decide which data will be managed in Hybris vs. Drupal, or what the source of truth will be.

We have often found that the ideal split of obligations mirrors an organization's marketing and fulfillment team structure. A good way of breaking it out is to picture the fulfillment team only using Hybris and the marketing team only using Drupal. Along these lines:

  • A fulfillment team needs their platform to operate as a product and account management utility and may need close integration with CRM, ERP, and/or PIM systems
  • A marketing team needs their platform to be dynamic, rapidly customizable, and even personalized for each visitor while integrating with various analytics platforms and lead funnels (Marketo, Eloqua, Salesforce etc).

The most common source of truth split is to put critical ecommerce data like user addresses, order histories, price, SKU, and stock in Hybris, and all frontend product marketing and display data in Drupal. When done right, the two sides of the business, marketing, and fulfillment should only need logins to a single system.

Lesson 2: Model Hybris Products in Drupal

We’ve had success structuring headless ecommerce experiences in Drupal by making a product node type that is edited in Drupal and operates as the presentation entity for the product view. We then added custom commerce SKU entities (associated via entity reference) to make product attributes that are sourced from Hybris available to the presentation layer. Next, we wrote cron routines and drush / Hybris CLI commands to sync SKU data between the two systems. Structuring SKUs as custom entities allow us to create different bundles to handle the different front-end processes necessary to support more complex products. Hybris has products with different variants –configurable, bundle-able etc.

The end result is a system that isolates ecommerce data, giving the marketing team free reign over a rich, content-driven Drupal website. Drupal updates price, stock, and other fulfillment-related attributes from the Hybris back end both synchronously and in real time.

Lesson 3: Loose Coupling and Outages

Usually, checkout involves third party services (payment gateway, tax calculations, real-time shipping quotes, etc.). Unfortunately, all third-party dependencies occasionally fail. One huge advantage of separating the eStore from the brand front end is the brand site doesn’t need to go down when the eStore gets backed up.

It is important to take the invariable eStore outage in consideration when structuring Drupal’s relationship with the Hybris API layer. On nearly all of the Hybris / Drupal integrations we’ve done, there has been a time where the eStore backend failed and we needed to seamlessly disable cart and checkout on the front end in order to preserve user experience.

We suggest planning in advance what the end user experience will be during an outage and making a setting accessible via the Drupal GUI to turn off e-commerce. When the eStore is down, user experience can be as simple as a redirect on checkout paths or as elaborate as hiding “add to cart” buttons on all product pages and removing links to the cart from page templates.

Lesson 4: Keep Price, Tax, and Shipping in Hybris

Hybris should always maintain supremacy over price and other data essential to the checkout transaction. What a customer sees in their cart should always be an accurate reflection of what the ecommerce backend is saying.

At TAG, we have a rule for these integrations: There is no math in Drupal. We sync price fields as strings and display price totals during checkout via live API calls. In doing this, we remove duplicative logic by taking all math out of Drupal and ensuring that there are never discrepancies between what a user sees on the checkout front end, and what they see on their bill.

Want to do it on-time and on-budget?

Our experienced engineering team has implemented Drupal and Hybris at scale for a variety of clients. Our hard earned experience over time makes our team efficient and a very low-risk partner to customize the integration.

We have a very flexible engagement model and are available to help with refinements to the integration, building the entire platform Drupal Hybris platform, or with augmenting your internal team with architecture guidance and leadership on the integration process.

To get started integrating Drupal and Hybris download the connectors on Drupal.org and read through our Drupal + Hybris integration guide.