Archive for January, 2012

Last Call for 1.0 Bug Fixes

We’ve just released a brand new Spree release candidate (1.0.0.rc3) as we prepare for the final 1.0.0 release. We have made quite a few minor fixes since the previous release candidate.

There are still a few known issues we’re working on but we’re asking everyone to try out this new gem and report any problems you find. We’ll be iterating on this very quickly in the next few days. Once we have a release candidate out there for 48 hours with no show-stopping issues we’ll do the final 1.0 release.

We had hoped to release 1.0 final before the end of this month but we’re going to take an extra few days to make sure everything is nice and stable. In the meantime we’ll be updating the guides and doing a few blog posts to get you ready.

Introducing Spree Analytics

We’re pleased to announce that Spree now has a great new analytics dashboard powered by our friends at Jirafe. The dashboard is available by default in the upcoming 1.0 release but it is also available as an extension for older versions of Spree.

This is basically a replacement for the old Spree dashboard and relies on a real-time analytics service. You will need an activation key to use this free service. Get your activation key now by registering for a user account on and registering your store. Store registration is completely private - your store will not appear in the showcase or any other public venue. More details on registration can be found in the Getting Started guide.

Since this is integrated into 1.0.x there is nothing to install. If you are using earlier versions of Spree, however, there is a stand-alone spree_analytics extension that works with Spree versions 0.70.x and 0.60.×.

If you’re not interested in the new analytics functionality you can always use the “legacy” dashboard which does not require the authorization token. Check out the spree_simple_dash extension if you’re interested.

New base theme now on edge

We’ve just pushed a new base front-end theme to edge that dramatically improves
on the original out-of-the-box look for Spree, while still maintaining a
simple base for additional theme and styling changes.

Responsive Layout

This new base theme also features a responsive layout which will
reorganize the structure of the page depending on the screen size of the
device that’s viewing page. Checkout the edge code and just resize your browser to see
it in action.

Maintaining Compatibility

While most of the underlying markup remains unchanged, some new elements
have been added only where necessary. Some tags have also changed for
example from h6 to h3, but we’ve maintained all object id’s, class names and
data-hook attributes as much as possible to maintain support for
existing Deface overrides.

Some of these changes will require updates to existing themes but we are
already working on updating both the Spree Blue and Rails Dog Radio

Spree Command Line Tool

We have moved the spree binary to its own gem. The new spree_cmd gem includes a rewritten binary to add Spree to an existing Rails application.

Start by installing the latest release candidate for Spree. Then install Spree into a new Rails app with the command line tool. It will modify your Gemfile, copy migrations, set up your initailizers and generate sample data.

<p>$ gem install spree -v=1.0.0.rc2 —pre<br />
$ rails new my_store<br />
$ cd my_store<br />
$ spree install —edge</p>

If you would like to add spree without being prompted you can pass the --auto_accept option.

The Spree gem has lots of dependencies (which are normally handled when using bundler.) If you have trouble installing the Spree gem try installing spree_cmd directly and use the following alternative approach.

<p>$ gem install spree_cmd —pre<br />
$ rails new my_store<br />
$ cd my_store<br />
$ spree_cmd install —edge</p>

The extension generator has been moved to spree_cmd as well. It will generate a folder with all the setup needed to integrate your extension with a Spree application.

$ spree extension my_ext

It will generate a Versionfile for you. This is used to designate which version of your extension will work with different releases of Spree. Read more about Versionfiles

If you are going to release your extension publicly. Please register your extension

Taxation Improvements Now Available

We’ve recently made several major improvements to how taxation is handled in Spree. These changes were made at the behest of our community, especially our European friends struggling to have a simple implementation of VAT. After considerable discussion and coding, the changes are now ready for release.

Please see our recently revised Taxation Guide for the complete details. There is also a work-in-progress version of the 1.0 release notes which highlight some of the changes made. This code is available right now on the “edge” and will be part of the official 1.0 release later this month.

Looking Back on 2011

Last year I did a blog post about our 2011 New Year’s Resolutions for Spree. This year I thought it would be fun to see how we did. We have some new resolutions for 2012 but you’ll have to wait for my talk at SpreeConf to find out about those.

So let’s see how we did …

Improved Test Coverage

There’s never enough test coverage but our goal was to simply improve it and we certainly achieved that. We added a whole bunch of factories for Factory Girl and features for Cucumber. At the end of 2011 we made a decision to scrap Cucumber in favor of RSpec request specs.

In fact, not only did we improve the test coverage but we automated the tests to Run against three different versions of Ruby every time we made a commit. You can now see whether the tests are passing by monitoring the Spree Travis page. We even managed to improve test coverage for several key extensions (ex. spree_wishlist.)

Paid Support

You asked for it and you got it. Not too much to say here other than to read about our professional hosting which include free support.

Fancy Demo

Done. Its not nearly “fancy” enough to satisfy us but much better than before. As a special bonus we made the whole thing open source and available on Github.

One-Click Install

You can now set up your own personal Spree store to test things out. Just provide your email address and we’ll send you the credentials so you can log in. If you haven’t tried Spree yet, go ahead and do so now.

Stable 1.0 Release

Almost. We did push a 1.0.0rc1 release candiate just before the end of 2011. Rails 3.1 took a couple of months to deal with and we decided to punish ourselves further by
adopting namespacing for everything.

This is the only goal that we didn’t technically meet. We got 95% of the way there and the goal itself is actually pretty arbitrary. We can pretty much declare 1.0 at any time we feel like. The namespace changes in particular were kind of extensive, however, so we wanted to make sure that was solved since we’ll be trying to keep things as stable as possible after 1.0.

Improved View Customization

In 2011 Brian introduced a kick ass theming tool named Deface. We can now do pinpoint customizations of Spree without overriding a whole Rails view or partial. You also don’t need a pre-defined hook to insert or remove the code you’re targeting. Deface will be a major focus of discussion in the talks and training at SpreeConf. Its also powering some cool new stuff coming in 2012!

A Few Surprises

We also did some stuff that we hadn’t really planned on. Here are just a few of these milestones in no particular order

  • Raised $1.5M in investment funding
  • Organized our first SpreeConf
  • Created an extension versioning system
  • Hired a community manager
  • Performed a major redesign of our website
  • Set up our professional hosting solution

I think its safe to say that 2011 was the best year yet for the Spree team. We’ve made a lot of new friends and partnerships and we can’t wait to see what we’re going to do together in 2012!

This project is maintained by a core team of developers and is freely available for commercial use under the terms of the New BSD License.

Spree, Spree Commerce and the Spree logo are all trademarks of Spree Commerce, Inc.