Quick news

Grokking Drupal: the project module for 4.6.x

2006-07-28 : this model is now obsolete. See the new model for the "summer 2006" version of Project.module.

UML class diagram thumbnail for Drupal project module 4.6.3The project module is at the heart of drupal.org. Here is a UML model of how it stores its data:

As of Drupal 4.6.3 and HEAD today, project.module uses a set of seven tables in addition to core tables node and users. This UML diagram shows how they are logically related together.

Note that, as in the other diagrams in my Grokking Drupal series, members pointing by a composition relation to the abstract class project_file_info are implemented in the physical data model as copies of the properties from the abstract class directly embedded in the source class. This representation is chosen to simplify reading and possibly encourage future refactoring.

This might be only short-term information, as work is apparently under way to create a new project module taking advantage of the features in the upcoming 4.7 release, and the data model may change.

Tagged for , , .

UPDATE - this post is available on drupal.org

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

Great documentation

Great documentation. I guess this looks like an entity-relationship. What tool did you use to create this diagram?

Ben in DC

Model is created in ModelMaker

This was done using Model Maker, a UML modeler initially designed for Delphi, then extended to other languages, notably C#, and with which I'm very familiar, as I use it all the time with Delphi.

You might wonder why I use a Delphi/C# modeler for PHP: it's simply because, although it does not integrate with PHP, it's still by far the most convenient UML (and beyond) modeler I've found. It's a pity the publisher won't make a version for PHP, because I'd be sure to buy it.