robknight.org.uk

The personal website of Rob Knight

Explaining architectural tiers in Drupal

Like most web frameworks, Drupal has three easily-identifiable architectural layers:

  • Data, including the DB abstraction layer and some contrib modules such as Views
  • Logic, consisting mostly of module code
  • Presentation, representing by the theme layer

When thinking about Drupal, it's therefore pretty easy to apply some familiar (outside of Drupal-world) concepts and principles. And the three-layer architecture is popular precisely because it's a good model that is widely applicable. The three-layer approach underpins the MVC model, which most other web frameworks explicitly adopt as their fundamental architecture, though the variation in quality of these "MVC" frameworks suggests that they don't always adopt it correctly.

Google: the IE6 of search

It seems my prediction that 2011 might herald some innovation in the web search field is not as far-fetched as I originally assumed. This post on TechCrunch contains a lengthy list of Google's flaws, and it chimes with my experience of using Google too.

The year ahead: 2011

As is traditional at this time of year, thoughts turn from the year ahead; the days are getting longer, and new possibilities seem slightly less remote than they did before. For people in the tech industry, the beginning of a new year is a traditional opportunity to make some predictions about innovations likely to happen in the next 12 months, and I'm no different.

2010

Re-launch on Drupal 7 - first impressions

With the final Drupal 7 release only days away, it's about time for me to get up to speed with the latest and greatest release. I've had my head down on a massive Drupal 6 project lately, and this has kept me from spending too much time with Drupal 7. Upgrading this site has been a crash course in Drupal 7's many changes.

System Features module for Drupal

I've published the very first version of a new module for Drupal, the System Features Integration module (Github). This module integrates "system objects" (basically, modules and, eventually, themes) with Features, allowing you to store module enablement/disablement status and module weight in a feature.

Why would you want to do this?

Pages

Subscribe to robknight.org.uk RSS