What’s the state of play with Drupal 6? With the publication of a new edition of the Drupal developer’s best friend, Pro Drupal Development, it’s worth taking stock.
Here are five causes for celebration:
- Performance. The Drupal core is much more efficient in Drupal 6 than in previous versions. Caching is employed much more in the theming process than formerly, so in serving a page time is not wasted looking for theme files and functions that don’t exist. The module system is much leaner, with files being loaded on demand rather than willy-nilly.
- Schema module. There’s more abstraction available in the database layer, with the addition of the new Schema module which allows module developers to manipulate tables at a higher level.
- AHAH Support. The forms API now includes AHAH support, which is either a subset of AJAX or a close cousin, depending on what book you read. Either way, it makes the creation of enhanced user interfaces much easier.
- Improvements to CCK. The Content Construction Kit module has been greatly improved in Drupal 6, and the administration of fields and widgets is much easier as a result. One unfortunate effect however is that due to the API changes many CCK extensions developed for Drupal 5 have not been ported as yet at the time of writing. Another complaint is that the CCK API is still not well-documented or easy to write for.
- Improvements to Views. The latest version of the Views module includes a new administration UI that – leaving aside a few idiosyncrasies – is a joy to work with. New views of data can be built and customized a lot more rapidly than formerly. If I have any complaint it is that field names in the data passed to row templates are still rather overlong and weird: the ability to give these short, sensible, aliases would be very helpful.
To summarise, Drupal 6 is in general a considerable improvement over its predecessors. However, the fact that a significant number of useful contributed modules are not yet available in usable form for production purposes is disappointing, and it makes me wonder whether the headlong rush into Drupal 7 development is necessarily a good thing for the project: would not a longer period of consolidation have been wiser?
It’s often hard work adapting one’s code to a new API, especially given that, since most module developers have other calls on their time, the perceived longevity of one’s work is important. The fact that CCK, Views and media handling are planned to be in core in Drupal 7 has, I think, discouraged developers working in those areas to some extent, and paradoxically may have led to some impoverishment of Drupal 6.
What do other Drupal developers think? We all want a better core, but the contributed module base is key to Drupal’s success and needs to be nurtured.