Spree Commerce

Try It Now

Spree 1.1.4 Released

Posted on November 26, 2012 by Sean Schofield

Spree 1.1.4 has been officially released. The primary purpose of this release is to upgrade to the latest secure version of Rails. Previous versions of Rails 3.2.x have a DoS vulnerability that was fixed in the recent Rails 3.2.9 release. The DoS vulnerability is actually a Ruby security issue as well, so it is recommended that you upgrade your Ruby installation to Ruby 1.9.3.p327 or higher.

There are no new Spree security vulnerabilities addressed in this release – just those mentioned above concerning Ruby/Rails. This release also contains a series of minor bug fixes which you can read more about in the Spree 1.1.4 release notes. You can also see the Github compare for full details.

Due to the upcoming Spree 1.3.0 release, this will be the final patch release of Spree 1.1.×. We encourage you to update to Spree 1.2.x as soon as possible.

Spree 1.2.2 Released

Posted on November 26, 2012 by Sean Schofield

Spree 1.2.2 has been officially released. The primary purpose of this release is to upgrade to the latest secure version of Rails. Previous versions of Rails 3.2.x have a DoS vulnerability that was fixed in the recent Rails 3.2.9 release. The DoS vulnerability is actually a Ruby security issue as well, so it is recommended that you upgrade your Ruby installation to Ruby 1.9.3.p327 or higher.

There are no new Spree security vulnerabilities addressed in this release – just those mentioned above concerning Ruby/Rails. Please note that earlier last week we issued a flawed Spree 1.2.1 release but that has since been “yanked” (due to a minor glitch) and the fixed version has been released as Spree 1.2.2.

This release also contains a series of minor bug fixes and improvements which you can read more about in the Spree 1.2.2 release notes. As always, this has been a group effort by the outstanding members of our community. This release contained 248 contributions by 44 different authors. You can see the Github compare for full details.

This release does not contain the new admin interface. That functionality is currently available on the master branch and will be released as part of Spree 1.3.0 in early December.

API Improvements

Posted on November 07, 2012 by Brian Quinn

Moving the API forward

We’ve been focusing on our API a lot recently, and several different projects have helped improve it significantly. We’ve also discovered a number of areas where we’d like to make some minor and major improvements. We’d like to share some of our plans with the community in an effort to get feedback, suggestions, ideas and help.

Recent Improvements

First I’d like to cover some of the recent changes and improvements we’ve completed:

Complete Refactoring

Our SpreeWorks product includes a brand new Backbone.js based administration interface and it required a major restructing of the old REST API. Ryan Bigg (our Community Manager) rebuilt the API from the ground up to meet the needs of the SpreeWorks project, and extended it to cover a much larger part of Spree’s overall application interface.

New Documentation Site

api.sprecommerce.com was created and launched (again by Ryan) as a brand new documentation project that covers almost every detail of the current API. This site is fully open source and available for your submissions here, with thanks to GitHub for open sourcing their API documentation project.

Upcoming Improvements

A lot of work has already gone into the new API and we’ve a whole range of new improvements planned:

Search Everywhere

Ransack has proven to be an awesome addition to Spree, and it’s proved amazingly powerful when coupled with the API. We plan to include Ransack searching capabilities on RESTful index actions, and we are going to remove the now redundant “search” actions.

Easier Template Overrides

We’ve been using RABL templates with the most recent version of the API and they’ve really helped simplify the rendering process. To enable easier output customization we’re going to allow every call to an action to supply a `template` param which will render the named template supplied.

Better Versioning

While the current API does provide some means for versioning we’ve not yet started incrementing the versions as we still consider it a work in progress. We’re reviewing several options to help make versioning simpler including VersionCake.

Better Checkout Support

Currently the API uses individual actions for each checkout state, which requires a lot of customization if you are using a custom checkout state_machine. We’re going to replace these methods with a more RESTful approach where the `update` method will accept any number of calls to migrate an order through it’s state machine.

Caching

A lot of Spree’s data is very well suited to aggressive caching, so we’re going to review some interesting caching options provided by RABL.

Long Term Goals

We’ve recognized over the passing months that the API is slowing becoming the center of many Spree implementations and we’re embracing this approach.

Work is already underway to remove all json responses from Admin controllers in favour of reusing the API directly. While this adds the API as a dependency of core it also prevents double-implementation of certain features to support javascript heavy features in the admin UI.

Longer term we plan to review the options around having all interactions from Spree’s own UI controllers routed through the API, thus providing a single location for all interactions within Spree.

Having the API become the central hub of Spree will enable the creation of applications using a wider range of technologies and languages, for things like native mobile applications, client-side store implementations, etc.

Feedback Required

As you can see we’ve got a lot of really interesting developments in the pipeline and we’re keen to get your feedback and involvement. If you’ve got something constructive to add to the conversation, now is the time to be heard:

Comment below, post to Spree User or stalk us on IRC!

Announcing Admin Redesign

Posted on October 02, 2012 by Sean Schofield

New Admin Interface Available

Back in February we held out first ever SpreeConf and announced our plans to do a complete redesign of the admin interface for Spree. At our second SpreeConf six months later, our designer Alexey (aka devilcoders) resolved that he would not go to another SpreeConf and have people still asking him when the new design would be ready. We decided to turn him loose and let him finish the job he had started earlier in the year.

The initial results of this effort are now publicly available and have been merged into the master branch on Github. Special thanks to our community manager (Ryan Bigg aka radar) for working with Alexey on getting this merged into master and fixing numerous issues with failing specs.

Just the First Step

The code that’s available on the master branch represents just a first step in what we expect to be more changes to the admin interface. Our main focus was putting a “fresh coat of paint” on everything to make it a little easier to look at all day long. Changes to the functionality have been intentionally kept to a minimum. Eventually we will also look into possibly reorganizing how things are laid out, etc.

Feedback Required

Alexey has done his best to touch up every screen but he may have missed a few. We also haven’t tested every screen on every browser. If you spot any issues with functionality with the new design please report them on Github.

So what do you think?