The Paradox Of Drupal
boz — Fri, 07/08/2011 - 09:24
What is the paradox of Drupal? That often, the complex tasks are simple and yet the trivial tasks are difficult.
The typical scenario for a Drupal build starts with a requirements document. The Drupal developer lists out the functionality that he or she needs and starts to come up with a list contributed modules that may be useful for accomplishing said functionality. To his or her surprise several of these modules "just work" and reports amazing progress. There is probably one module, however, that doesn't do exactly what is needed and is substituted for an alternative. Maybe it is even a rewrite, but this no sweat to the Drupal developer. But then it happens! A mundane task suddenly becomes a blocker and several Google queries / IM discussions / reading chapters of Pro Drupal Development later there is an aha moment followed by the question "Why is this simple task so hard to do in Drupal?".
Let's be careful now. Its not all Drupal's fault. After all the contributed module pool is vast and the issues I have encountered more often then not, have to do with a contributed module. But drawing a line between core and contributed modules is merely a technicality. A quality development framework should make difficult tasks easy and trivial tasks negligible. So what are some examples? Here we go.
- Creating a checkbox in CCK
- Assigning a menu item a JavaScript action. (Say you want to open a dialog)
- Trying to use FORM API with CCK
- Form altering a form widget like nodereference
- ...more to come
I'll be updating this as I code as a standing record of things that need cleaning. Keep in mind that I'm speaking mostly from a Drupal 6 perspective.
