Drupal Vs Pinax - a basic feature-by-feature comparison
At istos we have quite a bit of Drupal experience so the Drupal system is a natural starting point for most of our projects. Nevertheless, every now and then there is the healthy itch of curiousity that leads us to look around at the trendy technologies and languages. After all it is best not to blindly follow the path of least resistance but actually look around and see what other frameworks could offer. This time round we wanted to take a closer look at Pinax - which has been getting some interesting press (and also some illustrious mentions - http://www.slideshare.net/factoryjoe/2009-web-20-expo).
The Pinax website ( http://pinaxproject.com/ )offers a clear list of features so we are just going to run through them and see how Drupal fares on each one. The reasoning behind this is that if Drupal can offer all or most of these features in an effective way and given that we already know much more about Drupal than we know about Pinax means that Drupal is still the right solution for us. We are not going to enter the debate of Python Vs PHP or Django Vs Drupal as an app framework. I suspect that purely on technological merits Python and Django win - but once other considerations, such as the wide availability of Drupal and PHP platforms, are taken into account you enter a gray area.
So here we go - the list is taken straight of the Pinax page - http://pinaxproject.com/ :
- Drupal has had OpenID support since version 6 so this is a simple one to tick.
- Tick this one as well - been there for ever I guess.
- Another simple tick
- Assuming this means what it says, yes Drupal can do site announcements.
a notification framework
- Now, this is a bit more complicated. Exactly what are notifications in Pinax? Straight off the pinax documentation we have "Many sites need to notify users when certain events have occurred and to allow configurable options as to how those notifications are to be received." So this would be our Drupal triggers and actions so I guess we can tick this one as well. However, pinax also mentions that their system can do:
Submission of notification messages by other apps.
Notification messages on signing in.
Notification messages via email (configurable by user).
Notification messages via feed.
Now, Drupal can handle the first three (just replace apps with modules) - it cannot out-of-the-box do the last one but it can be convinced to produce a feed so it is not a show-stopper.
-Not an out-of-the-box Drupal feature but the Privatemsg module enables this - http://drupal.org/project/privatemsg
friend invitation (both internal and external to the site)
-Tricky, not sure there is any module that does this in Drupal. There is a Drupal Contact List importer that is only for Drupal 5.x and development seems stale - http://drupal.org/project/dcl_importer. There is also an invite module but it does not connect with external contact lists.
a basic twitter clone
- Drupal could be convinced to emulate a twitter-like mode of communication and some modules, like Friendlist - will allow you to follow users and have followers. There is even a showcase of how to do this in Drupal - http://groups.drupal.org/node/16023. Nevertheless, this is not something that Drupal can just do without any pain and what it can do it does in a round-about way.
- oembed is a format for allowing an embedded representation of a URL on third party sites (http://www.oembed.com/) - and Drupal can support this via the Embedded media field - http://drupal.org/project/emfield.
- Another feature supported by Drupal through a module - the Gravatar integration module - http://drupal.org/project/gravatar
interest groups (called tribes)
- interest groups in Drupal can be handled by the powerful Organic Groups module in Drupal
projects with basic task and issue management
- There is a whole group of modules that deal with this in Drupal and given that project handling is one of the big things the main drupal.org website does they are quite well supported.
- Again Drupal can handle this both in forums and as comments in posts
wikis with multiple markup support
- Plenty of modules that can help configure Drupal to act as a wiki.
- Right out of the box with Drupal as well.
- There are a few options in Drupal to accommodate both bookmark sharing on a Drupal site as well as importing bookmarks from services like delicious. The only problem is that the range of makes it hard to figure out exactly what is the best solution to use.
- The Drupal taxonomies allow you to have a tag vocabulary (or more than one tag vocabularies)
contact import (from vCard, Google or Yahoo)
- This is something that Drupal does not really support - there have been some attempts but nothing that can just be activated
- This, admitedly, is a sore point for Drupal. While it can handle images and the combination of FileField, ImageField, ImageCache is quite powerful it is not intuitive in any way and does not do the things a lot of users would like it to do.
The overall verdict is that Drupal doesn't really fare that badly when compared to Pinax. Actually, it does quite well! Remember we haven't even touched on the Drupal features that Pinax does not offer and the Drupal solutions can be implemented with minimal knowledge of programming languages or the intricacies of application frameworks.
So for a group that is already experienced in Drupal justifying the switch to a hip and modern framework like Django is a bit hard - even when you consider the jumpstart that can be offered by a system such as Pinax (remember we chose to ignore any potential benefits that may come from Python or Django).
So its Drupal for the foreseeable future - but we will always be curious and look around.