I have downloaded UC cart - Ubercart module , e-Commerce and osCommerce module for drupal.
Any one who has worked on these modules , please suggest which is the best to use for a normal shopping cart feature to be enabled in a drupal site.

Many Thanks

Santy

Comments

bwv’s picture

I have used all three and have settled on Ubercart. Easy to set up and lots of option. Most importantly, a very supportive community at ubercart.org.

----------------------------------------------------------------------
http://music.bwv810.com
http://classicvinyl.biz
http://davidhertzberg.com

I am a writer, researcher and solo drupal freelancer.

d6-nerd’s picture

Thanks David.

Wow , really nice, your site looks great.
By the way. does all the 3 url mentioned works on Ubercart.
In which version of drupal the site works. d 6.x or d 5.x
Apart from the main module ubercart-5.x-1.4.tar.gz , any other supporting module on ubercart is used.
I mean any ajax cart. Also can I be able to add to cart and check out in this site you have mentioned.
Can you please mention what all supporting modules are used in ubercart

Many Thnaks

Santy

bwv’s picture

Hi Santy, thanks, but it still needs a lot of work. ;-)

The record store is a drupal 5.10 installation, with Ubercart at the heart of the operations. As of now there is no fully operational Ubercart system for drupal 6.x, although I understand intense development work is ongoing.

Please visit Ubercart.org and you will be able to find the complete list of modules that need to be uploaded to get ubercart to work or visit the module page here: http://drupal.org/project/ubercart.

I will politely decline to engage in a polemic about one cart over another, nor will I denigrate one at the expense of another. All I can say is that based on my experience working with the developers of Ubercart, and in particular given the level of high-profile external support for the project, it is -- without a doubt -- the wave of the future.
----------------------------------------------------------------------
http://music.bwv810.com
http://classicvinyl.biz
http://davidhertzberg.com

I am a writer, researcher and solo drupal freelancer.

Phillip Mc’s picture

I've tried all three and in all cases I ended up going back to Drupal eCommerce.

Ubercart is essentially a fork (a copy) of Drupal eCommerce with a few tweaks on top. I only realised that when I started looking through the ubercart code. The filenames, structure, database framework and code is almost identical. That said, it is easier for newbies who aren't fussy about how their shop works, to get up and running.

Note: one ubercart feature I really didn't like was the way the ubercart modules sent sales information from your shop to the ubercart site in the background. It's an opt-out option, in other words, it's automatically switched on when you install ubercart and it's not obvious when you're installing it. It should really be an opt-in option.

I would recommend Drupal eCommerce version 3.x-dev for a live site if you want flexibility and features..........if you can wait a few weeks, Drupal eCommerce Version 4 will be available and it's a complete bottom-up re-write of the entire Drupal eCommerce suite of modules. Hence the recent delays in releases.

Because ubercart is essentially a copy of the 'old' Drupal ecommerce framework and code, unless they do a complete re-write of ubercart, you'll be stuck with 'old' code.....so to speak. The reason Drupal eCommerce is going through a re-write is because it has been around the longest and the development team, over time, realised that there was a far more efficient way of doing things.

It's been a pain for the last few months as Drupal eCommerce goes through the re-write, but, having seen early demos of version 4...it will be well worth the wait.

rszrama’s picture

Hey Phillip,

While I appreciate you trying to help folks out in the forums here, I do need to make two corrections.

First, it is a common misconception that Ubercart is a fork of any version of Drupal e-Commerce. This simply isn't true, and it's readily apparent to anyone looking through the modules. I'd be happy to walk through them with you to show that there's simply no correlation beyond some similarities in the shopping cart and maybe order tables since most e-commerce systems use the same relationship of order information to products on an order. If you're not convinced, I'd be happy to chat about it in IRC, but again... this is simply a falsehood. I've seen it before and can personally vouch for myself and Lyle as having spent the last two years doing what we do without copying old projects' code. (If my word isn't enough, there are plenty of other developers who have been a part of the coding or have known us as we've worked on it I can refer you to.)

If you want to compare file structures, look here:

e-Commerce in CVS: http://cvs.drupal.org/viewvc.py/drupal/contributions/modules/ecommerce/?...
Ubercart in CVS: http://cvs.drupal.org/viewvc.py/drupal/contributions/modules/ubercart/?p...

You will find very few similarities except overlap in common areas. The way our hooks work is completely different. The way the checkout form is generated and orders are processed is completely different. The way order administration works is completely different. Some features are built into Ubercart that aren't in e-Commerce (like anonymous checkout, which is ec_anon in e-Commerce) and vice versa. Some are wildly different so as to make comparisons nigh impossible, like e-C subproducts vs. UC attributes. Simply put... I don't see how you could've looked through the code and decided UC was anything close to e-C, much less a fork of 5.3. (Remember, UC started out in Drupal 5, so it couldn't possibly have been a fork of any 4.7 version.)

Sorry for the long windedness here, but I really want to put this rumor to death.

The second issue is minor, but the whole sales data thing hasn't been around for a while. I pushed to get that removed along w/ the mandatory store footer that folks used to have to theme out. You can actually see a preview of what gets POSTed to the UC site if you have the reporter turned on. It's little more than version information used for install statistics and can be easily turned off. In other words... it's gathering less information than the Update Status module sends to drupal.org every cron run. ; )

So... that's all for now. To be a little on topic... I'd obviously recommend Ubercart for anyone's use. : ) The forum support and community are excellent to work with, and development keeps moving forward. We'll be up on Drupal 6 shortly and have a good network of developers. If you're looking for professional services to help get your Ubercart store to completion, there are plenty of folks around to help, too.

----------------------
Drupal by Wombats | Current Drupal project: http://www.ubercart.org

Phillip Mc’s picture

I *have* looked through the code and that's how I realised that Ubercart is a fork of Drupal eCommerce.

I should have realised when I saw the filenames, database framework and folder setup....but it was only when I ran into trouble and started looking at the code did I realise it was simply a fork of an old version of ecommerce.

I'm sure you can walk me through ubercart now and compare it to Drupal eCommerce...but, the problem is that Drupal eCommerce is going through a complete bottom-up, rewrite, so, of course it will be different to Ubercart. If you go back to an earlier version of Drupal eCommerce and the early versions of ubercart, it's pretty clear that it's a typical fork.

It's worth pointing out to newbies, who won't know that Ubercart is essentially based on an old version of Drupal eCommerce (which is going through a complete, bottom up overhaul and rewrite with Drupal eCommerce version 4)...and therefore will experience the same limitations of older versions of Drupal eCommerce.

In other words, the Ubercart framework and db structure is is the very same framework and structure that the Drupal eCommerce team have decided needs a complete overhaul.

That said, another ecommerce solution that maybe coming to Drupal soon is hopefully magento ecommerce, which is a superb ecommerce solution.

rszrama’s picture

I don't really understand why you'd think I'd lie about this. : ) I gain nothing by lieing, and I'm happy to refer you to others who have been a part of the development process to vouch for this fact. I can refer folks who have migrated from e-C to UC and they can vouch for the differences in database structures. Your accusations are vague, so I'd love to see some detailed analysis that tries to establish your point. I listed a half dozen or so things that were completely different, yet you still label it a copy. :-/

I wrote about half of Ubercart and Lyle wrote the other half with some help from a few other developers writing modules, reviewing, and patching. In fact, you can see a lot of the history of this in the issue tracker and forums at Ubercart.org. The CVS links I supplied were to the 3.x version of e-C, i.e. the one you're saying we forked. Check the version string if you didn't notice it.

There simply is no fork, nor has there ever been. I won't reply any further to this thread, but your response is more than a little disconcerting.

----------------------
Drupal by Wombats | Current Drupal project: http://www.ubercart.org

mikejoconnor’s picture

Phillip,

Could you please provide some examples of how Ubercart is a fork of ecommerce? I would be very curious to know. I have worked with both systems, and developed for both systems. They have very fundamental differences.

  • In e-Commerce, and any node can be any type of product. In Ubercart a content type is a product
  • Ubercart has a one page checkout, with panes to output data to areas on that page. e-Commerce has a multi page checkout
  • Ubercart has a user controllable tax systems using workflow-ng. Ecommerce doesnt.

I would really appreciate seeing the similarities you have found within the two systems.

plainprogrammer’s picture

I don't know what else to say other than you just don't know what you are talking about. Looking through the repository history reveals that while there may be similarities at points Ubercart is not a fork of eCommerce. Some of the core module names are similar (ecommerce/store vs. ubercart/uc_store, etc.) but similarity in a module name is meaningless. Even similarities in a given database structure, do not make one project a fork of another. A fork requires a common development and repository history, that just doesn't exist. Shared code is what defines a fork and the repository history doesn't bear that out.

Just look at the CVS history for ubercart/uc_store/uc_store.install as compared to any of the revisions of ecommerce/store/store.install. They don't even bare a fleeting similarity. They don't even come close to setting up the same database structure and this is the core module for both projects. If Ubercart was a fork you would expect the .install file to bear at least a slight resemblance to old versions of the equivalent file in the ecommerce project. But examination reveals that they don't. You are either 1) intentionally lying for some reason, 2) ignorant of the facts involved, or 3) crazy for holding to demonstrably false statements as though they were true.

Your assertions of Ubercart being a fork of ecommerce make no sense and do not fit with the facts that are open for all to review via the CVS revision history.

You sir...are dumb!

bwv’s picture

Rather than cast aspersions, it is more useful -- and possibly enlightening -- to remind readers of this forum of the phenomenon known as the "big lie," a propaganda technique that was developed, refined, and implemented during WWII by certain axis powers. The operating premise of the "big lie" is if you repeat something enough -- usually in a mind-numbing, pathologically relentless fashion -- people will begin to believe it, no matter how outrageous it is, and especially in the absence of dissenting voices. Fortunately, we are blessed with an ample supply of the latter. In the 21st century, there is simply no excuse for outright fabrications to go unchallenged.

----------------------------------------------------------------------
http://music.bwv810.com
http://classicvinyl.biz
http://davidhertzberg.com

I am a writer, researcher and solo drupal freelancer.

plainprogrammer’s picture

Starting down the rabbit trail...

Lyle and Ryan already know this. I'm a jerk. Not constantly, but in the face of certain things I go for the cheap rhetorical shots. I don't have much patience for those who would deliberately or through ignorance say things that are wrong, and I tend to think they are deserving of scorn and ridicule.

Shoot the rabbit...kill!...kill!...kill!

bwv’s picture

...Which brings up another aspect of UC which we should mention in the positive attributes column:

Brand loyalty.

LOL

----------------------------------------------------------------------
http://music.bwv810.com
http://classicvinyl.biz
http://davidhertzberg.com

I am a writer, researcher and solo drupal freelancer.

Phillip Mc’s picture

Of course you can pick out differences between ubercart and Drupal eCommerce now....Drupal eCommerce has undergone a complete, bottom-up, re-write. Ubercart is a modified copy of a much earlier version of Drupal eCommerce. You would have to go back quite a few versions to see where the fork occured, jwthompson.

It's inevitable that ubercart will be different to Drupal eCommerce now.

The key thing to understand here is that the Drupal eCommerce team realised that they needed to change the underlying framework and structure of the Drupal eCommerce system - a root and branch overhaul that means the new version of Drupal eCommerce won't have the limitations found earlier, older versions of Drupal eCommerce....i.e. the same older versions of Drupal eCommerce Ubercart is, essentially, a modified copy of.

Island Usurper’s picture

Ubercart is a modified copy of a much earlier version of Drupal eCommerce.

Prove it. And I want specific version numbers with code examples (at least 3). No hand-waving allowed.

Phillip Mc’s picture

download an early version of Drupal ecommerce (pre version 3.x) and an early version of ubercart.

Example (1) Functionality has been replicated - check it for yourself.

Example (2) features have been replicated - check it for your self

Example (3) design methodology has been replicated - check it out for your self.

Example (4) code has been copied - the ubercart team have admitted that they copied drupal ecommerce code when they were forking the project

What's astonishing is how similar the two projects are under the hood. It's truly shocking. I estimate that the functionality is about 95-99% identical. the features are about 95-99% identical and the design methodology is so similar, don't be surprised if you forget which version you're looking at, when you're rummaging through the code.

Visually, the only noticable differences are the admin and checkout pages...which are essentially theming differences.

Like I said earlier...what's very frustrating about this is that the Drupal eCommerce team identified key weaknesses in the design methodology of Drupal eCommerce and have spent the last year re-writing from the bottom up the entire Drupal eCommerce suite. That would have been much easier, if the project and the Drupal ecommerce developer & user community wasn't forked by Ubercart.

Ironically, Ubercart has those design flaws, so at some stage, the Ubercart team will have to revisit their code!!

Ubercart forking Drupal eCommerce has already impacted on the Drupal eCommerce project - because of the split in the development community and user base, there hasn't been the same level of support/patching/bug fixing etc. over the last period than there normally was.

hopefully, with the release of Drupal eCommerce version 4, the more intelligent developers will understand that the smarter way forward will be to *NOT* replicate functionality, features and code.

What's the point in replicating the development, replicating the testing, replicating the bug fixing,replicating the patching of 2 shipping modules and 2 plugins for UPS/DHL for Drupal or 2 payment gateways for google?

The *smarter* way forward is to have a core Drupal eCommerce framework that allows for add-ons i.e. the opposite of what Ubercart have done.

Or in the words of an Ubercart developer:

Open Source Development and how NOT to do it

I'll admit: I'm part of the problem. I develop for ubercart, which is a fork of ecommerce.

The Drupal eCommerce 4 framework is nearing completion soon...

bwv’s picture

The onus is on you to provide the code examples. Show us, please.
----------------------------------------------------------------------
http://music.bwv810.com
http://classicvinyl.biz
http://davidhertzberg.com

I am a writer, researcher and solo drupal freelancer.

Phillip Mc’s picture

The onus is not on me to provide any code examples, bwv. Why don't you ask the ubercart team?

here's the facts:

Example (1) Functionality has been replicated - check it for yourself.

Example (2) features have been replicated - check it for your self

Example (3) design methodology has been replicated - check it out for your self.

Example (4) code has been copied - the ubercart team have admitted that they copied drupal ecommerce code when they were forking the project

I estimate that:

functionality has been replicated by between 95-99%.
features have been replicated by between 95-99%.
design methodology has been replicated by same.

In fact, the only visual differences I can see is with the admin, checkout and maybe the shipping. Apart from that..it's like an older Drupal eCommerce installation.

bwv’s picture

You make a claim, then fail to provide the evidence to support it. This is not a credible position by any reasonable standard. Feigning surprise does not remove the burden on you to supply evidence of your assertion.
----------------------------------------------------------------------
http://music.bwv810.com
http://classicvinyl.biz
http://davidhertzberg.com

I am a writer, researcher and solo drupal freelancer.

WorldFallz’s picture

Example (1) Functionality has been replicated - check it for yourself.

Simply a statement without proof #1

Example (2) features have been replicated - check it for your self.

Simply a statement without proof #2

Example (3) design methodology has been replicated - check it out for your self.

Simply a statement without proof #3. This one is particularly amusing because when someone did precisely this and showed you with a diff that you were incorrect-- you said it was nonsense.

Example (4) code has been copied - the ubercart team have admitted that they copied drupal ecommerce code when they were forking the project

And finally, again, simply a statement without proof #4

Once again, a lot of hot hair with nothing to back it up. And I have checked for myself and found it to be thoroughly untrue-- as have others. The burden of proof is on you-- it's your assertion, no one else's, just yours-- which you to continue to espouse in spite of the proof to the contrary, therefore the burden of proof is on you. Merely repeating your statements and claiming them as evidence is not only false, it's moronic.

It's now bordering on the ludicrous-- for the amount of time you've spent blustering on and on and repeating the same empty statements over and over again you could have easily come up with actual evidence were there any. And yet, here we are again, evidenceless assertions that are no more true now then the first time you said them.

===
"Give a man a fish and you feed him for a day.
Teach a man to fish and you feed him for a lifetime."
-- Lao Tzu
"God helps those who help themselves." -- Benjamin Franklin
"Search is your best friend." -- Worldfallz

plainprogrammer’s picture

Go to cvs.drupal.org and look at the oldest revision of ubercart/uc_store/uc_store.install (Revision 1.1 on HEAD from March of 2007) and then compare that to any revision of ecommerce/store/store.install going back until even 2006. They are vastly different. But don't bother, I've done the work for you:

Revision 1.1 of uc_store.install (Mon Mar 19 22:59:42 2007 UTC) vs. Revision 1.20.2.1.2.16 of store.install (Sat Feb 24 13:00:23 2007 UTC)

Here's the diff: http://pastie.textmate.org/private/ng21ckvjypqhpfju4hpaa

The diff is 828 lines long, the total length of both files compared is 868 lines...The similarities are so few (mostly whitespace and case statements) that to declare these files to have a common ancestry is insane. You can go back as long as you want in the revision history and the similarities just don't materialize. If you've looked at the code like you claim you have you need to cite the commonality and support your assertion that Ubercart is a fork by citing CVS or other version control system revisions as evidence.

Your assertions just don't square with the facts at hand.

Phillip Mc’s picture

I don't know why you're continuing with this - the plain and simple fact is: Ubercart is a fork of an older version of Drupal eCommerce. Get over it.

Picking up just one file from the cvs and running a diff is pointless. What did you hope that proved?

Ubercart originated via a client project that needed Drupal eCommerce modified...which is not unusual - the way Drupal ecommerce is designed, it's very flexibile and there are probably thousands of modified versions of Drupal eCommerce in use today - the difference is that when when that particular ec modification project was finished, it was decided to release it as a new module, called Ubercart, to the community, rather than combine the good bits into ecommerce.

Thankfully, most Drupal developers don't think that way. Otherwise we would have hundreds of Ubercarts and hundreds of duplicate modules.

Or in the words of an Ubercart developer:

Open Source Development and how NOT to do it
I'll admit: I'm part of the problem. I develop for ubercart, which is a fork of ecommerce.

I have taken a look at ubercart and for your information: I can read very well, thank you very much.

When you look at a recent version of Ubercart, like I have, it's very clear that it still has the broken design methodology that exists in v3.x and earlier versions of Drupal eCommerce.

For newbies stumbling across this "ubercart is not a fork" drivel, Ubercart is a very good ecommerce solution for Drupal, but it's worth noting 2 key points if you're thinking about which ecommerce solution to use:

  1. Because Ubercart started out as, essentially, a modified version of Drupal eCommerce, it still has the broken design methodology that exists in Drupal eCommerce 3.x and earlier versions.
  2. Drupal eCommerce version 4 - which is nearing completion - is a complete rewrite of the Drupal eCommerce system and has a new & improved design methodology that is far more efficient. However, if your project cannot wait a few weeks for Drupal eCommerce version 4.x I suggest you run with either the most recent version of Ubercart or Drupal eCommerce version 3.x-dev.

hope that helps

plainprogrammer’s picture

Cite some code. Unfounded assertions don't prove your point. You need to produce evidence and cite the code. The oldest revisions of Ubercart do not bare a significant resemblance to Ecommerce in ANY incarnation or version. You fail to cite either of the core developers and instead cite a person who's only contributions to Ubercart have been some PostgreSQL patches, some of which didn't even work. Ryan and Lyle are the canonical sources for the origins of Ubercart since they wrote it and are the current maintainers. I control the server that the Ubercart Bazaar repository is on and I know what the history of the project is, beyond what is even in the Drupal CVS tree, and even that Bazaar repository is open to public inspection.

Do your homework or go away, you are spreading lies either intentionally or out of your own ignorance regarding the matter. There was no client that initiated the development of Ubercart as a customized version of Ecommerce, you don't know what you are talking about, or you are willfully deceiving people. The history of Ubercart is made public on the Ubercart site:

http://www.ubercart.org/docs/user/85/introduction_ubercart

Ecommerce was investigated and rejected as an option as a replacement for osCommerce. Ubercart is not a fork. Forking is a well defined and understood practice in development and Ubercart doesn't even come close to fitting into that category. Refer to my sources in this post:

http://drupal.org/node/312494#comment-1027428

You keep talking about methodologies but that is not the basis of a fork. Common code is the basis of a fork, and that doesn't exist between Ubercart and Ecommerce. Again, you either don't know what you are talking about and therefore need to stop or you are being intentionally deceitful and should be ashamed of yourself in addition to stopping. You need to backup your claims with code, get into the code repositories and prove your claims!

Phillip Mc’s picture

I think I've just realised why you keep going on about this.

Does the company that paid the guys to do the conversion from Drupal eCommerce to Ubercart have a financial interest in Ubercart?

That would explain why you keep going on and on about this and are trying to drag me into a code pi$$ing contest by throwing insults about. Nobody even needs to look at the code to realise that Ubercart was a FORK of eCommerce. Besides, doing a code comparison doesn't mean it is or isn't a fork, it's the bare fact that Drupal eCommerce already existed and Ubercart has clearly been designed based on eCommerce.

If you don't like the word FORK, try the word PARALLEL.

Or in the words of an Ubercart Developer:

Open Source Development and how NOT to do it

I'll admit: I'm part of the problem. I develop for ubercart, which is a fork of ecommerce.

And if you don't mind, I would prefer not to enter into a discussion with you about pedantics. There's a history of unpleasant and abrasive discussions centering around Ubercart and the Ubercart team.

plainprogrammer’s picture

In answer to your question of vested interest. No, the company that Ryan and Lyle work for in developing Ubercart does not have a present vested interest in Ubercart. We sell restaurant and refrigeration equipment not e-commerce services. And there was no conversion from the Ecommerce module because it was never used and was, nor is, not the basis for Ubercart development. Ubercart is not a significant source of revenue, which should be no surprise since it is Free and Open Source software. But even a business interest would be irrelevant to the FACT that Ubercart is not, nor has it ever been, a fork of the Ecommerce module.

I can accept your confessed ignorance of what a fork is. In development parlance a fork is when a common codebase is split, just like a fork in a road, to form two different but HISTORICALLY related projects. A fork occurs when development starts on two projects where only one used to exist and the projects share the SAME code history. Parallelism of functionality does not make a project a fork. If Ubercart is a fork there should be code to prove it. That you can't produce any is crucial to this matter because no one who has made this claim here or in the past has EVER been able to substantiate it and solid evidence has been shown to the contrary. The question of whether Drupal should have two different e-commerce modules is a different matter entirely.

Cite someone with credibility. A jaunt through the Bazaar repository will reveal the level of contributions of your "Ubercart Developer" and show it to be insignificant in comparison to Ryan's and Lyle's work on the project. Your "Ubercart Developer" is wrong and so are you in saying that Ubercart is a fork or Ecommerce. The reason for the rough history is the paramount ignorance of people parroting things that are demonstrably untrue. To call a project a fork has certain consequences and a defined meaning in software development. Use the term rightly or use the right terminology. Don't parrot nonsense out of your own ignorance and expect it to go unchallenged by those who actually know what they're talking about.

Phillip Mc’s picture

thank you...I couldn't have out it better myself:

In development parlance a fork is when a common codebase is split, just like a fork in a road, to form two different but HISTORICALLY related projects

If you honestly think that Ubercart bears NO HISTORICAL relationship to older versions of Drupal eCommerce, you're not only a very unpleasant person, but, deluded as well. Ubercart still has the same methodology design flaws that exist in Drupal eCommerce 3.x and older versions of Drupal eCommerce.

plainprogrammer’s picture

A fork requires a common code history. Software projects are historically related when they share a common code base (Mozilla -> Firefox, KHTML -> WebKit/Safari, XFree86 -> XOrg). You still don't get it. It's all about the code. Concepts, functionality and other such vagaries aren't relevant because they aren't concrete, they lack expression in a usable form. A fork in a software project requires common source code ancestry. What is so hard about that simple fact to grasp? Really, why is the definition of a simple word so tough to grasp? Especially one which any software developer in the open source world should be familiar with.

Phillip Mc’s picture

..the company that Ryan and Lyle work for in developing Ubercart does not have a present vested interest in Ubercart.

I'm confused. How many companies exactly are involved in the Ubercart project, brand and code?
According to Andy Lowe, his company called Prima LLC *does* have a financial interest in Ubercart project.

Its' a simple question and you can dispense with the childish insult slinging to save time.

bwv’s picture

I'm confused.

Indeed.
----------------------------------------------------------------------
http://music.bwv810.com
http://classicvinyl.biz
http://davidhertzberg.com

I am a writer, researcher and solo drupal freelancer.

japerry’s picture

oohhh I believe I wrote something like that!!

Bleh, I've calmed down since making some of these posts. True, the IRC convo is what royally pissed me off. Which added fuel to the frustration I was having at drupalcon boston figuring out D6 conversion.

As far as a 'fork' is concerned, this is what I read:

Lyle posted (dunno where that comment is now) about how ubercart is largely a fork of ecommerce. Whether the code is or isn't a fork, is irrelevant. What is relevant:
1) Ecommerce v3 and Ubercart early revisions were functionally equivalent in both API, file structure, and size.
2) The flaw that v3 has is that its monolithic. Ubercart is built exactly the same way
3) Ecommerce v4 has been re-written to be a strong framework for building ecommerce sites.

and what makes a bunch of eC people mad is that Ubercart could have been the evolution of drupal ecommerce. Instead we now have two ecommerce packages. One with a large community and good UI, which ecommerce lacked. The other is a well written set of modules that will be more useful for a wider amount of ecommerce sites. But since it doesn't have the icing on the cake, it lacks good community to get built faster.

My suggestion to all here is to stop bickering about the past and focus on the future.

We need to make ecommerce and ubercart be complementary modules, not competing ones
If ubercart and ecommerce had the same set of modules, like payment, shipping, products, etc we could converge development together.
Ubercart could be a packaged version of all these modules together. Something necissary for many ecommerce shops.
But people who had other ways to do inventory tracking, or sales invoices, could use ecommerce and not have to shoehorn solutions into a product that already has one.

If we focus our efforts here, but the past behind us, and move forward, it'll make for even better ecommerce in drupal.

rszrama’s picture

(For the record - Lyle never posted anything like that.)

bwv’s picture

Good grief, what a patronizing post. I am sure your intentions are completely benign, but to level yet another allegation, deem the last 75 exchanges on this topic irrelevant as though those of us who participated are utter nincompoops, then swoop down from on high in the style of one who has been anointed to negotiate world peace is, to be charitable, over the top. This polemic started out as a request for evidence to support an assertion. The evidence still has not been provided as of this writing (6:04 am, EST). The simple request for evidence has morphed into a more philosophical/operational/metaphysical debate (in which I, a mere layperson, readily acknowledge I am not reasonably qualified to participate), complete with attempts to explain why a "bunch of eC people are mad" (to use your words) as though (a) emotion is an appropriate substitute for reason and logic and (b) the name calling, slander, distortions of truth and gratuitous insults of the last 48 hours are now ancient history. Your noblesse oblige is admirable, but sorely misplaced, in my opinion. Show me the evidence to back up the original assertion (http://drupal.org/node/312142#comment-102526, excerpt below):

Ubercart is essentially a fork (a copy) of Drupal eCommerce with a few tweaks on top. I only realised that when I started looking through the ubercart code. The filenames, structure, database framework and code is almost identical.

... and I will gladly withdraw from this polemic.
----------------------------------------------------------------------
http://music.bwv810.com
http://classicvinyl.biz
http://davidhertzberg.com

I am a writer, researcher and solo drupal freelancer.

japerry’s picture

and my point is that we need to move on, forget what I or anyone says about forking.

The point now is to look at the strengths of uc vs ec and see where we can make each better.

ECv4 has many core features over ECv3 and UC. Gordon or another core EC developer should chime in on this to describe the features more throughly.

From what I gather though (and I could be wrong), ECv4 has a better framework for building ecommerce sites than UC does. If work is done to use the UC UI's within the EC framework, we could get best of both worlds. This would also eliminate duplicate modules, such as payment apis, shipping systems, taxes, etc. So anyone who needs to develop a core Ecommerce module, would work with both packages.

Phillip Mc’s picture

From what I gather though (and I could be wrong), ECv4 has a better framework for building ecommerce sites than UC does. If work is done to use the UC UI's within the EC framework, we could get best of both worlds. This would also eliminate duplicate modules, such as payment apis, shipping systems, taxes, etc.

You're right. Drupal eCommerce version 4 is a better framework than EC3 and Ubercart. And you're also right aboout eliminating duplicate modules, payment APIs, shipping systems, taxes etc. but I'm afraid there appears to be a a lot of denial amongst the Ubercart team.

Judging by the way Ubercart threads like this go and leaving aside the admission by the Ubercart team that they copied Drupal eCommerce code, they refuse to accept that:

  1. Ubercart replicated and duplicated 90-95% functionality of Drupal eCommerce 3
  2. Ubercart replicated and duplicated 90-95% features of Drupal eCommerce 3.
  3. Ubercart replicated and practically duplicated the core design methodology behind Drupal eCommerce 3.

They just dance around "show me the code" arguments, as if how much code the Ubercart team copied from Drupal eCommerce is de facto proof that the Ubercart project is not a 95% duplication of Drupal eCommerce features/functionality - which is worrying - an experienced programmer would never make such ridiculous claims. Unless, of course, they think the average Drupal user/developer is simply dumb. Anyone with a rudimentary knowledge of PHP who took a look at Drupal eCommerce (version 3 or earlier) and Ubercart would draw the exact same conclusion i.e. Ubercart is a Fork of Drupal eCommerce.

So, while you're correct about Drupal eCommerce version 4 being a much better framework and there is an opportunity to combine efforts, energy and eliminate duplicate modules/payment APIs etc. but I'm afraid we're obviously dealing with a collective "ubercart ego" here and I think it's far more likely that the Ubercart team will simply re-work their modules, probably based on Drupal eCommerce version 4 and make the code look different enough, so they can claim that "ubercart is not a fork".

Ironically, the Ubercart team have little choice but to rewrite their modules - they practically duplicated the desisn methodology of Drupal eCommerce (version 3 and earlier) so by forking Drupal eCommerce, they also inherited the same design methodology flaws that the Drupal eCommerce team have identified in EC.

It's a real pity, but, there's a lesson to be learnt here and that is for the Drupal community to be more vigilant about Ubercart style forking and the general duplication of modules/functionality and features.

bwv’s picture

Finally, I think I understand the reason for the repetition of falsehoods and the apparent emotion that accompanies them.

--There is no ecV4 version that is compatible with Drupal 6.x (http://drupal.org/project/ecommerce).

--The is an UC version under active development that is compatible with Drupal 6.x (http://drupal.org/project/ubercart)

Consider the facts above when reading this thread

-- http://drupal.org/node/314736

And paying particular attention to this post:

-- http://drupal.org/node/314736#comment-1034516

Finally, don't miss this:

-- http://drupal.org/node/300999

Draw your own conclusions.

----------------------------------------------------------------------
http://music.bwv810.com | http://classicvinyl.biz | http://davidhertzberg.com
Drupal Association

I am a writer, researcher and solo drupal freelancer

WorldFallz’s picture

thanks for the threads bmv--- draw your own conclusions indeed. It explains a great deal. At least we finally seem to be migrating toward the real issue and away from the nonsense of misusing the term fork.

Now if i can just figure out what all the hostility regarding a competing product is about-- afterall, linux duplicates the majority of the features and functions of windows, as does OS X, yet most would consider them the superior products. Especially since everyone benefits from a competition-- particularly the users, as products vie for consideration as "the best" in their class.

===
"Give a man a fish and you feed him for a day.
Teach a man to fish and you feed him for a lifetime."
-- Lao Tzu
"God helps those who help themselves." -- Benjamin Franklin
"Search is your best friend." -- Worldfallz

Phillip Mc’s picture

Are you suggesting that I'm recommending Drupal 5.x to newbies because there's no Drupal eCommerce modules available for 6.x? LOL You are really clutching at straws now.

Leaving aside the Ubercart team admitting they copied Drupal eCommerce code, why is it so difficult for you guys to accept and acknowledge that Ubercart

(a) replicated/duplicated 90-95% of Drupal eCommerce functionality,

(b) replicated/duplicated 90-95% of Drupal eCommerce features,

and (c) replicated the Drupal eCommerce design methodology?

Incidentally, there is no stable version of Ubercart for drupal 6.x. At the time of writing, there is a development snapshot, but, that's just an update of the older version! The same older version that is considered by many, myself included, to be a blatant FORK of Drupal eCommerce.

jmlavarenne’s picture

Leaving aside the Ubercart team admitting they copied Drupal eCommerce code, why is it so difficult for you guys to accept and acknowledge that Ubercart

(a) replicated/duplicated 90-95% of Drupal eCommerce functionality,

(b) replicated/duplicated 90-95% of Drupal eCommerce features,

What is there to admit, dammit! It's an e-commerce solution! Obviously both modules will have a lot in common when it comes to functionality (adding products to carts, etc). Is that what you are arguing?

I'm butting in as the voice of the regular Drupal community member looking for an e-commerce solution. My conclusion is that Phillip Mc's posts contain very little actual information conveyed amidst a lot of noise.

So far, I understand that Phillip Mc makes injurious allegations about the Ubercart team but fails to provide any fact to back up his position.

bwv’s picture

http://drupal.org/node/312142#comment-1026020

----------------------------------------------------------------------
http://music.bwv810.com
http://classicvinyl.biz
http://davidhertzberg.com

I am a writer, researcher and solo drupal freelancer.

Andy_Lowe’s picture

I did a quick and dirty comparison of the source for Ubercart and eCommerce using comparator ( http://www.catb.org/~esr/comparator/ ). There were only 11 matching sections of code longer then three lines out of 300k total lines. Even I was surprised by how different the code is considering the fact that they are both Drupal modules. For more details and the final report produced by comparator go to http://www.ubercart.org/comment/25242/Comparison_ECommerce_and_Ubercart_...

-Andy
Restaurant Equipment

kulfi’s picture

Far more usable than e-commerce. Plus, the support forums are super responsive.

d6-nerd’s picture

Can you mention / name a simplest shopping cart module in drupal.

Also is there any ajax driven drag and drop shopping cart module in drupal.
If so please mention that too.

Cheers

Santy

bwv’s picture

Deja vu all over again.... ;-)

Ubercart is the simplest to set up. Drag and drop does not exist, at least not yet.

You are going to have to learn to use drupal first, there is no getting around that.

Or hire someone to do it for you.

----------------------------------------------------------------------
http://music.bwv810.com
http://classicvinyl.biz
http://davidhertzberg.com

I am a writer, researcher and solo drupal freelancer.

Phillip Mc’s picture

Drupal eCommerce version 4 has an ajax driven shopping cart option.

It's not drag n drop...but I imagine if you have the time, you could adapt it to be drag n drop. The dev version of Drupal eCommerce version 4 updates the shopping cart block without a page refresh.

I was talking to Gordon via email a day or two ago and Drupal eCommerce 4 is close to being ready for final testing.

Drupal eCommerce is not simple, but, it is far more flexible than ubercart.

StarPower-Com’s picture

Do you know if this will be avilable in drupal 5x?

Phillip Mc’s picture

yep. the ajax driven shopping cart will be available in Drupal eCommerce version 5.x-4 (comparible with Drupal version 5.x)...which is at the final stages of development. It will require extra work to modify it to be a drag n drop shopping cart, though.

The key thing with Drupal eCommerce version 4 is that it's a complete re-write of all the Drupal eCommerce system...so it won't have the limitations found in earlier versions and the limitations found in Ubercart (Ubercart is essentially a modified copy - or a fork - of an earlier version of Drupal eCommerce).

afaik, once Drupal eCommerce version 5.x-4 is completed...it will be upgraded to work with drupal version 6.x.

hope that helps

WorldFallz’s picture

Ubercart is essentially a modified copy - or a fork - of an earlier version of Drupal eCommerce

Enough is enough. You ignore replies with contrary evidence and respond only to those where you can spread your fud unchallenged.

if your statement is true-- as other posters have said-- prove it. All you do is continually repeat this mantra with absolutely no evidence to back it up while other folks have provided evidence that would seem to indicate your assertion is false.

Merely repeating the same fud over and over does not make it true.

===
"Give a man a fish and you feed him for a day.
Teach a man to fish and you feed him for a lifetime."
-- Lao Tzu
"God helps those who help themselves." -- Benjamin Franklin
"Search is your best friend." -- Worldfallz

Phillip Mc’s picture

"if your statement is true-- as other posters have said-- prove it. All you do is continually repeat this mantra with absolutely no evidence to back it up while other folks have provided evidence that would seem to indicate your assertion is false."

Other folks have not provided any evidence to prove that Drupal eCommerce did not exist before Ubercart and Ubercart based its design on Drupal eCommerce. There has been an attempt to get into a line-by-line code comparison, which is ridiculous and ultimately pointless.

Like I said earlier, Drupal eCommerce existed long before Ubercart. Ubercart is based on eCommerce. Therefore: Ubercart is a FORK of Drupal eCommerce.

If you don't like the word FORK, try the word PARALLEL. Or in the words of an Ubercart Developer:

Open Source Development and how NOT to do it

I'll admit: I'm part of the problem. I develop for ubercart, which is a fork of ecommerce.

What I would like to know is does the company who paid for the development of Ubercart still have a financial interest in Ubercart?

That would explain a lot.

plainprogrammer’s picture

Who existed first? That's not even a legitimate issue. Windows predates Linux and Mac OS and Unix predate Windows so what in the world is your point? The Ecommerce module predates Ubercart, and the point is? The Ubercart developers did not take Ecommerce's code and produce a new derivative work. They wrote an alternative to Ecommerce from the ground up. There are plenty of e-commerce options that predate the Ecommerce module, no one cares, nor should they.

You continue to use a development term, fork, without using it properly. That word has a meaning that is well understood and you obviously don't understand it. Ubercart did not come before Ecommerce and that is irrelevant to the question of whether not it is a fork. A forked software project requires common source code history, and that just does not exist.

Your repeated citation of an "Ubercart Developer" is bogus. japerry has not been a particularly significant contributor to Ubercart and is not part of the Ubercart core development team, he is a third-party contributor like lots of other people.

And, regarding your question of financial interest: No. The company that pays Ryan and Lyle is not a software company, Ubercart is not a significant stream of revenue and the software is released as Free and Open Source software. So the financial interests are negligible.

WorldFallz’s picture

There has been an attempt to get into a line-by-line code comparison, which is ridiculous and ultimately pointless.

Thank you-- you've now confirmed, in clear writing, that you have no idea what you are talking about.

Common code is precisely the evidence that is required to prove a fork-- a shared code base at some previous point in time which would be instantly demonstrable if it were true. You're flailing about and repeating the statement like a savant merely serves to reinforce you have nothing to back up your baseless claims and prove you have clue of which you speak.

===
"Give a man a fish and you feed him for a day.
Teach a man to fish and you feed him for a lifetime."
-- Lao Tzu
"God helps those who help themselves." -- Benjamin Franklin
"Search is your best friend." -- Worldfallz

Andy_Lowe’s picture

Phillip,
Please read this: http://en.wikipedia.org/wiki/Fork_(software_development)
In the first line of the definition of a fork you see "In software engineering, a project fork happens when developers take a copy of source code from one software package and start independent development on it, creating a distinct piece of software."

Can we agree that there there is very little (http://drupal.org/node/312142#comment-1027989) if any shared code between the two projects ?
Can we agree that shared code is the central defining aspect of a fork?
Can we there for agree that Ubercart is not a fork of eCommerce?
Can we agree that you meant to something like "Ubercart copied all their ideas from eCommerce" and not "Ubercart forked eCommerce"

Because of your misuse of the term "fork" we can not continue with this discussion because we can't even agree on the definition of the action (verb) at the heart of the matter.
Peace,
Andy

Phillip Mc’s picture

Nope. I disagree with all of the above.

You can dig up any argument about pedantics you like...but, I know I'm not alone in questioning the Ubercart approach.

The Ubercart approach is an unpopular one and I hope it doesn't catch on.

In open source parlance, a fork can also mean a parallel project. In other words, if a Drupal module or suite of modules already exists and is well established, the correct approach is to contribute to that module, help improve it and submit patches.

The incorrect approach is to replicate functionality, replicate design methodology, copy code and launch a forked (parallel) module.

Like I said earlier, you can do all the code comparisons you like, the simple fact of the matter is Ubercart has practically replicated the eCommerce functionality, copied eCommerce code (on our own admission), duplicated the design methodology of older versions of eCommerce and launched a parallel project. In open source parlance, particularly Drupal parlance, that constitutes a fork.

That's NOT the best way to approach open source and that's mainly why the Ubercart approach is an unpopular one within certain quarters of the Drupal community.

I have looked at the code and yes, there are differences. For example, Drupal eCommerce never automatically sent sales information from a Drupal site to the Ubercart company, in the background, by default. i.e. it was an Opt-Out data feature, rather than an OPt-IN feature.

I have also noticed that ubercart has practically replicated the design methodology of earlier versions of Drupal eCommerce - which is worth flagging for newbies because the new version of Drupal eCommerce is a complete, bottom up, re-write of Drupal eCommerce, so it won't have the same design flaws of Ubercart and earlier versions of Drupal eCommerce.

WorldFallz’s picture

In open source parlance, a fork can also mean a parallel project.

This is simply not true, period. Unlike the relative merits of UC versus EC, this is not open to your own personal interpretation. The word has a meaning, a specific meaning, to the entire open source community that is completely incompatible with your personal one. Repeating it over and over won't change that fact one bit.

For definitions and discussions of forking see:

  • Fork (software_development):

    In software engineering, a project fork happens when developers take a copy of source code from one software package and start independent development on it, creating a distinct piece of software.

  • What is a fork?:

    To split source code into different development directions. Forking leads to the development of different versions of a program. Forking often occurs when the development of a piece of open source code has reached an impasse. The project is forked so that the code can be developed independently in different ways with different results.

  • ZDNet Definition for: Fork:

    (1) To split into a different direction. See forked version.

    (2) In Unix, to make a copy of a process for execution.

  • ZDNet Definition for: Forked Version:

    Program source code that differs from a main body of code. At some point in time, the code was taken and modified to produce a different product (the forked version). Forked versions are common in open source projects, because open source licenses allow the code to be modified. See fork and open source.

  • Fork:

    In the open-source community, a fork is what occurs when two (or more) versions of a software package's source code are being developed in parallel which once shared a common code base, and these multiple versions of the source code have irreconcilable differences between them. This should not be confused with a development branch, which may later be folded back into the original source code base. Nor should it be confused with what happens when a new distribution of Linux or some other distribution is created, because that largely assembles pieces than can and will be used in other distributions without conflict.

  • Brian Behlendorf: Apache co-founder talks about open source:

    The term open source is tied to the open-source definition. The open-source definition is about a bunch of different things that make it easier to distribute and specific requirements. I would say the most important requirement is the right to fork. It is the right for a user or somebody outside the developer pool or even a subset of the main development pool to be able to take the code and start a new project.

  • Yogi Yarns - On the definition of open-source fork:

    To fork an existing open-source project is to take its code and start another project based on the same code. The new project may just redistribute the same code, or it may add its own modifications, in the form of bug fixes, deletions, or by adding new functional enhancements, at the pleasure of the developers working on the new project.

    By an “open fork” we mean that the new project decides to make the code as freely available as the old project. By a “closed fork” we mean that the new project takes another course.

  • Overheard: Open source forks:

    A benefit of open source software is the ability to take the code base of an application and develop it in a new direction. This is, as most of you probably know, called forking, and is very common in the open source community.

    Sam Nurmi, 10 interesting open source software forks and why they happened

  • 10 interesting open source software forks and why they happened (not one of which is "parallel".

When 2 things are parallel they never meet-- neither in the past nor in the future. I can see where the word parallel in the fifth bullet above might confuse the intellectually challenged, so lets get visual:

A fork looks like this: ---<

Parallel looks like this: ====

Your review of the relative strengths and weaknesses of the two packages would actually be interesting and valuable-- it's really too bad you insist on spreading untruths and fud instead.

EDIT DISCLAIMER: lest anyone think I'm in the tank for UC let me state for the record I use neither UC nor EC. My sites are intranets. With this being an election year here in the USA, i've just had my fill of untruths and fud. Enough.

===
"Give a man a fish and you feed him for a day.
Teach a man to fish and you feed him for a lifetime."
-- Lao Tzu
"God helps those who help themselves." -- Benjamin Franklin
"Search is your best friend." -- Worldfallz

Andy_Lowe’s picture

Phillip says:
"What I would like to know is does the company who paid for the development of Ubercart still have a financial interest in Ubercart?"

Phillip,
I am happy to answer your question. Yes, Prima LLC has a financial interest in Ubercart. I am proud of that fact. Here is why. I own Prima LLC. I am an open source advocate. I have been an active part of the OS community since around '93 when I contributed my first patch to Mailman. I am also a mildly successful business owner. Roughly two years ago I decided to consolidate all our websites on one platform:Drupal. There were several key features I had to have in the eCommerce module. I unsuccessfully tried submitting a patch for one feature, and was told in no uncertain terms that eCommerce would not support another of my required features. These are a few of the reasons I decided to start a new open source project (Ubercart). I had the good fortune of recognizing Ryan and Lyle's talents and hired / moved them to full time development on Ubercart. Ever since then I have paid them to release open source code to the Drupal community.

Ubercart is a labor of love for us. We are trying to give back to the community. It is not profitable although it is getting close to breaking even in strict terms of revenue and expenses. Even if Ubercart starts making oodles and oodles of money, it will be difficult for Ubercart to ever make enough to make up for the money and time we have put into it. That is not to say that I plan on loosing money on Ubercart. Ubercart is an expense my company would have incurred anyway. I just opted to make it open source instead of closed source so other people can get some benefit from Ryan and Lyle's labor.

So Phillip, when you say:
"What I would like to know is does the company who paid for the development of Ubercart still have a financial interest in Ubercart?
That would explain a lot."

What are you insinuating? What evil plan do you think we are hatching? If you have a plan laid out for me to somehow take over the world by paying Ryan and Lyle to contribute GPL code to the Drupal community, Mr. Bigglesworth and I would love to hear it!
Peace,
Andy

Phillip Mc’s picture

"What I would like to know is does the company who paid for the development of Ubercart still have a financial interest in Ubercart? That would explain a lot."

What are you insinuating?

I'm not insinuating anything. It was a simple question. The fact that you have a company that has a commercial interest in the success of Ubercart clearly explains the motivation behind forking (releasing a parallel) Drupal eCommerce. It also explains the unnecessary insult slinging and general noise on this thread...and a lot of threads relating to Drupal eCommerce.

In other words, it is more advantageous for your company not to contribute updates, improvements and patches to Drupal eCommerce and launch a parallel and seperate project instead.

There's nothing particularly wrong with that. The open source philosophy is fundamentally open, so people are free to do pretty much what they want, but, what's particularly curious is how Ubercart has replicated not only the main functionality of Drupal eCommerce, but the bulk of the Drupal eCommerce design methodology as well.

In a community project like Drupal, however, your approach does cause problems, such as splitting the development community, which leads to a lot of replication, wasted time and energy. Discussions like this are a classic example.

Thankfully your approach is an unpopular one and Drupal doesn't have a huge problem with duplicate module and replicated functionality.

kulfi’s picture

And I hope anyone who sees it recognises it as such.

Phillip Mc’s picture

that's not true and please stop trolling with multiple threads on the same subject.

http://drupal.org/node/312494#comment-1029007

azman’s picture

Lol
I know this is an old thread, I don't care. I just want share my appreciation for a humorous thread! =)

This thread is a great read for a rainy day.

mikejoconnor’s picture

I use both system. I usually use the Ubercart package. It is far easier to setup, the documentation is much better, and it has a great community @ ubercart.org.

That being said, every task has the a tool, and sometimes the e-commerce module is the right tool for the job. Could you provide some more information about what you are working on? What are you selling, who are you selling to, etc.

stephthegeek’s picture

Check out our recent article, 7 reasons why Ubercart is the right choice for Drupal e-commerce

You can argue about forks, technology, specific features, etc all you want, but this article outlines a lot of other reasons that don't get talked about as much.
_________________________________________________________________________________
{ Drupal Themes by TopNotchThemes }
Gorgeous, 100% original themes for Drupal 5 & 6, plus Ubercart themes

eclipsegc’s picture

Absolutely there's a right tool for every job. Our company has made use of both products, and 99% of the time, we go UberCart. It's just more aligned to what the average online store needs. That said EC has a number of abilities that UC doesn't yet, so if you NEED that, then great, but if you're just thinking typical online commerce, ubercart is your solution, all the way.

Eclipse
Drupal Evangelist
The Worx Company
http://www.worxco.com

Eclipse

d6-nerd’s picture

Can any one tell me how to add multiple category and items and peoducts and show in the page.

Say i have Cat 1 >> Item 1 >> Prod 1, Prod2, Prod 3

This i cans et up ok.

But when I added another like

Cat 2>> Item 2 >> Prod 4, Prod5, Prod 6

It is not shown anywhere in the page ( this block )

Later, I tried with multiple category theme, but not showing properly.

If i use multiple category, should i remove the category created previously and start again.
ie remove entire Cat 1 >> Item 1 >> Prod 1, Prod2, Prod 3
before multiple category module was installed.

Please reply

bharanikumariyerphp’s picture

Am not read all your reply

Just i read ur last post,

May this is ur expectation

hierarchical_select module