Alpha 8 Battle Plans

Posts: 3744
Joined: 08/07/2007
AdministratorHead Code Monkey - I eat bugs.

Alright, folks. With the Alpha 7 release of Ubercart it's time to plot a course for the future once again. As the project grows larger and larger, it's going to be difficult for Lyle and I to maintain the code by ourselves and address all the features people are requesting while doing bugfixes. So, while I'm going to post my plans for Alpha 8 and ask Lyle to do the same, I'd encourage other developers to take a moment to post their battle plans, too. I know several of you have ongoing projects, and we definitely appreciate your efforts and help to the community! (If anyone wants to take on one of the issues I list to make sure it gets done in a timely manner, feel free to pipe up!)

Regarding the version number... I'm as anxious as anyone to move out of Alpha territory. You can check out the live sites forum and the new sites directory to see that even though Ubercart is still versioned as alpha, many stores are picking it up and using it in production environments. Still, I was reminded by daniel and then myself that there are several things that need to be addressed before making the move. I'll post a separate thread about that, but it includes code-wide changes to styling/theming, internationalization, and some API reworking for a few components.

Anyways, there were several items that didn't get completed in my Alpha 7 Battle Plans that I hope to revisit. A lot of things mentioned in that thread are in the works, like a file product module and inventory control modules. You can find those through the new contributions directory.

My plans are something along the lines of the following...

  1. Address the saved addresses changes recommended in this post.
  2. Code the cart links API.
  3. Nail down the issues relating to the order total preview and JS on the payment checkout pane.
  4. Configurable order statuses.
  5. Remove hook_order_actions() and just hard code the default actions.
  6. Allow store admins to turn off the payment failsafe on order deleting.
  7. Copy CacheExclude's hook_exit() into uc_cart.module.
  8. Create a Cyber Source payment gateway, probably using the simple order API.
  9. Revisit the checkout pane API and perhaps retool it to get up to speed with the other pane APIs.
  10. Make the recommended changes in various threads regarding tables, style attributes, and theme functions in my code.
  11. Address a few pending issues that relate to code I've written.

Postponed:

  • Think about importing/exporting orders and maybe do something about it.
  • Think about QuickBooks integration and how we want it to happen.
  • Coordinate with daniel and whoever is willing on the i18n features, deciding what to do about the future of country import files and default countries/zones.
  • Remove Tango Icons from the package on Drupal.org per this issue. (Unless it's not necessary, but I believe the license makes it so.)
  • Maybe finally replace instances of delivery with shipping in the code/database.
  • $0 payment method.

(I may add a few to the list as times goes by...)

Posts: 1850
Joined: 08/07/2007
AdministratoreLiTe!

Battle plans again, eh? That reminds me to go back over my Alpha 7 plans and update them. There's still some stuff not yet done on that list, so I'll put them first here.

  1. The ever-looming documentation.
  2. CSV importing, documentation of XML importing. Publicizing of same.
  3. Improve the shipping quote system usability.
  4. Multi-site stores sharing orders but different catalogs. It's possible to share the orders database between sites. With the repeater module, you can upload products to the different catalogs.
  5. PostgreSQL compatibility.
  6. Arbitrary order for product nodes.
  7. Anything else you or I happen to think of.
Posts: 165
Joined: 08/08/2007
Early adopter... addicted to alphas.Getting busy with the Ubercode.

Since we're at it, things I need to get done to finish my 2 sites before 15th August are:

  1. uBrowser to handle more than one taxonomy. Need to make it like iTunes browser, so vocabs: "Genre" -> "Artist" -> Album (product node). tBrowser lives!
  2. Pictures attached to attributes, namely 'colour'
  3. CVS import of products. Needs to handle:
    • images attached to certain attribute values
    • Stock levels (perhaps provide a hook for other modules to handle import/exporting their data, Lyle?)
  4. Shipping by product class by zone. Need to be able to setup zones/regions and then setup shipping rules based on these. I haven't looked at shipping yet but I'm guessing this isn't possible at the moment (?). Would like to do something general but might opt for quick-n-dirty custom thing given time constraints.

This is pretty much the order I'm going to tackle them in as well, which doesn't include theme'ing work which also needs to be done, but have a custom theme that gets me half way there already Eye-wink

--

suffering from too much information

Posts: 155
Joined: 08/07/2007
Uber DonorBug FinderEarly adopter... addicted to alphas.Getting busy with the Ubercode.Not Kulvik

I also have some more complicated shipping needs and have not defined them to the point where I can get an estimate on them, I am willing to help define and probably sponsor further shipping development.

The simple rules of our company are:
if shipping in the US, use UPS options only... i.e. ground, next day air etc.
unless Military Base... (APO) in which case we go with USPS.
if shipping internationally, we use USPS.

I think there may be special cases as well but I'm not going there today. Does my description fit in with what you envision for zone based shipping?

Posts: 116
Joined: 08/08/2007
Brain Stormer

I agree pretty much with cpill on priorities. My order is a little different:

1) CVS import with support / examples for product classes and product images.

i might be able to contribute here very soon or at least put up a strawman for feedback / improvements. at least on the product class / noderef stuff.

i'm still trying to figure out the most efficient (least amount of hand wrangling) way to organize the image files, their naming conventions, tying them to the record lines for given products along with img cache presets in the csv import file and then actually importing them. actually i'm not even at the most efficient way since i don't know wtf i need to do for this part period Eye-wink. i'm thinking out loud now.. if this is a simple cck img field (and i think it is) my life just got significantly easier Smiling

2) I'm seeing a lot of forum churn regarding shipping, primarily USPS.

That probably needs some lovin' as it's going to be used by lots of folks (without shipping - no cart - so stores arent' up and running). Overclocked has a tables based zone method / module that i haven't tried but looks pretty good and seems to avoid all of the snafus of the REAL TIME usps shipping quotes. PLUS it does NOT require SSL which is another road block for many store owners (or at least more hastle than it's worth i would think for something that seems like non private info to me - shipping rates).

i'm not sure "how" the uc team prioritizes.

My current to do list is huge to the point where it's overwhelming.

So sometimes i find that i gravitate towards what is either fun, what i WANT to do or simply what i wake up and start working on first versus actually following what NEEDS to be done. I have to force myself (e.g. prioritize Eye-wink) to do what needs to be done so i can reach my ultimate goal faster.

The uc team has a lot on their plate. And folks out here using uc each have our own little quirks and wishlists. That makes it hard to please everyone.

I'm not sure if the numbered ordering on your current uc8 checklist (which is pretty large already) is by priority. But if you look at that list, some of those things are definitely needed (not just wanted) to get basic store functionality up and running. Like product imports and solid shipping. I'd love to see those get moved to the top of the list. Get the macro critical mass working then finesse the micro details afterwords.

I know that's easier said than done as new issues pop up every day which shift focus and context and each change offers its own regression challenges.

Prioritizing them by number order versus generic list might help the critical mass stuff get done quicker. At least that method works for me.

I'm happy with what you do either way Smiling

Posts: 87
Joined: 08/08/2007
Getting busy with the Ubercode.Not Kulvik

1) Postgres fixed on ALL the .install files
2) FedEX (does it work, what needs to be done, if anything?)
3) Product import from ecommerce (anyone up to working with me on this?)
4) Product multiple selection
a) this is different from T-shirts, I want something like:
Coca-Cola Classic

  • 8oz Can $.50
  • 12oz can $.75
  • 20oz bottle $1.25
  • 2L bottle $1.79

Cherry Coke

  • 12oz can $.85
  • 2L bottle $1.50

# Dr. Pepper

  • 12oz can $.55
  • 20oz bottle $1.00
  • 2L bottle $1.50
  • 1.5L bottle $80

... and do it without having to make each one a different product.

5) Profit!

I know I'm going to hit more road bumps as I go through further development. One of my clients is asking for downloadable PDF files, which I think I saw was not an option for uc --- perhaps engineer something similar as the product on ecommerce. ?

Posts: 3744
Joined: 08/07/2007
AdministratorHead Code Monkey - I eat bugs.

I wish I had a solution to number 5, but I can point your toward product attributes for number 4. Eye-wink It can handle what you're looking for by letting you create for example a single Dr. Pepper product w/ an attribute called Size whose options are 12oz can, 20oz bottle, etc. Right now you can only specify the upcharge for a certain product selection, but I have heard others asking about showing the actual price in the select box instead. Not sure where the code stands w/ that right now.

And I am never buying a 1.5L Dr. Pepper from you... unless $80 is for more than just one. Eye-wink

Posts: 87
Joined: 08/08/2007
Getting busy with the Ubercode.Not Kulvik

lol damn decimal places!! glad I'm not an accountant Eye-wink

Great-- yah the problem I saw in EC was that you could put together traits for products and uptick the price, however the traits would be valid for ALL products and uses a drop down menu.

So if this works where the combos are turned into a radio button, ex: http://asemblon.com/node/46 that'd be great. I'll test this out once I get it working right with Postgres

as for 5)... I'm in the same boat Sticking out tongue

Posts: 42
Joined: 08/08/2007

How long will it take to release Alpha 8?

--

www.taggedcheap.co.uk The cheapest price shop

Posts: 3744
Joined: 08/07/2007
AdministratorHead Code Monkey - I eat bugs.

That's the million dollar question... best answer I have for you is - Hopefully not too long. Smiling