What to do with those killer modules in Drupal 5 that have died in D6?
I'm in the process of updating my training materials for various Drupal courses I teach so they reflect the new Drupal landscape, post Drupal 6 launch and wide acceptance. One of the interesting things is the number of killer modules in Drupal 5 that have died (either the maintainer lost interest, ran out of time or found a Drupal 6 module that does the same job better).
However, what is also interesting is the number of replacement modules that have sprung up, and I have to say that on the whole the new breed seem much better. A stronger (in many respects) Drupal API seems to have led to better contributed code and, of course, these new modules have the great advantage of viewing what worked and what didn't in their Drupal 5 ancestors. The result is a set of modules borrowing heavily in terms of concept and function from Drupal 5 modules, but being re-written and re-packaged for Drupal 6 with additional features and better source code.
The only shame is some of these new modules could, potentially, have been Drupal 6 ports of other modules in Drupal 5, they are so similar. This, however, depends on maintainers being willing to open their projects to others (not all are) and module developers being prepared to search for a project to improve on before they set off on their own track (everyone loves to start from scratch and have their own username immortalised as the author on that project page).
Anyway, enough twoddle. Here are my recommendations for your Drupal 6 upgrade (not all tested, I should note, but the most promising candidates from my research):
1. Nodeprofile This was the means for creating user profiles as nodes in Drupal 5, which was a very useful thing to be able to do. However, there is no Drupal 6 port (and it doesn't look like there will be). Never fear, Content Profile is here! It's actually by the same developers. Not sure why they felt the need to start a new module, but they did. You can find it here:
2. Nodeaccess In Drupal 5 I found Nodeaccess was the best module for fine-grained user access control on nodes. It was simple, effective, allowed role-based configuration on content types as well as grants on individual nodes. There is technically a Drupal 6 port, but I tested it and, to my disappointment, Views lost all access to nodes. I reported the bug and got no response. Furthermore, nothing seems to have been done since July 2008 (now 6 months ago) so Nodeaccess is now a non-runner in my book. Fortunately, just this morning I found a blog post by the maintainer of the new Content Access module. It is finally in point release, looks great and integrates with the ACL module. It's here:
3. Flexiforum This is a forum module that uses Nodecomments to mimick the behaviour of the core forum, but so all the posts are actually nodes instead of comments. We actually pulled it out of CVS about 2 years ago when I was head of development at Rareface, packaged it and made it a bonefide Drupal project. However, improved Views support for comments might make people review whether this is even necessary any more. If you think it is, right now your best bet is Nodeforum. It seems pretty similar and there is a development snapshot (untested by me) for Drupal 6. It's worth noting I handed over maintainance duties to a guy in India called Ram, so maybe he'll make a Drupal 6 version of Flexiforum. For now, Nodeforum is here:
4. Buddylist Buddylist is dead, long live Buddylist. It was effectively *the* module for "friendship", MySpace-style, for Drupal 5. However the advent of the new Universal Relation API in Drupal 6 core saw the concept turn a corner. Buddylist has been left behind and there are now a whole bunch of competing modules for the "friendship" top spot. Main competitors seem to be:
http://drupal.org/project/user_relationships (feature rich)
http://drupal.org/project/friendlist (robust code and good docs)
5. Acidfree This is a weird one. I'm including it, because Acidfree is a great little gallery module, but it is in perpetual development. There is a Drupal 6 dev snapshot, but I haven't tested it and I don't think it's stable. Is there an alternative? No. Amazingly there is no good Drupal 6 image gallery solution. There are a couple of integration modules (yuck!), the Image module itself (no sensible permissions) and that's about it. I will do some investigation around this and see if I can work out a way to cobble together a good gallery using a combination of other Drupal 6 modules. If I do, I'll blog it. For now, try the Acidfree development snapshot and, failing that, talk your client out of it.
That's all for now. If I think of any more I'll add a comment. Feel free to add your own below. I hope this post will become a really useful resource for those looking to move from Drupal 5 to Drupal 6.