This issue is the go-to spot for coordinating the efforts to port Ubercart to Drupal 7. Each of the individual tasks needed to finish the port will have their own issues, which will be linked to this one.

Because of the complicated and over-arching nature of the changes needed in the port, I highly recommend that volunteers do development off of the Bazaar repository at bzr://bazaar.ubercart.org/drupal7-uc3/ubercart. With several people working at once, this will help keep us from having to re-roll patches every time something gets committed. I will do my best to try to keep CVS HEAD updated from this branch, so that those who still wish to submit patches normally can still do so. Bazaar documentation can be found at http://bazaar-vcs.org.

Having learned the lesson of UC 2, which was supposed to be a straight port to D6, we are going to be very strict about feature requests for UC 3. Unless and until a feature request is applied to 6.x-2.x, all feature requests for 7.x-3.x will be summarily executed postponed.

Issues:

Comments

Bilmar’s picture

subscribing

BenK’s picture

Subscribing....

superstar’s picture

Title: Drupal 7 Port Mega-issue » hooks for D7 port

Will the Ubercart hooks be namespaced in D7?

i.e. #510382: Ubercart must namespace its hooks

superstar’s picture

Title: hooks for D7 port » Drupal 7 Port Mega-issue

Apologies for changing the title - reverted

Andy_Lowe’s picture

The short answer to #4 is yes. The long answer is:

Lyle and I talked about the name space issue this morning. Our first priority is to have a working port of Ubercart ready for the release of D7. If that is all we get done, so be it. However it looks like we will have a working port done (in beta) in a few weeks which will give us plenty of time to add in small features and clean up some of the code before D7 is ready.

Our criteria / concerns for issues to address in the time before D7 is as follows.
#1. Don't do anything unless we are sure it will be done in time for D7
#2. Avoid adding additional burdens on the developers of Ubercart contrib modules. They already have to port to D7.
#3. Try to stick to cleaning up the code / taking advantage of D7 features.

Bases on these concerns, Our #1 priority after the port is to address the name space issue. I know, I know, the name space issue violates #2, but not as bad as it first appears. There are already several similar name space re-factoring steps in the port, and so this will just be one more step. Plus, the coder module supports including different rule sets, and we plan on creating an Ubercart 3.0 rule set which should automate all the work necessary for the contrib maintainer.

Lyle also mentioned adding a step to this issue. In addition to making sure we use "uc" in all our hooks, we should follow the Drupal module and drop the $op parameter and break single hooks out into multiple CRUD like hooks whenever possible. We're a little concerned that this will add to much work to the contrib developers though. It is one thing to grep for hook_add_to_cart and replace it with hook_uc_add_to_cart, it is another to split one hook up into several. Any thoughts on this?

univate’s picture

I can see a lot of great work has already been done it getting this port happen, but I am concern that this development will slow down as you get to the non-core parts of ubercart. I posted some comments on this issue, which may have been missed at: http://ubercart.org/forum/development/15220/development_ubercart_7x3x_no...

Wondering if you had any thoughts?

superstar’s picture

Adding a uc_ into each function would do the trick.

The problem with NOT introducing the extra word for the namespace now for D7 is that once you release,
1) People have to port their modules to D7 anyway and its an easy fix for them
2) Once you send out a release people will port their modules and then introducing a namespace change will break everyones code
3) You would then be in the same situation as 6.x-2.x

This is not technically a feature. The purpose of this change to prevent clashes with other modules and with a new platform (D7). To avoid additional burdens since a numebr of uc modules will be ported on day 1, I strongly suggest namespacing in the initial port.

SeanBannister’s picture

Sub

artatac’s picture

subscribing

Sborsody’s picture

subscribe

Andy_Lowe’s picture

Superstar,
After discussing it, we came to the same conclusion as your points in #8. You're right. Lyle did it. Check here: #510382:Ubercart must namespace its hooks.
--Andy

Andy_Lowe’s picture

#7
I'll respond at the link you posted.
--Andy

superstar’s picture

Thanks Andy!

Island Usurper’s picture

Status: Active » Fixed

All of the tasks in this issue seem to be complete. Now it's time to test the code mercilessly. I've already found several places where database queries weren't completely ported, but it's really hard to find those when you're just looking at the source. So, for the sake of getting a release out as soon as we can, Ubercart really needs a lot of reviews to pick over all of the functionality it provides. Unit tests will also be greatly appreciated.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

Jb33’s picture

Is this project abandoned..?

bagusflyer’s picture

Any news for ubercart for Drupal 7?

Island Usurper’s picture

There are a few more things I want to get done before a release candidate can go out. Hopefully they can be resolved this week.

eric_marsh’s picture

I need a flexible shopping cart system in the next few days and after looking around drupal and ubercart look like a good choice. I just installed drupal 7 and want to install ubercart. Looks like you are close so if you need someone to set up a beta site let me know.