Musings on Drupal

— 2 minute read

Of late I've been doing a bit of experimenting with Drupal for one of my side-projects. It's a PHP-based content management system. It's got a nice array of features (blogs, collaborative books, forums, clean urls and so on), and you can customise it in all sorts of directions, which content appears when and to whom. It seems a good solution is you want to quickly create a community portal (which is what I needed). Certainly its approach is fairly modern compared with some of the "community portal" systems I looked at.

On a standards front it'll produce pretty decent pages out of the box (if you don't mind XHTML served at text/html), and it's navigation generation functions all produce semantic unordered lists. You can customise the templates quite extensively without many issues, there are a couple of places where I found frustration in lack of hooks or choices I thought were odd, but not many. It does @import all the CSS (including its own defaults), so you'll have to do a bit of re-writing for linked stylesheets.

The admin site does use some Javascript to show and hide interface elements, but it degrades if JS isn't present. I've yet to try it in JAWS, I suspect showing/hiding elements might be an issue when tabbing back and forth.

My only slight reservation is that the content creation screens pile quite a few options on the user, and hunting down the ones they need is sometimes a difficult or slow matter. I'd have prefered something a bit more stripped down. That said, you can customise the interface to some degree, so this is less of an issue than it might be.