Keep Drupal Flatshaped

in Drupal, Stuff

Probably like most community based products - which ravel into some development chaos that we all enjoy - one sane thing to do would be to Keep It Flat. What i mean by this:

Let's say the Drupal core code is level 1.
Drupal Ubercart would be level 2.
All those helpful and devilish modules on top of Ubercart would be level 3.

This pattern can be applied easily to all directions of D development.

What you need to ask yourself is: am i really going to build something on top of level >= 3 ?

My advice would be not to do it. Drupal is powerful , yet inherently ecclectic. From the streamline and foundations of the core bit by bit each programmer adds up his own vision of the world, sometimes with total disregard to further than immediate usability. To make all the patches hold Drupal has its own policy of code and usually modules suffer a reality test prior to having their ranks high. However, you should not take your chances unless you are really prepared to step into the deranged vision of your fellow coders ;). Large scale bugtracking is much more time and effort consuming than straightforward development, likewise learning someone elses vision over yours.

Instead of building a new module on top of unstable groundcode better roll up your sleeves and try to replace with a limited, task oriented but stable module encompassing the functionality of what you are trying to achieve with the one below. It won't be something that would break the tops in terms of usability and flexibility, in fact it may be something that no one else would ever need, but for your own website is a sane addition. This policy should be kept in mind if going above level 2 which is still a stable ( and also irreplaceable ) groundcode.

IMHO a multi-stored view of Drupal is one that is bound to crash at some point.