Ubercart 3.0 Alpha 1 Released
On Wednesday we reached the next milestone in Ubercart development with the release of Ubercart 3.0 alpha 1 for Drupal 7! Just to be clear, this is an alpha version of Ubercart running on a (currently) alpha version of Drupal. This is NOT FOR PRODUCTION USE! It is for testing and development only.
Now that that is out of the way This release is a straight port of Ubercart 2.x to Drupal 7. It is primarily intended for Ubercart contributed module developers to use to start porting their modules to Ubercart 3.0 and Drupal 7, but if you just want to see what the cutting edge of Drupal and Ubercart looks like, feel free to setup a test server and give it a spin.
This release still relies on Conditional Actions, and the final release of 3.0 will replace Conditional Actions with Rules, so those of you porting modules should be ready for this change in the next alpha release.
Lot's of people helped with testing, bug fixes, issues, and code, and we thank you all for your work on this release, especially Lyle and TR
Ubercart 3.0 Alpha 1 Released
I love you guys. Thanks to everyone who helped with this. I'm just about to start making a personal site, but after seeing this, I think I might have to struggle through the Drupal 7 route.
<3 <3 <3
Which alpha version of Drupal is this built against? alpha2 or alpha3 or dev?
Dev, generally. Lyle is trying to keep up to date. It should mostly work with any recent version, though. Mostly.
Drupal 7 is a moving target, and Ubercart 7.x-3.x is going to be keeping up with all the changes in Drupal 7.x-dev
The alpha release was tested against Drupal alpha3 and against -dev as of 14 April. If you want to follow along the best thing to do would be to get Drupal HEAD out of CVS and get Ubercart 7 HEAD out of CVS, then keep them current. That way you won't waste time dealing with bugs that have already been fixed.
So what is this Drupal Commerce I'm hearing about? Is Ubercart 3.0 BECOMING this, or is it a fork, or has Ubercart 3.0 been abandoned in favor of Drupal Commerce? (Not to be confused with Drupal ECommerce)
Myke (and anyone else reading this)
Ubercart is not becoming drupal commerce. They are totally separate projects. Development on Ubercart is and will continue.
Ubercart has not been abandoned. Several people (myself, Lyle - 3.x maintainer, Andy, Mahitha) are all still dedicated, and backed by full-time employment, working on Ubercart and future improvements, and will be for the forseeable future-4.x and beyond.
But the real strength of any open source project is the community around it, so download the alpha, test it, report back, and continute to develop on Ubercart. You can be certain others are doing the same.
Thanks for your motivating post. I concur with others here in congratulating and thanking you uber-coders! Well done and I am reassured that I made the best decision to pick UC and Drupal, and folks like you are the main reason. Rock on!
Is there a published road map of what functionalities, features, etc. that UC 3 will have? I'm especially interested in knowing what kind of i18n support UC 3 will offer. As some of you may know, trying to set up a fully multi-lingual UC site is a painstainking chore of love, hate, patches and hacks
I'd like to hear from the team if i18n is going to get a serious look-over and better implementation?
If it is I'm more than willing to test and report back problems with i18n support as I know not all UC developers use i18n.
It's my understanding that Ubercart 3 will just be a direct port of 2 to Drupal 7.
There's also a fork of Ubercart for Drupal 7, called Drupal Commerce. This will be a complete re-write of Ubercart, taking what the developers have learned over the years working on Ubercart.
You can read more about the Drupal Commerce project here:
I would expect most of the heavy lifting related to Drupal 7 and E-Commerce to get done there and not in the Ubercart 3.x project.
Someone correct me if I'm wrong...but that's my understanding of the situation and one I support.
I thought that Ubercart and E-Commerce would be two totally separate and independent projects, no?
If that's the case, this is why I would like to provide some input on ameliorating UC's i18n support.
If my understand is incorrect I'm sure someone will let me know
Ubercart and E-Commerce are two separate projects.
Ubercart is turning into "Drupal Commerce", which is not the "E-Commerce module".
I don't think many people use the E-Commerce module (500ish users), so I think Ubercart (20,000ish users) is kinda taking over the namespace.
As for improving the i18n support, I think it's a problem with most modules in Drupal. Find and report bugs. Submit patches. Hope they get integrated.
j0rd is mostly correct.
Ubercart and E-Commerce are two separate projects, and "Drupal Commerce" is a third.
Drupal Commerce is a separate project started by ONE former Ubercart developer. Despite what others may falsely lead you to believe, Drupal Commerce is NOT Ubercart.
Ubercart 3.x started off as a straight port of Ubercart to Drupal 7, but some improvements have been included while waiting for Drupal 7 to be released and more will be included as long as we are waiting on Drupal 7.
As soon as Drupal 7 releases, we will release Ubercart 3.x. Then we will start working on 4.x which will include more improvements. The main reason for the quick change from major release 3 to 4 is that some improvements, like decoupling products from nodes, will break dependent modules and might have kept us from releasing 3.x in sync with Drupal 7.
We are interested in improving all aspects of Ubercart including the i18n support. You can submit patches and suggestions for improvements in the Ubercart issue queue. At this point I can't guarantee that they will make it into 3.x (we will try) but they will definitely make it into 4.x.
Hi Andy and thanks for the clarifications.
I understand that this is an open-source project and that most (but luckily not all!) of the work that goes into UC is unpaid and made by volunteers. When possible I do raise bug reports, and if the bug is easy enough then I will also submit a patch.
My question with UC and where it's going is this: When the team fleshes out the roadmap and discuss where UC is headed, is i18n part of the core discussions and does it affect how you plan the UC architecture? We're already onto version 3.x and I have the feeling that i18n is still an afterthought.
And this is what makes it difficult for people of my level to propose patches and code. If the core of UC is not 'arhitected' correctly, then any proper fixes to correct i18n issues with UC really means a major piece of code rewrite. And few people are up to the challenge. However is i18n support were truly and properly integrated at the core of UC then submitting patches becomes much easier.
I love UC and don't mean to sound like I'm just a bag of i18n complaints. I didn't even know about i18n until I moved to Japan and had to start coding over here so I can imagine that for most developers it's an issue they don't even realize exists I mean, even Google doesn't get it right! (I can't tell you how many times Google decides to forget about my settings and show me it's main page in Japanese instead of English
I guarantee you if issues exist, it's because the core developers are not using the i18n support. They probably haven't needed to. I've made over a dozen Ubercart sites and haven't needed this yet either.
You'll need to find a developer to take up your cause, or hire one so that they do. This is really the only way to get your issues fixed in a reasonable amount of time. Bribes do go far.
With that said, I get angry when issues are brought up and not integrated back into core, there seems to be a lot of multi-language issues going on here.
Maybe you could write up a full review of patches that need to get integrated, now that you have the eyes/ears of developers.
I get angry when issues are brought up and not integrated back into core
By core do you mean UC core or Drupal core?
Maybe you could write up a full review of patches that need to get integrated, now that you have the eyes/ears of developers.
Does that mean that you are one of the developers? If not, I might have their eyes, but i18n may still not be a priority.
I'd be more than happy to! But that being said, and I want to say this in the nicest way, is anyone going to follow up?
I ask because I just did a quick check of the bug reports I have raised against Ubercart (7 of them) and all of the issues are still open, most have not even been commented on by anyone from the UC team, and four of them are over 20 weeks old. And has you've shown with the link to the forum discussion about i18n, there are a lot of multi-language issues and they've been around for a long time.
I'm not a hard-core developer but can test, file bug reports, and am happy to do whatever I can to help out. But so far I feel that i18n just isn't an issue that anyone on the UC team wants to take on and so even bugs reports are pretty pointless.
But that being said, I want to do what I can! If someone from the UC team needs me to do something specific, I am more than happy to give them my time and effort.
Now, for a review of the most basic i18n problems and their fixes, there's a great blog post here which explains at a code level why the problem exists and gives code and workarounds solution:
The main issues are:
- Ubercart does not translate "add to cart" and other form buttons
- Ubercart does not synchronize product data across translated nodes (product information needs to be updated for each translation)
- Taxonomy terms are untranslated in Catalog block
- Adding items to the cart in one language, then switching to another language does not localize the cart contents
- Ubercart does not localize products during checkout
And not listed on firewing1's blog is the fact that the stock module totally breaks when using translated nodes.
Most of the core Ubercart dev team rarely uses i18n, so we are not always on top of the problems and issues. That being said, internationalization is important to us because it is important to you and the community. I know it's frustrating when you submit a patch or issue and no one makes any movement on it. We should be better at addressing your issues. I apologize. Part of the problem is our approach. We tend to focus on one area of Ubercart at a time. So we may not address i18n issues while we are working on porting, views, attributes and shipping, and then knock out all the i18n issues that have piled up at once. This might be the easiest approach for developers, but it is not the best approach when we consider how it frustrates contributors like yourself.
Thanks for pointing out http://www.firewing1.com/node/27 I / we were completely unaware of it. I think we can easily incorporate some of the fixes suggested there. If you would like to help, you could create a separate patch for each of the issues there and submit them to the 6.x issue queue. Maybe even send me a pm when you're done and I'll see if we can't push them through. Maybe you don't feel comfortable creating patches. That is ok, We also really need for people to test submitted patches. Just search the issue queue for issues in the status "Needs Review". Then download the patch, apply the patch to a test site, and test to see if the patch does what it says it does, and doesn't break anything else.
I seem to remember there being a problem with the suggested method of translating "add to cart", but I may be thinking of an issue that no longer exists.
Assuming Views is in a usable state in time, catalog will be completely replaced by default views in 3.x which will solve the catalog block issue.
I have to say, the switching language issue seems like a fringe case to me. But if it matters to the community, and there is a patch, then we'll include it.
I'll spend some time and go through the issues listed http://www.firewing1.com/node/27 and create separate issues in the Ubercart issue tracker. Would it help if you created a new 'Component' called i18n?
I basically separate the issues on the above web page into there component and simply copied and pasted what firewing1 wrote into a bug report.
Created the following:
Hopefully this will help. If I went about it the wrong let me know and point me in the right direction.
As for the switching language issue, it's an issue for multilingual sites (i.e. sites that want to serve up content in more than one language). When users are on a product page and try to switch to another language Drupal can't figure out which is the correct translation node.
So what's the difference between Drupal Commerce and Ubercart? Why was Drupal Commerce developed in the first place?
You can read more about why Drupal Commerce exists here:
I believe there was a previous post on that site before which explains more throughly, perhaps it's in these forums.
Ubercart has served it's purpose over the years, but if you try and develop something robust with it, you'll run into nuances. IMHO, the only way to fix, is to take what's been learned over the years and start from scratch...and I believe that's what's going on with Drupal Commerce and I look forward to it's future releases under D7.
Ubercart has been ported to Drupal 7 as well, so you're welcome to use that should you like. For those looking to become early adopters, it might be a better idea to go that route, as Ubercart is (i assume) much more robust than Drupal Commerce at this point.
What I would like to see is a stable release of Ubercart under D7 with bug fixes only and focus the future features and development on Drupal Commerce...but that will depend on those who want to donate their time of course. I do think fractioning the community would be a bad idea in the long run.
Thanks j0rd for the info. I agree that fractioning the community is a bad (very bad) idea. That's why I'm a bit skeptical about (yet again) a new ecommerce module / project. I've been around the e-commerce module since Drupal 4.6 and have seen the (big) migration to Ubercart. So this new Drupal Commerce will start a migration all over again. It is to be seen I it's a good thing. Again, I'm skeptical.
I like Ubercart for the most part, but as I've mentioned I think I've reached the limit of what I'm willing to do with it. I think it needs a full re-write, which is why I'm happy Drupal Commerce is going on. It should take a lot of the things learned from the short sights in Ubercart and hopefully rectify them.
I'm also happy Ubercart is available for Drupal 7. I'm very happy it's a straight port of the D6/UC2 version with out improvements. One of the problems the Ubercart 2.x for D6 was that it took too long to create after D6 was out. This slowed adoption. This wasn't a specific Ubercart issue, but more of a Drupal community issue. The Drupal dev's have done a good job of recognizing issue by creating the #D7CX pledges, which ask for a straight port of the D6 version, instead of doing improvements during the D7 migration. Wonderful decision in my opinion.
Having Ubercart around in the D7 space will allow for two things:
1. It will allow those with existing D6/UC2 sites an upgrade path to D7 should they choose. Those users will know what they're getting with Ubercart as it should mostly be the same as the D6 version. In my opinion development and feature improvements should stop in Ubercart and an effort should be made in porting good contrib modules over and bug fixes. Site maintainers can take over the improvements from there.
2. Since there's an upgrade path for existing users, development Drupal Commerce can de-couple from Ubercart and something new (and hopefully better) can be created. I'm personally interested in using something new, but may port some old sites to D7/UC if there's benefit in that. Since Drupal Commerce is a new project there's no need to create an upgrade path for it. An upgrade path from Ubercart to Drupal commerce can be created by those who eventually will need it (people like myself).
This is just what I'd like to see. If Drupal Commerce is complete sh!t, then obviously I'd go back with Ubercart...but I doubt this would be the case.
Note: I'm not a Ubercart developer, just someone who makes sites with it. I don't actually know the direction people are planning, so I can't really talk to what people will do. These are just my assumptions from what I've been reading/following.
The whole Drupal Commerce vs. UberCart has gotten me very confused. I am ecstatic to hear that the core UC developers are so committed to UC and its growth and truly appreciate all your work.
One thing that is lingering on my mind is compatibility between Drupal Commerce and UberCart further down the line. Will the two likely proceed in such different directions so that in the event a user of either (DC or UC) should want to switch over would have difficulty simply switching from one to the other? Will they have to completely rebuild from the beginning?
Basically what I am saying is that I think it would be a good idea to keep this in mind as UC evolves. The transition from either e-commerce system should be made as simple and smooth as possible.
You can always write the conversion module yourself. I assume some 3rd party will eventually need and do this, but I wouldn't count on it for a long long time.
If you want to go with a tried and true, use Ubercart. If you're a crazy idiot who likes bleeding edge, doing too much work, fixing bugs and writing code, perhaps try Drupal Commerce.
Ubercart wasn't even represented by a single maintainer at DrupalCon last month.. in fact, I spoke w/ some of the maintainers on the Commerce project, who were co-maintainers of Ubercart, who said that Ubercart was more or less dead at this point... Bad new for me.. I just built the entire shopping cart portion of www.fulltuckracing.com using Ubercart.. ugh.. guess I'll be upgrading to D7 sooner than I thought....
I would love some response on Ubercart guys on the remark from RavenHursT?
I have build a Ubercart side and want to build a new one. What commerce system with Drupal should I use? And why should I use Ubercart for D7?
I really think some improvements need to be done in Ubercart. Some things I found using Ubercart/D6:
1) The add-to-cart button and attributes are not easily seperated themeable
2) Cheap or free good Ubercart themes are difficult to find
3) There is a uc_rules project. But the adaption is slow. I think Conditional Actions is not the way forward
4) To get mulicurrency support is difficult to handle
5) cck, views support is not easy within uc. There is a cck_attribute module, but it is not production ready yet
6) there is not a good color (or other attribute) option selection module. uc_option_image is one. But it is constrained to only changing one image.
This is just a small list of annoying things I have noticed using Ubercart on D6. I am not a programmer, only a user. So may be this is not the right place to suggest. Thanks for all other great development on uc, and hopefully this list is beneficial for future improvements.