Monday, September 18, 2006

oscommerce is a beast

I want to continue to offer e-commerce at a reasonable price, and that reasonable price will not be tagged on oscommerce. Oscommerce will easily be double the price of any other shopping cart going forward. The program is a beast, and as long as it's been around, it's turned into a Frankenstein monster.

To extend the program through "contributions" requires hacking it to bits. I installed only one or two modules that installed without having to individually hand-edit program files, but note that these modules completely and utterly REPLACE files from the base oscommerce installation, just as the ones that required hand-editing rendered the program un-upgradable.

This is point #1 in being absolutely and utterly unable to upgrade the package once installed and so-called plug-ins (read: hacks) are added.

This implies that oscommerce does not have "Hooks" - - no points at which contributions can easily be put into the program execution queue without disturbing the original files.

The templating of the program out-of-the-box is absolutely unforgivable. There is no separation of logic and design on the back-end of the program. Each are enmeshed within each other. One contribution forcibly ripped the template code out of the program code and separated them. I'm both grateful that someone went through the trouble and appalled that doing so was needed -- again this absolutely breaks the ability to upgrade the program.

I think I'm very spoiled by PmWiki. I never have to hack the program code to add a feature. Ever. That's Patrick's duty. Cookbook recipes (plug-ins) are kept separately from the program code. There are an abundance of program hooks to slip custom code into. The base install can be upgraded with or without the recipes being upgraded, with a minimal chance of breaking recipes, since the hooks serve as an API layer in the program, and rarely need to change how they behave.

I'm tempted to write in a shopping cart module, because oscommerce is the exact opposite of everything I've learned about a good, extensible and maintainable package.

I will be trying Zen Cart next. I now know enough about oscommerce to install it and even customize it, but I am not able, in any good conscience, to recommend it to a customer, and my price for installing oscommerce must be double what I thought it should be.

I have to apologize to the Frankenstein monster for having insulted him by comparing oscommerce to him. Oscommerce is far more of a hack than one body being combined with another brain.

[tags]e-commerce, custom programming, modules, open source, prices, programming, rant, usability, web applications, web standards[/tags]


  1. I'd be interested to hear about your trial of Zen Cart - I'm currently starting a project to evaluate oscommerce. I've had a quick look at the code, and it scared me for reasons you've already outlined - but still, if you can mold your clients' requirements around the default system configuration (don't tell anyone I suggested that) then surely you've saved yourself hours of development of a shopping cart facility, however if there is any gap between the default system config and what it needs to be then yes I can see that there would be some grief. So let us know if you find any better alternatives!!

  2. It looks like I may be using Zen Cart a lot sooner than I thought. I had a bug in OSC that may have been introduced while I added a plug in or created one of the many hacks I had to add to it. Regardless, it's such a mess of a program that I apologized profusely to my client and told her I'm going to install Zen Cart instead. I'm absolutely steaming furious at the moment however. So, how was your day?

  3. I gave up on Zen Cart when it hasn't really gotten out of the starting gate.

    1) it's a branch off oscommerce
    -- fyi, it's fixed the design vs logic issue, so at least there's that.

    2) fewer contributions. Given how broken the coupons module was for osc, I didn't want to fuss with their "convert OSC contributions" instructions -- the coupon code, along with it's discount code prerequisite, would break the site. No way, thanks, keep the change.

    3) the one coupon module mentioned was $150. I'm not paying out of pocket and customers are coming to me to be and remain cheap. It's not much of an open-source package if things I believe are vital core elements of a store are left out of the ecommerce package, then charged money for. Joomla has a serious problem with people charging for contributions. Again, PmWiki spoils me.

  4. I'd be very interested to get your feedback on carts at We're using the Drupal CMS as a development platform for a (hopefully) solid e-commerce package. We've been tied to osCommerce for too long ourselves, and the current e-commerce package for Drupal wasn't exactly what we were looking for. The project is still VERY much under development (only a week and a half of coding so far) and we're certainly planning on carrying it too completion. (As in, as long as I'm getting paid, I'm there to stay. ; ) So, stop by and give us some feedback, tear the options to shreds, and help us make a useful cart.