Grokking Drupal: ecommerce dependencies

UPDATED for eC4 in new post

UML dependency diagram thumbnail for Drupal e-Commerce 4.7 The Drupal ecommerce module suite is a rapidly evolving and quite massive part of Drupal, and newcoming developers may be overwhelmed by the sheer number of modules included in the suite. This UML dependency diagram chart should help understand how the modules fit together.

The documentation lists dependencies in text form:

... but I thought grouping modules visually by their respective field of application makes it easier to understand. This is what the diagram above shows (click for full-size image). Although some modules do not clearly belong in one field, there are four main functional areas in e-commerce:

  1. "inner core": the basic building blocks for all ecommerce features: store, product, cart, and payment.
  2. shipping: everything related to product shipping
  3. products: all modules defining specific product types
  4. payment: modules defining payment methods/

Some notes are in order: the "inner core" abstract package does not actually exist ; it is only there to improve the dependency readability. Modules marked as having a dependency on inner core actually depend on one or more of the inner core modules, abbreviated as the link caption (c: cart, pa: payment, pr: product, s: store).

This grouping also shows that some dependencies, although not listed in the table, might well be actually existing. A lot of payment modules, for instance, are not documented as depending on payment.module.

CAVEAT EMPTOR: both pages on drupal.org may be incomplete or inexact and, since this chart is based upon their version on 2006-10-07, it may include similar errors. Should you find out missing or incorrect dependencies, you're more than welcome to comment on this post, and I'll revise the chart and d.o. pages accordingly.