Tweaking Drupal sites : a professional approach

Website building frameworks, Content Management Systems, that come with free hosting - such as Wordpress - are fairly common. As professional website developers, we need to offer more than people can get by using the frameworks themselves. A website build just on top of Drupal, with existing modules and with an existing theme will always have that ready-made "pret-a-porter" look. Having a professional design makes a massive difference - but equally important is to have professional development.

Professional development means that we can add that feature not natively supported by Drupal. We can tweak this existing module to make it function not roughly how the client needs it, but exactly how the client needs it. And, where the professional developer makes a difference from the bedroom coder, we can do this in a way that will be future-proof : the tweaks won't break when you do a (minor-version) Drupal upgrade.

There are a few rules to follow to ensure this professional development quality :

  • Never modify Drupal core or existing module ; always implement functionality in separate modules ;
  • Never access the database directly ; always use existing Drupal functions ;
  • Implement functionality where it belongs : at the theme level, or at the Drupal level ;
  • Don't use PHP code from the Drupal User Interface : at worst, make those a single function call and implement the code in module space.

When developing on tight schedules it is often tempting to take short-cuts – but when you also support the websites in the long term, you know taking a bit more time at the beginning will save a lot of trouble later on.