Drupal Commerce Kelowna Sprint Week: Recap
We hosted our first proper sprint and one of, or maybe THE largest Drupal Commerce sprint ever a few weeks ago. We’ve never hosted a big Drupal sprint before, but I think this one was quite a success, we taught our whole company a lot more about Commerce 2.x and were also able to contribute quite a lot of code as well. Since most of the Commerce Guys made the trek up to Canada, we wanted to make the best use of time while they were here, so we setup a few different activities. We had 3 days to work with and we wanted to make the most of it.
For the first two days, we split out our senior devs to spend time sprinting with the devs from Commerce Guys and work exclusively on Commerce 2.x. Our senior devs are usually busy leading project teams and don’t get a ton of time to dedicate to open source contrib, so we wanted to make sure they could get the bulk of the time, both for some fun contributions and to learn stuff to pass on to their team. On the third day, we went full bore with nearly everyone in the company contributing for the day. We broke up into a whole bunch of teams to tackle various issues, some people with more Drupal 8 experience were able to get a number of issues tackled, where as some people spent most of their time just learning about Drupal 8 and Commerce 2.x
Matt Glaman (Commerce Guy, Commerce 2.x Dev) has a bit of an obsession with getting Migrate finish, or I think more accurately, conning others into finishing it for him. We used this as our primary focus during our 2 senior sprint days and work continued during our big final sprint day. Bryan Sharpe (Acro Media Team Lead) foolishly took on an Ubercart → Commerce test issue, which resulted in him having to fix half a dozen other issues just to get that working. Bryan however, while he may be many things, is not a quitter and powered through it with almost unsettling determination. In the end, we managed to get a large portion of Ubercart → Commerce done, complete with unit tests, as well as some Commerce 1.x → 2.x work as well. Migrate still needs some more work done, but we got probably even more than I’d hoped done.
Ryan Szrama (Drupal Commerce and Ubercart Creator, Commerce Guys CEO), Jason Poole (Acro Media Creative Director) and myself went through a couple iterations of planning on how the promotions interface will work in Commerce 2.x Promotions is what will replace discounts and coupons from Commerce 1.x, hopefully a lot more cohesive due to better planning and being built right into core. Bojan Zivanovic (Commerce Guy, Commerce 2.x Lead Dev) had started on the base work for discounts and so we used that as a starting point. Take a look at our most recent wireframes if you want more info or want to give any feedback.
Commerce Field Conditions
When he wasn’t pawning off his most boring tasks on us, Matt was working on building field conditions into commerce, so we can handle things like promotions without needing the full framework of rules. It’s mostly just under the hood right now, but it does make configuration a heck of a lot more user friendly than the full rules event, condition, action setup.
Somehow, in a fit of optimism at Midcamp, I agreed to head up all the shipping work for Commerce 2.x. So I spent most of my personal sprint time working on this, as well as contributions from a number of our junior devs, Francis Bailey, Jace Bennest and Evan Schisler. It still needs a lot more work, but we have the structure for labels, rates, packing slips and boxes all setup, along with some pretty good test coverage. Development work is current on my running on my github if you want to contribute or follow along.
Scott Robertson (Acro Media Team Lead) is apparently not one to be suckered into migrate work and instead picked up a piece of Commerce 2.x core functionality. There are currently a number of modules that exist to do invoicing in commerce 1.x, most of which just involves generating invoice numbers. Well no need for that to be contrib anymore, let’s just generate invoice numbers right in core!
Commerce Base Theme
Not everyone is a module developer, so our frontend devs and creative staff got together to work on getting a base theme going for 2.x. We used a bootstrap base, but wanted to have it setup to work nicely with Commerce out of the box, giving a better base than Commerce 1.x, which was either a complete DIY effort or using Commerce Kickstart’s Omega theme, which is not very friendly to work with. Clayton Bildstein (Acro Media Team Lead, Senior Front End) and team basically made the rest of us look lazy and had a working base theme up and running in one day of sprinting.
Commerce Issue Queue Triage and Review
Not to be left out, Steve Netzlaw (Acro Media Head of Business Development) rounded up all the sales and project management staff to work through the issue queue testing and triaging. Starting off with a heartfelt sermon about open source and contributing, he walked them through testing modules and adding issues, as well as reviewing existing issues. Mel Chua (Acro Media Project Manager) was shanghai'd by Matt into reviewing the long list of contributed modules from Drupal Commerce and marking which ones needed ports, were now covered in core, or were duplicates.