Ubercart 2.0 and the Ubercore Initiative

With high spirits and much excitement for the future, Lyle and I polished up and released Ubercart 2.0 today. Thanks to all those who took notice, and an even bigger thanks to the dozens of contributors who made the release a reality.

Features of the release should come as no surprise, as most people have been using Ubercart 2.x for some time based on the project's usage statistics and personal experience. In the final days, we did iron out issues related to file downloads, role promotions, product kits, and Views integration. We also paved the way for smoother European use in conjunction with the UC2 VAT project.

For those that are interested, continue reading for my reflections on the state of the Ubercart development process and code, including a community effort to realign both of these things on Drupal 7 with the Drupal 7 Ubercore Initiative.

The teaser... Ubercart, D7, Small core influence -> Ubercore (or, d7uc).

Basically, I believe we have a healthy dissatisfaction with the state of our code and our development process in general. We're lagging way behind the Drupal project itself, and we weren't able to accomplish all our goals for Ubercart on Drupal 6. Furthermore, as the project grows, it's become harder to maintain and even harder to arrive at an appropriate place where the core architectural issues can be addressed.

That's not to say I'm not happy with the project. Ubercart rocks! I just think we're equipped now with the knowledge, the momentum, and the tools to make it even better. Like... way better. Wink

To that end, Lyle and I met with several other community members in San Francisco last week to chart a forward-thinking course for Ubercart on Drupal 7. I pitched the plans at BADCamp and got some great feedback. Over the next week or so, we'll be filling up the Ubercore website, http://d7uc.org, with revised notes and ideas from the sprint. We're looking for peer review from those intrigued by the following snippets from our plans for a more solid Ubercart on Drupal 7:

  • Feature specification / roadmap - Ubercore is a planning initiative launched to bring intentionality to a development process that has been spontaneous and reactionary. Ubercart has matured, and it's time to look before we leap, evaluate future features against design documents, and have better communication with our users.
  • Small core influence - The initiative is aiming for a small Ubercore, i.e. slimming down to the minimum systems without which we could not have a coherent e-commerce application or build out essential features. With improvements in Installation Profiles in D7 and on d.o, we're staking the future of Ubercart as an application on having a lean, mean, and agile core with great horizontal module integration. Fields, Views, Chaos Tools, Features... oh my!
  • Strict development standards - Gone are the days of uncommented functions, inconsistent APIs, and random hooks. We're planning ahead for fully commented modules and classes, full SimpleTest coverage, and consistent module structures and APIs.
  • Open scrum based development process - We have sprints planned up through Drupalcon San Francisco and are inviting everyone to join in. We're working out roles and goals and have a fair bit of planning to go, but we'll start out as awkward as ever with our first sprint planning meeting on Monday. The goal is better communication with and inclusion of community contributors.

There's a lot more to relate, like where and how we'll be building this out, what our core systems and classes will be, and more. Instead of typing everything twice, I'll just work harder to get our scribblings into the docs on d7uc.org and point those interested there. We're really excited about the initiative and hope to cast an exciting vision to our users and developers, too. If you're interested in pitching in, especially if you've been contributing to Ubercart for some time, please get in touch through the contact form so I can help you get plugged in.

Two parting shots...

  1. Timeline. We'll have an Ubercore 1.0 for Drupal 7 by Drupalcon San Francisco, ideally by March 31, 2010.
  2. Ubercart on D7. We didn't settle on any immediate forward port of Ubercart 2.x to D7 but are open to ideas in this thread. Work for now will happen through Ubercore on d.o to give us a fresh issue tracker and repository set aside for Ubercore development. Whatever happens, there will be a continuous upgrade path to Drupal 7, as the idea is for Ubercart to slide into the Installation Profile space by packaging the Ubercore with other essential non-core modules.

Alright, that's all I can fit in before I lose everyone reading this mega-post. More on d7uc as we can write it down... in the meantime, you can follow d7uc on Twitter and send up three cheers for progress! Lol

Comments

Exciting ! Keep up the good work !

Looking forward to seeing how this progresses. Great work everyone!

With the code freeze at hand, I'm really looking for the jump into the Drupal 7 arena myself.

With that said, I personally would like to see a direct port of Ubercart 2.x to Drupal 7 with out rethinking too much stuff. This is inline with the D7CX initative which I believe will help with the adoption to D7. This way everyone can port their UC contrib modules to D7 with out too much thinking. I'd even be happy with a feature freeze on D6+UC2 and D7+UC2 and focus on bug fixes.

After that, I'm a big fan of rethinking and creating this Ubercore you speak of. UC 3.x branch.

Seems my views are inline with what you guys discussed at the sprint: http://www.ubercart.org/news/oct-13-2009/sprinting_san_francisco

Thanks for all your hard work Ryan & Team.

These are exciting times. Awesome improvements down the road in Drupal 7, the next Ubuntu just a few days away, and now we hear another great product - Ubercart - is getting some wise attention for its next major release.

II'm still relatively novitial (noobicious?) to Drupal and Ubercart, but as I learn more I would be happy to contribute back. Such a great project.

Ryan, this is really great news and very exciting. I am holding a session at the Pacific Northwest Drupal Summit about Ubercart and my specific intentions was to talk with folks about better usability and extensibility. As i think you know from my comments in forums and issues, I've had many thoughts about improvements to ubercart, and I look forward to contributing them.

Would you be available via skype on saturday 11am pacific?
see here: http://pnwdrupalsummit.org/sessions/ubercart-usability-and-extensibility

we could skype you in and you could say a few words about ubercore and then participate in the discussion?

Sounds great, Greg! When I saw someone direct you to the post on Twitter, I was definitely hoping to hear from you in light of your past feedback and the roadblocks you've uncovered in your Ubercart implementations. I don't have anything planned for the Sat. afternoon, so I'd be happy to Skype in.

Can Ubercart do fractional quantities?