Drupal Commerce Blog

What's happening in the world of Drupal Commerce.

March 2010 Development Roadmap

The content of this post should be boiled down into an easy to read documentation page, probably at development/roadmap, and it might even do to have a link in the sidebar directly to it. We spent quite a bit of time at the Paris Sprint discussing the various systems we needed to develop in order to start checking out orders. This involved a lot of great discussion about the future of orders, the shopping cart, checkout, and price handling. With a huge assist from David and Bojhan, we boiled all that discussion into a dependency tree for the core Commerce modules and set an aggressive schedule for the next month until we can meet again.

Commerce Modules

External dependencies: Postal address, Rules / UI, Views

  • Commerce Commons
    • Address book
    • Payment (includes payment method classes) / UI
    • Price
      • Product / UI
        • Product reference
        • Order (includes line item API) / UI
          • Cart / UI
          • Checkout / UI
    • Shipping quotes
    • Taxes

For more notes breaking down the meta tasks associated with each of these modules leading up to a working checkout, view the Day Three > Project Module Map of the sprint notes doc.

March 2010 Roadmap

So, to get to a working checkout, we don't need address book functionality, actual order editing, or even nice functionality like a shopping cart block. We definitely don't need shipping quotes or taxes, and we're intentionally limiting the functionality of the available Product Reference display formatters. Our plan for module completion is as follows:

Week 1 - March 1 to 5: Price + Product
Week 2 - March 8 to 12: Order
Week 3 - March 15 to 19: Cart / Product Reference
Week 4 - March 22 to 26: Checkout

There are notes toward the end of the sprint doc on estimated completion time for various tasks that show this roadmap should actually be achievable based on time available even from just known contributors. I'll actually be on this full time, but if all goes well, I won't be the only one writing code. That's the last thing I want!

We'll leave the weekend of March 27 / 28 open for last minute development and testing, and we'll review the code on March 29. An IRC meeting at that time would be appropriate, but it would probably be helpful even to have one each Monday of the month just to make sure folks who have committed themselves are all on the same page and the occasional contributors know how to get plugged in. We actually included tasks in our discussion that are "essential" for the 1.0 but not for a working checkout. These are not time sensitive and so would be great for people who will have just a few hours here and there to contribute.

Next Sprint

We also discussed an Eastern U.S. sprint at the end of March to address any outstanding issues from the month, lay plans for April up to DrupalCon San Francisco, and get to coding. Ideally we'll have 2 days of discussion and planning with more coding on-site, but I'm quite happy with the results even of our extended planning in Paris. Your feedback on the plans above and a sprint at the end of March is most appreciated, and please bear with us as we work to get the notes cleaned up for discussion after traveling.

Ryan Szrama
Posted: Feb 27, 2010


Ken (not verified) on March 29, 2010

First let me apologize because this may have already been addressed or I may be just lacking understanding. I am very new to Drupal, coding, etc. I will learn, but I'm definitely at the beginning of that journey.

Can we make sure that there are hooks in the tax module? Because some of us have to pay sales tax based on the destination's zip code (withing that state.) Currently there is a module for my state (WA) on drupal.org to allow this functionality in Ubercart, but I know that there are quite a few states that have signed onto that agreement. Each state seems to have taken it's own path towards assisting business owners. This varied path by the states requires a varied approach to an ecommerce solution. Having adequate hooks in the taxes module/portion would allow those varied solutions to be more easily realized without hacking core code.

Thanks. I'm excited and I think I will push off one of my future businesses until a stable D7 arrives.