Latest sites

  • 2017-11-26: New Drupal 8 site at Rue du Commerce, architected and tech-led by OSInet, just went throught Black Friday week with flying colors thanks to RabbitMQ
  • 2017-05-26: New headless Drupal 8 / Symfony 3 site at FranceTV Sport, architected and tech-led by OSInet, with RabbitMQ
  • 2017-02-20: New Drupal 8 site galaxy (+/- 70 sites) for Agences Régionales de Santé architected and tech-led by OSInet, delivered by Klee
  • 2015-08-21: 50% less server load with MongoDB on the Drupal 7 site factory at France Télévisions
  • 2015-07-15: Our first Drupal 8 production site at France Télévisions is live
  • 2014-08-18: 400% speedup in 3 weeks for : who said Drupal back-offices had to be slow ?
  • 2014-02-07: Sotchi Olympics traffic not a problem for , which I rearchitected on Drupal 7 in 2013
  • 2011-09-14: Completed migration of FranceInfo.FR from SPIP to Drupal
  • 2011-07-13: The new social network features of Le Figaro are now powered by an OSInet-designed MongoDB implementation

Quick news

  • 2014-03-27: MongoDB Watchdog module ported to Drupal 8 at the Szeged Dev Days.
  • 2014-01-26: My post on the Symfony web profiler in Silex selected in Week of Symfony. w00t !
  • 2013-10-18: My first commit went into MongoDB today. And, guess what ? It's in JavaScript
  • 2013-09-20 to 29: Working on Drupal 8 EntityAPI at the extended code sprints during and around DrupalCon Prague
  • 2012-08-19: Working on Drupal 8 EntityAPI at Drupalcon Munich
  • 2012-06-15: Working on Drupal 8 EntityAPI at DrupalDevDays Barcelona
  • 2012-03-23: Working on the future Drupal Document Oriented Storage at DrupalCon Denver. D8 or later ? Bets are on Later

Grokking Drupal : e-Commerce

UML class diagram thumbnail for Drupal e-Commerce 4.6 For anyone trying to understand the inner working of the Drupal e-Commerce 4.6.* module, a pair of UML data model diagrams should be really helpful.

As the upcoming sites for OSInet, Riff News and a few others are supposed to be based on the Drupal CMS, I've started diving into the Drupal data model, especially for the e-Commerce module part.

Here is a pair of data model diagrams for this Drupal functionality:

A couple of warnings are in order, though:

  1. As I'm currently in the process of learning Drupal, the diagrams may contain errors. Use at your own risk !
  2. The diagrams are based on the 4.6.2 code base, and are subject to change. At the very least, the country attribute in ec_addresse_base is changing from int(11) to char(2) in a recent patch and future release.
  3. The diagrams represent an object-oriented view of Drupal, but the code does not make use of the object features in PHP. This means that the diagrams do NOT represent the actual physical database implementation, either MySQL or PostgreSQL, but a higher-level view.
  4. This is apparent in the *_base classes. These are not part of the actual Drupal code, but represent abstractions from which actual Drupal code derives. For this reason, they are flagged in the UML diagrams as abstract, meaning they appear in italics. I know this is semantic abuse and UML purists would frown upon this, but it had to appear.

A case in point is the ec_address_base class. It is actually implemented six times in the current code for the MySQL version:

  1. as ec_address in modules/address/address.mysql
  2. as shipping_* attributes to ec_transaction in modules/payment/payment.mysql
  3. as billing_* attributes to ec_transaction in modules/payment/payment.mysql
  4. as ec_address in modules/store/store.mysql
  5. as shipping_* attributes to ec_transaction in modules/store/store.mysql
  6. as billing_* attributes to ec_transaction in modules/store/store.mysql

In this case, it is easier on the reader to refer to the abstract base class ec_address_base thant to the actual implementation, hence these abstractions.

Note that V2V has a video of Matt Westgate about the e-commerce module. Not very technical, but still interesting. Several videos about Drupal too.

Tagged for , , and in Technorati.

2006-10-07 - Update : See also a newer post about drupal ecommerce module dependencies in drupal 4.7.x

2005-11-28 - Update : this page, as well as other in the Grokking Drupal series of my blog, is now available on The version on will probably be updated with time, whereas this one won't be.

You da man, thanks!

You da man, thanks!