Building Online Stores with osCommerce
Stephanie Brain writes "Have you ever considered building your own online store and entering into the booming e-commerce arena? If you have, you may have come across some of the many open-source software available for downloading from the Internet. One of the most popular of these is OsCommerce which has been developed since March 2000 and has a full team of staff dedicated to its development. It is overseen by the founder, Harald Ponce de Leon and today there are around 6000 live, registered OsCommerce sites and 70000 registered community members, many of whom are active on the OSC forum you can log on to. This forum can provide a wealth of information when you come up against any obstacle when developing your own OsCommerce website." Read the rest of Stephanie's review.
Building Online Stores with osCommerce: Professional Edition
author
David Mercer
pages
372
publisher
Packt Publishing
rating
9
reviewer
Stephanie Brain
ISBN
1-904811-14-0
summary
Practical guide to building online stores with osCommerce
Back in October I started working with someone who had already downloaded the OSC software and had the basis of an online store installed. I will be running the store, however my first task was to change the whole look of the site and make improvements to it before launching NetTechShop properly. Having read the OsCommerce blurb which promotes the simplicity of using OSC, I felt sure that I could quickly get to grips with the "simple" programming language of PhP and HTML and have the site ready in a month or two. I was sadly disappointed! By the end of November last year I was getting desperate, having spent hours making modifications to the coding on the database only to either break the site completely or find it had not made one jot of difference to the look of the site. I searched in vain for OsCommerce For Dummies.
My pain was somewhat relieved when I discovered that a book was going to be published on OsCommerce by Packt Publishing and I put my order in immediately and breathed a great sigh of relief.
Strangely such a book has been lacking until now. You can find plenty of books about Php programming and MySQL or HTML, but try to find a book which is easy to understand for someone with less than a University or College IT qualification background and about OsCommerce in particular and you will search long and hard.
David Mercer's book is the book you have been looking for and is available in either a beginner's or professional edition. It is written in a straightforward, easy to understand manner, yet does not compromise on technical knowledge and provides all the essentials of getting your website up and running with OsCommerce.
The book covers: installing MySQL, PHP, Apache and OsCommerce and testing them, configuration and customization of your store, working with data, taxes, payment and shipping, securing your store, installing more advanced feature using contributions from the OsCommerce website and deployment and maintenance of your site.
Before going onto the technical aspects and explanation of OsCommerce, Mercer explores the whole area of e-Commerce, what is required of a website store to make it a success, the arguments for using an open-source solution such as OsCommerce and the decision making issues any business faces when deciding if OsCommerce is right for them.
This manual was everything I hoped it would be and with its many illustrations, including screenshots of the files you will be changing on an OsC website, I found that anyone with even the most basic understanding of website design, would be able to get to grips with designing a website store using OsCommerce. I had the professional edition and found it really easy to just dip into when I needed to know some aspect of the design process. The book's content is well laid out, in manageable chunks with bold headings, which are clear about the content and the index is comprehensive.
One of the things I really liked about the book was that it addressed the problems, error messages and frustrations you are likely to come up against in the process of building your OsCommerce site. Those were the things that made my head spin the most before I got the book and although you should be able to find out about many of your error messages and problems on the OsCommerce forums, it can take quite a time to search and plough through all the replies. It is much better to find the most common problems in one place with practical solutions.
Another important chapter which is covered in depth is the installation and testing of a payment module. The most popular of these, Paypal is covered in the book and detailed instructions are given on how to get it working correctly, again something which sounds easy on paper, but can cause endless problems if you do it wrong. There are other payment providers and gateways which can be integrated onto your OsCommerce site by installing other so-called "contributions" from the OsCommerce website and Mercer explains fully how to download these contributions and get them functioning correctly.
I am sure that this book will prove to be an essential resource for anyone contemplating starting an online business with open-source OsCommerce software and hopefully will avoid them spending wasted energy in the initial stages just trying to figure it all out. After I received my book, the only wasted energy I spent was wondering why the front cover was emblazoned with juicy oranges!"
You can purchase Building Online Stores with osCommerce from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Back in October I started working with someone who had already downloaded the OSC software and had the basis of an online store installed. I will be running the store, however my first task was to change the whole look of the site and make improvements to it before launching NetTechShop properly. Having read the OsCommerce blurb which promotes the simplicity of using OSC, I felt sure that I could quickly get to grips with the "simple" programming language of PhP and HTML and have the site ready in a month or two. I was sadly disappointed! By the end of November last year I was getting desperate, having spent hours making modifications to the coding on the database only to either break the site completely or find it had not made one jot of difference to the look of the site. I searched in vain for OsCommerce For Dummies.
My pain was somewhat relieved when I discovered that a book was going to be published on OsCommerce by Packt Publishing and I put my order in immediately and breathed a great sigh of relief.
Strangely such a book has been lacking until now. You can find plenty of books about Php programming and MySQL or HTML, but try to find a book which is easy to understand for someone with less than a University or College IT qualification background and about OsCommerce in particular and you will search long and hard.
David Mercer's book is the book you have been looking for and is available in either a beginner's or professional edition. It is written in a straightforward, easy to understand manner, yet does not compromise on technical knowledge and provides all the essentials of getting your website up and running with OsCommerce.
The book covers: installing MySQL, PHP, Apache and OsCommerce and testing them, configuration and customization of your store, working with data, taxes, payment and shipping, securing your store, installing more advanced feature using contributions from the OsCommerce website and deployment and maintenance of your site.
Before going onto the technical aspects and explanation of OsCommerce, Mercer explores the whole area of e-Commerce, what is required of a website store to make it a success, the arguments for using an open-source solution such as OsCommerce and the decision making issues any business faces when deciding if OsCommerce is right for them.
This manual was everything I hoped it would be and with its many illustrations, including screenshots of the files you will be changing on an OsC website, I found that anyone with even the most basic understanding of website design, would be able to get to grips with designing a website store using OsCommerce. I had the professional edition and found it really easy to just dip into when I needed to know some aspect of the design process. The book's content is well laid out, in manageable chunks with bold headings, which are clear about the content and the index is comprehensive.
One of the things I really liked about the book was that it addressed the problems, error messages and frustrations you are likely to come up against in the process of building your OsCommerce site. Those were the things that made my head spin the most before I got the book and although you should be able to find out about many of your error messages and problems on the OsCommerce forums, it can take quite a time to search and plough through all the replies. It is much better to find the most common problems in one place with practical solutions.
Another important chapter which is covered in depth is the installation and testing of a payment module. The most popular of these, Paypal is covered in the book and detailed instructions are given on how to get it working correctly, again something which sounds easy on paper, but can cause endless problems if you do it wrong. There are other payment providers and gateways which can be integrated onto your OsCommerce site by installing other so-called "contributions" from the OsCommerce website and Mercer explains fully how to download these contributions and get them functioning correctly.
I am sure that this book will prove to be an essential resource for anyone contemplating starting an online business with open-source OsCommerce software and hopefully will avoid them spending wasted energy in the initial stages just trying to figure it all out. After I received my book, the only wasted energy I spent was wondering why the front cover was emblazoned with juicy oranges!"
You can purchase Building Online Stores with osCommerce from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
How come the books reviewed here are always rated 8, 9, or 10? Some of them must surely be shittier than that.
Hell is not other people; it is yourself. - Ludwig Wittgenstein
But I last used osCommerce back in it's 2.2 days (t o build http://www.gamefest.com/ ). Doing modifications to the PHP / mysql code was absolutely painful. Horribly painful. There was hardly any separation of logic from the presentation. It was all a jumbled mess.
Then I discovered http://www.rubyonrails.org/ and life is now good!
With Yahoo stores, Ebay stores, Amazon shops, most SMB retailers will partner with them for their shopping cart needs. For the rest of us, this book is a good alternative.
For me, the biggest reason that I never got into websites that accept credit cards is because of the enormous amount of fraud that occurs. Maybe Google purchases will offer some protection without costing as much as paypal.
Religion for nerds. Stuff that really matters
I am still looking for pictures...
OsCommerce website
I'm a leaf on the wind. Watch how I soar.
Is it built in a way that lets it pass PCI Compliancy testing? That's a big deal since last year, and many of us with eCommerce merchant sites are still struggling to comply with the myriad of rules and restricts imposed by Visa and Mastercard.
:::: Mike Snyder
yah, the popularity of osCommerce and the realitive ease of install (much like phpBB) really lets this become a great hax0r target.
installed once, never updated... thats a recipe for disaster.. i know that if your admin was worth her salt, she'd be on the updates like stink on my underwear.. but alot of ppl who install these quick/easy web apps don't have the time/experiece to keep things update. YMMMMMMMMMMMMMMVVVVV
.cig
OSCommerce put a certain job I did way overbudget. It's open source and really nice, but a lot of features that are vital are only available through add-ons. Checkout without a registered account, multiple sizes of image previews (thumbnail, medium, large), a site map, and the use of different storefronts with one database were all aggravating. If they merged a few of the best contributions into the baseline, they wouldn't all conflict and drive people mad. There are a few companies that offer to merge in your desired features and from what I can tell it's a vital and necessary service. I can and will use oscommerce for future projects, but only because I have a solid baseline now. If I had the time and didn't need every little contract, I'd fork their work. It's great, but falls short in key areas and so far as I can tell isn't really moving fast feature-wise.
'nuff said.
Ok so maybe this should be an ask slashdot or maybe there is a past ask slashdot but I am here now, so here goes.
What is the simplest way of creating a small online store that can have a basket and use paypal, etc. I ask because
a friend who has a very specialized retail store wants an online presence as well. The look of his site is very
important, it must be clean simple and aesthetically pleasing.
Once it is up and running is it easy for a layperson to add / remove items?
This has all fallen in my lap, and I want to give my friend some good advice as the last
person he hired set up a shitty site in dreamweaver and took him to the cleaners for money.
I run and work with a lot of web development firms, and the out-of-the-box solutions for eCommerce are usually a nightmare - osCommerce included.
They do quite a bit, but they're a NIGHTMARE to customize to a particular site. Forget leaving it up to your designers to implement the layout -- while they do use Smarty templates (wise choice) for their frontend, the code is sloppy and difficult to work with.
osCommerce is great if you don't plan on modifying any code. Its really easy to set up and get going. However, if you plan on making large modifications to the code, you are in for a special treat! The code is a gigantic mess, very very painful to read. I had a customer that wanted to use osCommerce, but they wanted to make the site look like their old shopping cart, which was proprietary. Lets just say that it would have been easier for me to build them a new shopping cart from scratch then to modify osCommerce enough to make it work for them.
osCommerce is a mess. The best thing to do is opt for the fork, Zen Cart.
"Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
I have always preferred Interchange http://www.icdevgroup.com/ over osCommerce. It has a bit of a learning curve, but is so much more powerfull and flexible that it puts any other OSS eCommerce package to shame.
osCommerce to me has always seemed to me like a "Your Mom can set it up and maintain it" type of application. And therefore has many issues when you try to do more advanced types of layout and flow.
After hours of tinkering. I decided to go with a paid solution. I have been using Sunshop by Turnkey Web Tools for all of my e-commerce projects.
-- Brought to you by Carl's JR
OSC embodies pretty much everything that people say is wrong with PHP development. I'm sure they (the OSC devs) are a well meaning bunch, but if you ever want an example of spaghetti code, go download the source and book a week off. If you even consider using it, well good luck with altering the codebase in any significant way - you'll (almost literally) need it. What irks me most is that people will look at this and think that all PHP apps are this badly/painfully written. Believe it or not (and contrary to the general Slashdot line), with PHP5.1 it's actually really easy to write pretty good looking (from a programmers perspective), functional *and* maintainable OOP/MVC webapps provided you understand the above core concepts of OOP/MVC. OSC needs to be taken into a quiet room and shot, just like the rest of the old PHP4 apps.
This sounds pretty useful. However, the article only seems to give a link to a book. How about a link to the actual software please?
This space unintentionally left blank.
As bad as the bugs are in PHP, I'd have to say that the biggest thing you have to fear with ECommerce sites is badly written code in any language. A well written site in PHP is much better off than a poorly written site in J2EE. Most of the insecurity problems with ecommerce sites are due to bad coding, and not the underlying technology used.
Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
> 9 - Definitely read this book.
9 - Read the book if you are particularly interested in the subject.
< 9 - Avoid the book.
osCommerce seemed like a nice, easy, powerful solution when I decided to install it. Instead, it has been more of a pain than it's worth.
/admin/ ).
A store with no ability to do coupon codes? (Without massive modification, which can't easily be done if your store is already running)
I find it loses orders sometimes
I've never gotten shipping to work right - hard to do shipping cost per item (with different items having different costs) per country (or even, just North America v. International, per item).
Admin panel navigation is... strange, to say the least. Once you go into the pending orders, and leave, you can't then go back to just pending orders - you have to go to all orders (unless yous tart back on
Generally it's just inflexible, even with all the plugins you can put in.
-Daniel
"Have you ever considered building your own online store and entering into the booming e-commerce arena?"
...sigh...
Yes, until I realized I have nothing to sell. Booming or no, mine would be an empty storefront. Same with my blog and forum. PHP/MySQL/free software is great and all, but I find that it languishes unused and underutilized for the most part.
First off - I love osCommerce. I run a web store using it, have written several popular contributions and participate in the official forum. But the reviewer can perhaps be excused for thinking that there has not been a book on osCommerce before this - there are several. The problem is that Harald (or one of his minions) quickly removes from the forum any mention of any commercial product (book, add-on, service, etc.) relating to osCommerce other than those from his advertisers. Go to amazon.com and search for "oscommerce" - you'll get many hits.
Also censored from the forum is any mention of other cart software, especially those derived from osCommerce such as Zen Cart and CRE. Want to show how to interface osCommerce to a free API that also has a commercial version? Censored. Want to talk about your experience with a web host or SSL certificate provider? Censored. I once had an extended exchange with one of the forum moderators who seemed to equate "open source" to "one source".
In any event, osCommerce is "not for wimps". A lot of people think the same way the reviewer did - that you download it, install it, and have an instant web store suitable for your customers. It took me about four months the first time to where I had something I would be willing to let customers see, and another year before I learned enough about it to customize it for the particular business and create something of a unique look. (I'm a software engineer with more than 25 years of experience and twenty or so languages under my belt.) You need to understand at least basic PHP, and some familiarity with MySQL wouldn't hurt either. One of the worst features is that making changes to the overall "look" of an osCommerce store requires editing some thirty or more source files.
The current version of osCommerce was released three years ago. A small set of bug fixes was released last November. There has been ongoing work on a "Milestone 3" version that appears to introduce significant incompatibilities with the current and popular MS2. Personally, I'm skeptical that MS3 will ever be released, and even if it is, I think that most of the current MS2 users will ignore it.
Again, I love osCommerce. It is great software and I do what I can to support the community. If you don't mind getting your hands dirty, there's so much you can do with it and hundreds of user add-ons and modifications. You should also look at the derivatives such as Zen and CRE. (These are two that come to mind, there may be others.) But if the letters PHP scare you, then you're better off looking elsewhere.
No, it's is a "fork" in which much of the code base has been extensivly rewritten. But it's still crap next to Interchange
"Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
osC is great as long as you want to take what they give you out of the box and do nothing else. The moment you want a feature it doesn't have, or to change the look a bit, it becomes a nightmare. It is simply a badly designed web program as far as customizability/expandability. That's not to say that it doesn't have merit, many people don't care to customize anything, and want just a simple solution.
I'd liken it to phpBB and nuke/postnuke
Beware those who want to use OSCommerce, you better wait until version 3 is out, or else.
Current version (2.2MS2) is worthy of being designed by the Flying Spaghetti Monster: There are no tiers, SQL queries are embedded in the middle of HTML output - and there are tons of similar queries around different modules - so if you want to change one SQL, you'd have to SEARCH FOR and change ALL OF THEM. I'd recommend you to start using printf with the thing.
Also, the same php file is used for both displaying and validating input fields, and there are tons of duplicated functions across the whole thing.
OSCommerce apparently doesn't know that there is something called "associative arrays", and there is very little OOP in there, but most of it is used to implement very primitive data objects (which, btw, could be replaced with a single associative array).
If that wasn't enough, you can't search and modify input fields or tags, you have to use the predefined functions tep_draw_input_field, which aren't very user friendly either.
Some of the configuration variables aren't defined in PHP, but stored in SQL tables so you'd have to modify the original SQL or add new configuration variable manually if you want to add a field to a table.
The input fields for the admin section aren't stored in associative arrays, but are hardwired among the HTML code (which makes the html output functions a hinderance rather than a help).
So if you want a version that looks *JUST EXACTLY* like your typical OSCommerce site, and don't plan to add ANY NEW features, sure, go ahead, use the prefabricated store. But if you plan to add any field, table, or whatever,
I strongly advise to wait for v3, or to rewrite the whole thing using your favorite multi-tier framework.
Want to change the HTML? Good luck! The thing isn't standards compliant, and was written when nested tables were the norm. For spaces, there's the classical spacer gif consuming your bandwidth.
OSCommerce, is, IMHO, an example of "Open Source gone wrong". Instead of being the work of a community, with strategic planning and all that, it's the work of one man who did it his way, and later open sourced it.
As for security, the credit card info is stored unencrypted in SQL tables, and the admin section can only be secured via htaccess. That means the password is sent unencrypted unless you really know apache security and know to implement it the right way.
Thanks, but no thanks.
Simply because it's simple to write insecure code in PHP does not mean PHP is insecure. It's also terribly easy to write secure code in PHP. It's also easy to write insecure code in most other languages, PHP simply has a lower entry bar, akin to HTML, and so in addition to quality software you get . . . well . . . crap. But that's not the languages's fault. If you want contrasting examples of the potential for PHP security, check out PHP-Nuke (horrid) Drupal (far better). Drupal devs have actually been known to write code that patches over flaws in PHP itself, the few times they occur.
You are not the customer.
As bad as the bugs are in PHP, I'd have to say that the biggest thing you have to fear with ECommerce sites is badly written code in any language.
I have to disagree with this. What you're saying is "PHP sucks but everything sucks because you can write bad code there, too." Of course bad code can come in any language; the point isn't about other languages, it's about PHP and the serious lack of attention to detail.
The recent XMLRPC security flaw comes to mind -- that would have (probably) never happened in the python, perl or ruby communities because those communities are security-minded and therefore attracts like-minded people.
Put another way: PHP is sloppy and attracts sloppy developers to work on it.
Major credit card issuers like Citi offer one-time numbers for safe online shopping. Also, major credit card issuers will not hold you repsonsible for fraudulent charges (unless you made them).
We recently (five weeks ago) switched to a Zencart based storefront. For those who don't know, Zencart is an OSC fork.
Apparently Zencart is much cleaner than OSC, which makes me shudder in fear at the idea of OSC's source code.
I like nice, clean, documented, tested code.
Zencart is a mess. The documentation is close to non-existent, there are no comments, there's no MVC distinctions, we found several major security holes in a code audit before going live, weird little UI bugs abound (e.g. in the admin interface when you edit a customer's addr, you're *forced* to specify his phone number, or you can not proceed), there are places where code chunk A generates SQL, then passes it to code chunk B, which passes it to C, which *LOOKS AT THE SQL* and edits it, then executes it.
With code like this, try editing an SQL query just a little bit, and you get a complaint on a web page with error messages pointing to an entirely different place.
On the "security" topic, I note that once we got a demo of Zencart installed on a testing machine, with the tell-tale URL (<machinename>/catalog), I started noticing that a lot of the phishing spam I was receiving directed folks to <domainname>/catalog...yes, the phishers were using hacked OSC accounts, which they had (presumably) gotten into through SQL injection attacks on OSC.
This is not to minimize the work of the OSC and Zencart developers - either package is a huge improvement over nothing...but if you want to do surgery on the code, it's a disaster. At Technical Video Rental, we need to track individual serial numbers of copies as they go in and out, and we needed to present sets of videos in a certain way.
This work took two pretty darned good software engineers (me and the CTO of the company) about four man weeks.
I'm not going to say something inflammatory and stupid like "I could have written an operating system in less time", but four man weeks is a pretty major investment of time to do something fairly simple like this.
We're doing a lot of interesting stuff with the code base: we've spliced in WordPress for the corporate blog, I'm writing some AJAX stuff right now to allow customers to report problems with their orders from the order status page, etc.
There's a good chance that over the next 6-9 months we'll end up preserving the OSC/Zencart db schema and data (for continuity with the running site), and dumping major components of the package.
To boil it down: I give OSC / Zencart a grade of "C minus". It's like a decent looking house with a lot of rot inside the walls. As long as you're content to never look inside the cabinets or crawlspaces, you're OK, but once you do some poking, or decide to add an addition, you'll realize how much work you've got in store, and you'll start to wonder if you should just buy a new house.
The appeal of osC is the 2000 contributions that are available for free as extensions. Having helped several people set up stores with it, basically whatever customization people want, someone else has already made it and published it for free, so there has been a very low cost to get started with osCommerce for each store.
Still, I agree it can be painful and scary to work with. I miss automated test suite, like I'm using to building based on Perl's Test::WWW::Mechanize. It pains to me to hand apply a patch that doesn't come as a diff, but a series of instructions like "Around line 23, notice this code and add this line....".
In the short term, I support osCommerce for pragmatic reasons. For the longer term, I encourage developers to continue to build cleaner solutions from the ground up. For Perl, see Handel as a starting point.
I was able to get coupon codes up and running in less than a day on my heavily modified site. 'Massive' modification and changing a few files are 2 different things.
Shipping is nowhere near as complicated as it is for other sites. There are more than a few cart applications where stores just spout 'FREE SHIPPPING' because they couldn't figure out how some goofy table sytem. OsCommerce is a lot easier.
THe admin menu isn't the greatest, but so what? It's just a bunch of links so you can always create your own.
I've worked with at least 10 different carts and OsCommerce is by far the most flexible and easiest to set up/maintain.
D
(btw. buy something from http://www.dtmmovies.com/
The first, last, and only tech news site on the net
In the last month I have downloaded this software and spent countless hours building it from scratch. There is no template management system and everything is a mix of PHP and HTML. Every php file is a HUUUUGE collection of nested IF/THEN/ELSE's. I can't even imagine what the programmers were thinking. The image caching was also corrupting the images randomly. If you "purchase" a template like i did, its actually all the PHP files just rewritten. I ended up just scrapping it and moving over to x-cart last week. Yeah it set me back $400 but It must have 100x more features and also has 100x less headaches. It also uses smarty templates.
My company passed on osCommerce. When compared against other commercial products, the cost to customize osCommerce outweighed the purchase of a better, commercial solution. For us, that was http://www.elasticpath.com/. Everyone's mileage may differ but it seems like the most prevelant complaint about osCommerce is the unexpected cost to customize it. You're going to encounter this anywhere. Fortunately for us, spending money up front did decrease our overall costs.
Check out www.uscbookstore.com .. this site is based on oscommerce (with a ton of custom work under the hood) ... probably one of the largest OSC sites out there in terms of revenue (its in the millions). I built this with a team of grad students while working there. It was a bit to get up and going .. but after hacking it to fit our exact needs, it worked pretty well.
What language is interchange written in? What databases does it support?
Searched all over their homepage. Lovely demo, but nothing on language or database support anywhere.
I only look human.
My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
unusuable garbage
that was a typo. It should have read 4/5.
Do you even lift?
These aren't the 'roids you're looking for.
I played with OSC a long time ago and I walked away wishing I had those 2 weeks back. Recently I have been asked to play with it again and it's still not fun. I administer Better Bike Parts, Inc. http://www.betterbikeparts.com/ and it is a HUGE headache meeting customer needs. The code is almost impossible to understand.
Go with something like X-Cart. The $200 will be well worth it.
I have not read the book, but I'd like to comment on osCommerce. I had the questionable pleasure of setting up and customizing a shop using osCommerce. Installing - I admit - was a breeze, but what followed was the worst experience EVER.
osCommerce was programmed without any planning, thought or clue of anything; the code is hardly documented or commented. After a few weeks I started to understand how it all works, and believe me: I have never seen anything this big programmed so badly. I am talking about osCommerce 2.2 Milestone 2, which still seems to be the current version.
It starts with HTML: CSS is hardly used, most is inline - hard coded between the logic of course - and it is full of things like " " for horizontal or transparent gifs for vertical spacing. The level of table nesting achieved by osCommerce is beyond belief. Having four nested tables full of SPACES just to "indent" some text is not the exception, but the rule.
There is no template system (unless you call the ridiculous 'define' things they do for i18n a template system); logic and presentation are completely mixed, and a pain to edit thanks to some code lines which are several hundred characters long.
There is no abstraction layer to the database; most work is done directly using SQL. The DB layout is a nightmare, and the queries are painful to look at and even worse to work with.
Code is repeated all over; each and every page starts and ends with the same code. There's a reason people invented such difficult-to-grasp concepts as 'functions' or 'design patterns', but the osCommerce developers seem not to have noticed.
Extensions and patches are generally available as zip archives; incredible but true, the tools 'diff' and 'patch' seem to be unknown in the osCommerce world. The extensions/patches generally consist of a few PHP files and a README - often several pages long - saying things such as 'copy file a.php to catalog/admin/includes; then edit line 303 (the one after the long comment) of catalog/includes/classes/functions/some.file and replace every usage of 'x' by 'y'; then alter the table SOME_TABLE in MySQL...'. You get it.
There are tons of features - such as 'specials' or 'extras' and similar - which are integrated deeply enough to be a real pain to remove or deactivate if you don't need them; you'll have a hard time until you've rooted out the last trace of them.
osCommerce is a classical example of a program which started small (such as 'joe random hacker's simple and easy shopping cart'), and was then gradually 'extended' and 'patched' without foresight until it became the horrible beast it is now.
I will never do anything with osCommerce again. Ever.
Save yourself some money by buying the book here: Building Online Stores with osCommerce. And if you use the "secret" A9.com discount, you can save an extra 1.57%!
Although, I can not comment on osCommerce, I can comment on zen-cart.com (which I belive is built off of osCommerce).
I would definitely consider myself a beginner to php. I personally found that this was not important since the forums at zen-cart.com had specific answers to everything I needed to know to tweak my pages. They spell out the pages you need to modify and specifically which values need to be changed. I mean my grandmother could do that.
Now perhaps osCommerce does not have the community backing to give this type of feedback, and if that is the case then perhaps you should be looking at a different option.
Adventure City Tours
Flexible bare-metal recovery for Linux/UNIX
OsCommerce is crapware, that's right crapware. I did a mod for a client and their code is some of the sloppiest, dirtiest, unintelligble code I have ever seen. They need to learn some good developmental practices. I can't imagine how inefficient that code runs.
Please tell us more about BSD and Solaris. I didn't get enough in your other thread.
I've set up a Drupal store for a client. I've written patches for Drupal ecommerce.
Drupal is a well designed system. The ecommerce module is not in the core. It's an add on and for the most part it's also well-designed.
Drupal and the ecomm modules have pluginability as a key feature, which has lead to very quick development. However, I think that touting ecomm as a good offering is premature. It is improving very quickly, but it's not ready yet to compete with professional solutions. For instance - it only recently aquired a tax subsystem, it doesn't yet have a general purpose shipping choice module and the cart workflow is not polished.
If you need a simple store and you don't sell complex products, it's good enough for you at the moment. If you are thinking of something more complex and can wait a while, come and have a look now, and try it out in a few months time. You can find Drupal here and the ecomm module here.
As someone who has been involved in customizing several installations of OsCommerce, I can tell you that Oscommerce is one of the worst representations of what Open Source is "suppose" to be. Bluntly put, It is one of the biggest nightmares I have ever had the misfoturnes to work with. You encounter everything from maintainability headaches to security holes to plain ugly code. It is put together with chewing gum. Is there really no Open Source alternative to OsCommerce?
[alk]
I spent a couple of days getting Agoracart to run on FreeBSD (and even documented all of the errors I ran into: http://www.quest4.org/freebsd/agoracart_error_faq. htm [quest4.org]).
I thought it was really easy to get going and really easy for someone who didn't know HTML to get a basic shopping cart up and running.
In fact, I thought it would be a piece of cake for me to take care of the store, but have someone else, like our secretary, put together a product spreadsheet for me to simply import and have an instant, but actually nice looking, store. And the key part of that was, it was so easy to do, that *I* wasn't the one that had to compile the data!
How does OsCommerce compare to something like Agoracart?
Ron Paul
But look at the flaw in awstats, which is written in Perl.
Perl has this powerful open() function that not only opens files, but can start whole process pipelines.
Any cgi-bin written in Perl has to be very careful not to allow user-passed data to be used to construct pathnames for file opens without very stringent checking of bad characters in names, and this checking can be difficult in environments that support Unicode. Ask Microsoft.
Sure it may be that more Perl developers are aware of this than PHP developers are, but that does not make the problem less tricky.
Keep in mind Interchange grew out of a time when the web was wild and young, and pre-packaged e-commerce options were few.
These days, Perl's CPAN offers a tremendous amount more in the way of high quality building blocks for such a project, but nothing I'm aware of has been built with this approach with a feature-set that comes close to rivaling osCommerce. Handel is start, but only covers basic shopping cart functions now.
OSC may become something yet - if only because it's garnered so much interest. As we see open source projects hit the mainstream running (Thunderbird, Firefox, Open Office, GAIM, etc. etc.) you see developers taking a lot of pains to turn them into a much more clean and desirable product. Maybe someone coordinating OSC will say "time to clean this shit up" and put in a serious effort. Or, maybe, like so many OSS projects that become umaintainable or are replaced by better solutions, it will taper off and die.
...for my live store, thinking that with all the hubba-loo about OS these days that some decent solution existed for a simple e-commerce site, and my $0.02 is that OSC beats Agora out-of-the-package hands-down. I've actually just finished coding a OSC "module" (zipcode shipping) that, believe it or not, uses a pretty nice, OOP-based interface to "plug" into OSC, and it wasn't really that bad to do.
Now, to be sure, trying to mess with the core spaghetti is one heinous nightmare, as I am finding out now. Coming from a 20 year C/C++/OOP background I at first could not believe the whole basis of PHP (un-typed vars and not only lack of prototyping but complete disdain for it) could exist in a modern programming language that *seems* so popular nowadays...every time I edit a file I can't help but think "WARNING WARNING VB-Alert! VB-alert!", because that is what the codebase looks like, like some amateur corporate-weenie type who tried to move from his crappy support job by picking up a VB book and creating some half-assed app that did something somewhat useful, and then was left there for others to hack away on.
Harold is promising some sort of rewrite in v3 that address these issues, but for whatever reason ($$$) he is really not following standard "OS" practices with the new version, keeping it locked up from potential developers who could help get the mess under control (like me)...
A few months ago, I was asked by a client to develop an e-store using OSCommerce.
After looking at what the client wanted and what OSCommerce offered, I recommended going with Drupal instead. Admittedly, the e-commerce side of Drupal wasn't as robust as what OSCommerce offered, but Drupal's superior API, highly-customizable theming engine, and well-documented codebase made it the preferred choice IMO. I had to write some custom code to support the e-commerce options the client wanted, but it didn't take more than a few days.
After reading everyone else's painful experiences with OSCommerce, I'm doubly glad I avoided it.
(And for those who care, the store is here.)
--R.J.
Electric-Escape.net
If you have or work for a small company with some items to sell, OScommerce might fit in perfectly. Any cart you choose you have to customize, the few hours it will take to figure out and implement the changes you'll need in OSC are not as daunting as some would have you believe. Maybe the coding is a mess, but I wouldn't know as I don't need to know, the cart just works. Whether it's beautiful or ugly code doesn't matter to the non-developer, we just want something that does the job, you get no points for how you accomplish the final objective. All I need to know is how to make it work and maybe add a few modules/features to do something different. The fact that the forums are busy is a good sign, other people are trying out the software and sharing what worked for them. You are very likely to figure out a problem with the help you'll get there. Not every site has to be completely unique, sometimes you just want to make it easy for the public to buy widget #2 from an online shop. EL CHAVO!
Es que se me chispotio!
I just read that osCommerce's overall design is hard to change...
ie, without having to fiddle with over 10 source files.
So, I wonder if osCommerce may not be utilizing the magic of CSS?
Cf: http://www.csszengarden.com/
I continue to be impressed (when not amazed) how much a CSS change
can influence a site's look, if not its feel...
Dear All, We have created a fork off osCommerce specialising in service based eCommerce but it works quite well for plain old product sales as well. Things are going well. You should come and see what we have done. www.oscommres.com (OS Commerce Reservations). Last week we released ticketing and ID cards. The month before, a full Subscription module with fancy eMarketing suport. We are close to completing the mother of all shops where you can by a product or a service like a car service and have all the marketing bells and whistles to support those sales. At osCommRes, we can't say we have completed a full rewrite to osCommerce but we are on the way. Right now we are in "an accommodation phase" with the osCommerce code but we have commited to a complete backend rewrite with lots of AJAX and MVC underlying it. We are gradually introducing AJAX into the front end too. Like everyone who has wrestled with the osCommerce code, we hate it. But osCommerce does have a lot of good extensions. We have incorporated many and like how we can add a payment module very easily etc. On one hand, we are doing things the hard way by hacking away at osCommerce, on the other hand, we are glad to have started with a shopping cart solution that did a lot of the core eCommerce functions. Just so you know, we have no relationship with the osCommerce development team. They ignore any offers of help or provide sponsorship. Recently, as part of our installer upgrade project, we decided to drop support for converting from osCommerce to osCommres and use an installer that will allow simple upgrades. Cheers, Damian Hickey