sime's slow-cooked review of v4

Events happening in the community are now at Drupal community events on www.drupal.org.
sime's picture

So: here is my slow review of ecommerce. I'll add modules the list as I fully review or understand them and think that they are worthy of being in v4.

Note:
Lines = loaded lines.
Extra = lines of .inc files (loaded as needed)

Module Lines loaded Extra lines Beta ready?
product 1550 1140 Yes
ec_common 250 500 Yes
store 1300 3300 No - transaction admin
cart 900 Yep
checkout 800 100 Yes
shipping ?
... ?

Product
The thing I always hated about this module is the dual interface between native product node, and converted products (nodeapi). Well, gordons product features are rock solid on this front, I've just now removed some legacy node hooks and added logical groupings of functions - actually I removed about 5-10 redundant functions. I'm a lot impressed with this module now. Product features are awesome.

EC Common
This is supposed to be a primary ecommerce module. It has served the purpose of moving a lot of code out of store module and doing generic tasks. it's not bad.

Store
There is still a lot of code here, but now that it's better organized it's easier to see what is what. Localization for a number of countries is a big dynamically included file which won't cause any grief. All the admin settings, admin management, and general display functions are now in separate files.

The big problem that remains with store is the clunky, ancient, transaction admin pages (admin/store/transactions). This is needs to be fixed and is referenced under 'usability' on the v4 goals page. This doesn't mean it requires an "overhaul", as the best outcomes can be achieved in D6 with AHAH, stable Panels 2, etc, it just needs some improvements for changing workflow and payment status and so on.

Checkout
I'd like to see some more commenting and refactoring, but this would not be worth it since this code will be updated to a multistep form in D6. The great thing is that this was split from the cart module recently, and this was a great win for modularity - it's hence not a huge piece of code to maintain.

Cart
The cart module is a bit like ec_checkout, it's benefitted from being split up. But I think the code can be much tighter so I'm sleeping on it. Update: I've refactored it, fixed a lot of the html output issues, made the cart api much cleaner.

More reviews to come...

Also to come - code that should be moved to contrib.

e-Commerce Module

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: