Goodbye SPIP; Hello drupal

After months of procrastination, over the Christmas break I finally got around
to converting my site from running SPIP to running
drupal. SPIP is easy to use and configure and quite good
at what it’s aimed at - on-line magazines. However, I never really got on with
with it and got the site set up the way I wanted. Most of this is probably my
fault as I know it’s possible to customise the display of SPIP articles and
listings quite heavily but to do any of this seems to require hacking the
templates written in SPIP’s own style and I could never quite convince myself
to invest this level of effort in relatively little used piece of software as
I knew I probably wouldn’t make use of this knowledge outside of my own site.

There were other things that bugged me about SPIP too:

  • I found the “typographical shortcuts” irritating and wanted to be able to use whatever HTML tags I liked (although this should have been possible it never seemed to work right, especially when I wanted to use a bit of Javascript).
  • I got a lot of comment spam and although SPIP is relatively good at avoiding spam from dumb robots the spam filtering plugins seemed infrequently maintained).
  • When you delete a comment it’s still visible on the admin page (but marked as deleted) - this meant that my admin area was drowning in deleted spam comments making it awkward to see the genuine comments.
  • I wanted more control over the way the site worked

Now, with more work I could have probably addressed all this (for example
writing some PHP to to really delete deleted comments or modifying SPIP to do
so) but I just couldn’t work up the enthusiasm.

The obvious contenders for replacement software were:

All have their good points but I went with drupal as it has a reputation for
being efficient, programmer friendly and very configurable.

Initially I was not that impressed with drupal as the core modules didn’t seem
to do a lot but I slowly realised that (with drupal 6.x at least) it’s the
architecture of the module system combined with the available modules that
really make it great. Here’s a quick list of what’s impressed me so far:

  • The Views & CCK modules make it very easy to create custom content types with different types of additional fields (relationships to other content (nodes) or users, dates, amazon product ids and many more) and produce views showing selected fields from these custom types in the way you want. For example it was quite straightforward - once I’d worked out how - to create content types to represent ongoing projects, another type to represent updates to those projects (like a blog) and link the project updates to their respective projects all without writing a single line of PHP.
  • The control available over setting up the navigation and the structure of the site and the ability to mix automatically generated URLs with manually created ones.
  • The shear ease of adding new functionality (google sitemaps, tag clouds, spam filtering) just by installing modules.
  • The level of integration between drupal and its modules and between the various modules - I’ve installed 24 modules now and they all place nicely together.
  • The way you can easily move blocks of content around on the page and configure what content is displayed on what pages.

It’s taken me a lot longer to put together this incarnation of the site
compared with the SPIP version but it does so much more and I feel much better
about it. My wife has got very tired of me jumping up and down excitedly each
time I discover a cool feature or something else I can do.

That said I’m not happy with the current (graphical) design of the site and I
need to invest more work there.

So far the only thing about drupal that’s disappointed me is the site
statistics (*see update below). The built in statistics package is quite
basic. There is a module that integrates with google analytics but it would be
nice to have a simple graphical display of site and/or article access over
time built right in without the hassle of going to the google analytics site.
SPIP had exactly this (see image below) which let you see the good or bad news
very quickly and easily as well as drill down to see which articles were
generating the hits and how the level of hits was changing over time. If
anyone knows of a drupal module that can do this please let me
know
.

spip-stats.png

The blank space at the end of the graphs is because I took this screenshot
from a local copy of SPIP using a version of the database I took a snapshot of
a couple of weeks ago.

So in summary: very happy with drupal and heartily recommend it if you don’t
mind investing effort in getting everything configured. I still need to invest
a fair bit of effort myself to add new features (like using the amazon module
to show data from amazon in reviews) and improve the presentation of the site.

Update 10th January 2010

I have just discovered the graphstat
module
which provides some of what I was
missing although the graphs are not as well displayed as the SPIP equivalents
and the module does not seem to be very configurable. That said it appears to
have been abandoned until the end of December 2009 when a new maintained,
weboholic, took responsibility for it, so I
have hopes that the module will continue to improve.