Things Drupal can do better: Automatic module upgrade

Today I upgraded a wordpress blog to version 2.5.1 and noticed several plugins are also not up-to-date. The plugin upgrade cannot be any easier, with a single click to upgrade each one. No wget, no FTP, just a click.

plugin list page

wordpress plugin upgrade screenshot

Upgrading Drupal modules require a bit more thinking, with various versions available for each modules, plus development snapshots. Lately, the update status module helps simplify the process. But I think the process of actually updating to a chosen version should be reduced to something like the wordpress experience above.

Drupal 6.0? I'll wait

While I can't wait to use the new trigger/action features in Drupal 6, I have a feeling it will be a few months before I attempt to upgrade. Apart from Views and CCK not available, the number of issues fixed between RC4 and RC3 looks awfully long to me. This include 17 critical issues, 26 normal issue, and 4 minor issues. Some of the critical ones, like #218471 and #214209 can be nasty if not cought. From RC2->RC3, there were 107 issues fixed, so the number has gone down more than half, but there seems like some way to go.


Google Chart

Google Chart API is an elegant way to generate nice graphs for the web, needing neither client-side (Java) nor server-side (e.g. Flex) add-ons. Reliability and latency are usually a concern with any off-site page element, but with Google both should be as small as you could get.

Above graphs are generated by calling

&chxr=1,0,1553283&chtt=Thailand's Commercial Banks by Asset

I've played with PHP solution like LibChart or ChartDirector, but using them still requires coding and the looks and feels are a bit 90's, and Google Chart is not guilty of both counts. Of course, it couldn't do nifty things like this, but it's fast and free.

And there is a Drupal project in the pipeline (part of GHOP). The natural extension would be a Google Chart View for views module, and I'm sure that will come soon after. I'm just excited thinking about the possibilities this gives to both Drupal admin interface and Drupal-based sites.

Drupal 6 Beta 1

I’ve just tested Drupal 6.0 beta 1 and it’s again a good release.


The improved i18n system is good, the trigger/action modules will finally allow custom automated tasks without needing 10 different modules (hope it has good support for token module), and the new teaser system is elegant.


Having said that, it does feel this version doesn’t have such major changes as previous ones. Some of the nice things like openID and status update are just an inclusion into core. I hope the many revised APIs will spring many new useful modules, otherwise it feels like too little gain for another round of contribs porting.


Test it out.

Drupal Installation Profiles

One new feature I had not paid much attention to in Drupal 5.x is the installation profiles. I almost did not notice they have their own download section on drupal.org. You can set almost anything post-install, including


  • Turning on modules (core and contrib)
  • Set permissions
  • Create default user roles
  • Enable translations
  • Enable specific theme
  • Enable blocks
  • Setting site variables


This could save peoples hours, and enable newcomers to easier enjoy the power of Drupal. It is not always easy to know which modules you need, and how to configure them. Wiki and developer site with CVS+project are two good examples. (Or may be a profile for this, yes it runs on Drupal. :D)


Drupal 5.0 Experience

The official release of Drupal 5.0 is just around the corner. [According to this and this.] The cycle time is looking to be shorter than it was for 4.7. I was itching to play with it since Beta 1 was released 2 months ago, but it is just impossible without a working version of Akismet module. This site gets around 30 spam comments a day. The first Akismet development snapshot for Drupal 5 was release the night of the first day of 2007, and that's the night I upgraded. The experience had been very pleasant:


Drupal 5.0 Beta

"Drupal 5.0 Beta 1":http://drupal.org/drupal-5.0-beta1 was released a few days ago. For me, this marks an important step for site maintainer. Not only the web-based installation system is now as easy as the famous 5-minute installation of WordPress, the module dependency system and module un-install system is much welcomed.

As the year is not 2004 and I haven't contribute anything to Drupal for a long time, I am going to wait it out this time for a release candidate before using it on ichris.ws. However, the copy of beta1 I'm now running on my test box seems to work very well.

So, how long before the first RC? The answer might be 3 months, going by recent history for 4.7 release:

* Beta 1 : 8 December 2005
* Beta 2 : 16 December 2005 – 50 bugs fixed
* Beta 3 : 9 January 2006 – 150 bugs fixed
* Beta 4 : 26 January 2006 – 120 bugs fixed
* Beta 5 : 2 March 2006 – many bugs fixed
* Release Candidate 1 : 31 March 2006
* Release Candidate 2 : 7 April 2006
* Release Candidate 3 : 15 April 2006

Akismet for Drupal works great

Since "spam.module":http://drupal.org/project/spam got no 4.7 port, I've been using the "badbehavior":http://drupal.org/node/30501 module to deal with comment spammers. It worked great until recently. When I started to have to delete the spams daily again, I know things are not right.

By chance, on my Drupal wishes had come true and "phpmix.org":http://www.phpmix.org released "Akismet module":http://www.phpmix.org/projects/drupal/4_7/akismet for Drupal just earlier this month. I tried it, and it works great.

It's a breeze to set up (easier than badbehavior) and dealt with the common cases right away. (better than with spam.module, where you had to train it yourself or pre-load huge training database) First I thought it can't deal with the "empty spam":http://drupal.org/node/67670 case, but after 2 days of training it has since caught every single on of them.

And Chris's a happy man gain.

P.S. The _empty_ spam seems quite a rare case, but happens on "other platform":http://karavshin.org/blogs/black-coffee/archive/001524.html as well. I'm not sure what this strange case will lead to, but I'm glad I'm not part of it now.