In order to comply with what website application end users really need, we often need all the benefits of the proven specialized tools (for example, Alfresco for document management, Magento for ecommerce, WordPress for blogs, Gallery for photo galleries, Moodle for education), but without having to sacrifice the power, community, flexibility and excellence of Drupal.
Several clients need to integrate ecommerce functionality into their website application right now. And to be honest, what I need is the great usability of a good specialized framework without giving up Drupal. As a developer and not an experienced store manager, how can I be sure to offer those using my services the most advanced usability for their ecommerce needs? I need Drupal for most of their requirements, but I need, say, Magento too. To be honest, the question I need to answer is: Ubercart is the best Drupal based ecommerce solution; but this time is that going to be good enough for the end users?
As a website application developer, I need to place reusability at the core of my kit of best practices. But reusability isn’t always about code, or modules, themes, or even whole frameworks; it’s often about tried and proven industry-wide well-trodden paths, a set of patterns upon which to build no matter what tools you use. Just as usability most often isn’t really about flashy widgets, it’s about an architecture that won’t paint you into a corner.
So I hit upon what I think is a novel idea: I decided to prototype the development with a best-of-breed specialized ecommerce framework in parrallel with Ubercart/Drupal, in order to gain insight into the kind of usability and architecture required. Then I could decide between integrating Drupal with Magento on the one hand (a la Promiscuous Drupal), or using Ubercart directly with Drupal to attain the same level of functionality.