845-820-0262
Middletown, NY
info@eclectictech.net

September 18, 2006

oscommerce is a beast

Filed under: Information, Programming, Services, Technology — Crisses @ 6:30 am

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]

5 Comments »

  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!!

    Comment by Nathanael — September 18, 2006 @ 9:49 am

  2. Thanks for the comment, Nathanael.

    I want to please my customer. For goodness’ sake I’m in the business of service, quality keeps me in business, I’m a sole proprietor, I want good references, et. al. I’ve been a hacker and coder for over 20 years (ok — since 15, I’m 37). I’ve been fooled by many well-written open source programs into thinking that these programs are about collaboration, team effort, allowing users/other programmers to code between the lines, to extend the work, to add functionality that I just don’t have the time for.

    I’ve programmed on PmWiki plug-ins — I’m working on one right now to extend the mysql user authentication (intended for single-sign-in with other systems) to be stand-alone. That means I’ve programmed it to include user account creation, emailing the user a validation code, validating the user, allowing users to change lost passwords, etc. I haven’t had to touch a single line of core PmWiki code. I haven’t even had to LOOK at it. Barring configuration variables to be added to a config file, everything is self-contained in the one php file, and everything I needed to hook into PmWiki was already in the code I’m altering. Everything.

    I’m embarrassed for oscommerce. I’ve dug through it enough that I have an idea of where to find the files I need to hack, as needed, but any program that takes me an hour to add a “contribution” to because I have to hand-edit files has got serious problems.

    I’ll give you an oscommerce mixed blessing. Try out Basic Template Structure. It has to come with a HUGE disclaimer, however: DO NOT use it if your primary goal is function over design. If you have a client who insists on THEIR design and that’s the primary concern, it’s going to save you more than only hours. If you need to add plug-ins, realize that this contribution entirely(!) replaces a good 40% of the OSC back-end — moving all the design code OUT of the program code… and makes it almost EASY to redesign the site. However, when you add plug-ins back in, you may replace some of these files, or need to hunt down the files in question (command-line fgrep is my friend!) to find where portions of the code or design have been separated.

    I added this hack um Contribution to the osc site I am currently installing for a customer. It made the design FAR easier. I had hacked SOME of the out-of-the-box design, then realized that portions of the design code are spread out in about 30 files…much of which is near-identical design. And it’s not something that you can just CSS away.

    However it complicated adding contributions such as the discount/coupon packages later.

    I’m considering adding Zen Cart to eclectictech.net and putting up a list of the package deals I offer for sale. If I do, I’m sure to need to change design elements and maybe hack a thing or three. I’ll be sure to put up a review, and I’ll try to remember to notify you!

    Comment by Crisses — September 18, 2006 @ 10:41 am

  3. 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?

    Comment by Crisses — September 22, 2006 @ 11:02 am

  4. 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.

    Comment by Crisses — September 23, 2006 @ 12:35 am

  5. I’d be very interested to get your feedback on carts at ubercart.org. 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.

    Comment by Ryan — October 16, 2006 @ 3:22 pm

RSS feed for comments on this post. TrackBack URI

Leave a comment

Web creation, hosting & design
by Eclectic Tech, LLC