Project Management

13 10 2010 : Four troublesome notes with Drupal module-updates and upgrades.

On stackoverflow, I wrote an answer to someone having issues with Drupal module-upgrades. Something I thought worth noting down here too. There are many gotcha’s in module-upgrades, that people find out sooner or later. Often found out in not-so-nice-ways. :)

  1. Not all module developers think the same about dot (minor) releases: sometimes 5.x-1.2 and 5.x-1.3 are major rewrites or come with completely new features, themeable-functions, pages or APIs. 1.

13 09 2010 : Drupal needs you to conform, a framework will conform to you.

An answer on stackoverflow to the endless question “should I choose Drupal or Foo” gets the whole problem with many Drupalprojects in one sentence:

Drupal needs you to conform, symfony will conform to you - choose whichever you want.

I would refrase that as:

Drupal needs you to conform, a framework will conform to you - choose whichever you want.

Now, that would not be a big problem, if you have that freedom: the __freedom


10 06 2010 : Design principles for creating Good Classes let you write Good Drupal Modules.

Drupal is not object oriënted (OO). No really, it is not! It merely borrows some design principles from OO, and uses some design concepts (such as the Observer Pattern, or hooks, in Drupal) from OO. Though many Module developers actually use another design principle, that of Classes. When creating a module, one can borrow almost all ideas from the (good) design of classes, to create a good design for a module.

Maybe you think: “Why should I design my module”?


19 04 2010 : The first rule of coding for Drupal: never forget about the option to write your own code.

yelvington writes: “The first rule of coding for Drupal: We do not write code for Drupal.” I must say, that after years , I come to the exact opposite conclusion. Right now, I should be writing another webshop (instead I am writing a blog-post, but this article is not about procastrination :)).

I was one of the most outspoken for getting the first CCK, flexinode into core. Not that project itself, per sé, but the concept.


15 04 2010 : "Pick up where you left last X" by not committing last changes, good branches and pseudocode.

When programming, you often need to carry a single task on to the next day, or till “after the meeting” and such. I experimented and found a good method, to pick up where I left.

Working the GTD way, well documented code, a good software architecutre all help keeping a project in line, up to speed and manageble. But it does not solve one thing, though: “picking up where you left”.


20 02 2010 : Git mirror for Basetheme Genesis

The fabulous basetheme Genesis is now mirrored on Git.

This has several advantages. A basetheme is used as scaffolding for your own theme. During upgrades and bugfixes, however, your altered version will be hard to keep in sync. Usually this costs a lot of manual labour; eliminating one of the advantages of a basetheme: continuous re-use of existing work.