Back in August, I wrote about the project that’s underway to redo the team website. Mainly because I’ve been very busy with other things in life, very little progress has been made up until about a week ago. Last week I left Wales on Christmas Eve to head down to Sean’s in Hertfordshire and found myself with quite a bit of time on my hands. As a result, the project has come forward in leaps and bounds. Before Christmas I bought myself a copy of Building Powerful and Robust Websites with Drupal 6, which I’ve now read and have inwardly digested. I’ve installed Drupal 6, configured it, installed a dozen or so modules, added content, created a navigation structure…I’m now at the point where I’m looking at adding a workflow module to cater for publishing content and even looking at adding a custom content type.

So what are my views so far? Well, it’s a highly competent CMS for starters – at one point I despaired and started looking at Joomla, but the way it models content disgusted me even more so that Drupal. Now, in this respect, I’ve probably been very lucky. In my last job, I worked for Box UK whose main product is Amaxus, a CMS. Amaxus has been designed from the ground up by some very smart cookies – in fact, mostly by one very smart cookie indeed – Dan Zambonini. The conceptual design for Amaxus is, quite honestly, a work of genius. The model that it uses is simple, easy to grasp and provides incredible flexibility. Of course, it does mean that rolling out a site is quite a lot of work, but with a commercial CMS, that’s where your money comes in – the implementation is the gravy; the professional services part of the contract is normally for this kind of product worth far more than the product itself. So from that perspective, I’ve been spoiled. I’m used to an excellent model to work with…and that’s where I got stuck.

Quite simply, the amaxus model is this: take a navigation tree. Each node is a page made of blocks. Blocks can do anything from picking a single piece of static content, to providing a list of content that’s picked uniquely for each visitor depending on their browsing history through the site. Content is created independently. One piece of content can exist anywhere in the navigation structure more than once. Once you get your head around that lot, you start to see just how powerful this is. Drupal is…well…slightly different. It took me a little time to get my head around it, so here’s a quick run down for anyone currently trying to get theirs around it.

In Drupal, content is the key. The navigation system is only there to provide a convenient way for a user to get to some content. Therefore, the content has to exist before the navigation structure. Now, Drupal makes it easy for you by adding a panel in the content creation page that lets you add a menu item to that content piece, but it’s a paradigm shift for me. The other thing to realise is that blocks are configured on a site-wide basis. So instead of configuring blocks in each node, you configure the blocks once – however, each block has a whole bunch of options you can specify that tells the block when to appear. I’ve used this on our website to provide different kinds of users with different menus – members, non-members, content editors and admins. I have to admit I’ve been frustrated a few times by trying to create a menu before the content, although I think I’m starting to get the hang of it now.

Anyway, I’m impressed. I’ve built a fairly complex site in less than a week and I’ve learned a lot about Drupal in the meantime. Development will probably slow down a little over the next month or so as I learn about the next two things I want to implement – a workflow engine and the associated flows, and a custom content type and associated views for callouts.

Tags: , , ,

4 Responses to “Paradigm shifts”

  1. Ingvar says:

    Workflow, you say? Would you prefer to lovingly handcraft your own stuff; get stuff that is (about) on-par with commercial WF software (at least of “late 90s” vintage) as far as sheer functionality is concerned), though admittedly lower on the “neat extras” like graphical workflow editor(s) or would you prefer the wilds of sourceforge and the like in your quest?

    There should, IF I remembered the email addy correctly, be an email in an inbox near you.

    • Aled says:

      Hey Ingvar,

      There’s an existing WF module for Drupal which I’ll probably grab though I don’t know what it uses behind it. All I’m looking for is simple flows that emulate the writer-editor-publisher relationship that allows for content to be created and not published until approved. It’s a very common model so should be fairly easy to implement. I’ll let you know. 🙂

      Ta,
      Aled.

  2. Aw, shucks. Happy New Year!