Spree Commerce

Try It Now

Github Pull Requests Now Welcome

Posted on October 01, 2010 by Sean Schofield

A few weeks ago, the great folks at Github announced a drastically improved version of "pull requests." Up until this point we’ve been discouraging Spree users from sending us pull requests (even going as far as to warn users that "Github pull requests will be ignored.") We’re pleased to announce that this will no longer the case. In fact, Github pull requests will likely be encouraged going forward.

The Github team has also been kind enough to write up some great documentation on working with pull requests. Contributions should still be performed on topic branches in your personal forks – just issue your pull requests from there. We’re also asking that you continue to log important issues for non-trivial patches in our lighthouse repository. You can just link the pull request in the ticket (and link the ticket in the pull request.)

The Rails core team has already embraced accepting contributions via pull request – let’s see how this works for our project!

Spree 0.30.0.beta1 Released

Posted on September 03, 2010 by Sean Schofield

We’re pleased to announce our first beta release of a Rails3 compatible version of Spree. This time its a little bit rougher than our usual beta quality where we encourage as many of our users as possible to try it out in advance of the official release. There are several known bugs and deficiencies in this gem so you should really hold off until the next beta release which we hope to achieve at the end of next week.

So why bother releasing an unfinished beta? There a few reasons actually. The first reason is that we are working on upgrading one of our Railsdog customers to the latest code and they are on Heroku. Heroku is much simpler when you work with real gems (as opposed to edge git clones.) The second reason is that we’re now releasing Spree as a series of gems instead of a single gem so we wanted to make sure that we had this process working correctly before we started encouraging others to jump on board.

Spree is technically still a single gem but it now depends on five (soon to be six) additional gems.

  • spree_core: Basic functionality – you won’t get very far without this one.
  • spree_auth: Authentication and authorization stuff.
  • spree_api: Restful API implementation
  • spree_dash: A nice overview dashboard implementation.
  • spree_sample: Contains sample products, orders and images.

When you install the Spree gem you still get all of these pieces installed automatically. We’ve structured things, however, so that you do have the option to pick and choose which pieces you would like to use if you’re so inclined. Think Rails and how it consits of Active Record, Active Support, etc.

There is pretty much no documentation other than a few README files at this point. That will change but we’re haven’t invested too much in documentation up until now because things were so fluid. We’re pretty comfortable with how things are working so don’t expect a lot of radical changes between beta releases and the final release. We’ll be focused on nailing things down and fixing bugs. Feel free to report issues in lighthouse – just be sure to tag as rails3 so we know you’re talking about the new code.

Brainspree Integration

Posted on July 30, 2010 by braintree

Dear Spreets,

We’re psyched to announce that with commit d0fcd7b the 0-11-stable branch of Spree now supports integration with the Braintree payment gateway.

There’s a great open-source community around Spree, a fact we got to see first hand as we worked on this code. Thanks to Mike Horn for the initial heads-up and implementation advice and to the Spree core devs for answering our questions and reviewing our patch.

The Braintree integration code is fully tested at the unit level and with end-to-end tests against our sandbox environment. It utilizes the latest version of ActiveMerchant and our own Braintree ruby gem, both acting together with Spree to form a credit card processing all-star team.

So, what are you waiting for? We love developers, and we’ll give your data back to you, guaranteed. Hit us up for a sandbox account and get cracking with Spree & Braintree!


Editors Note: This is a guest blog post solicited by the Spree core team. Drop us a line if you have something to say that might be of interest to the Spree community.

Update on Rails3 Migration

Posted on July 11, 2010 by Sean Schofield

Its been about one month since the very first rails3 commit was made during Railsconf. I thought I would take a few minutes to update everyone on our progress. The Github compare shows 167 commits by 10 different authors. We’ve been getting a lot of help from the community on this one. In addition to our core team, I’d like to thank long time contributor Trung Le (aka joneslee85) and newcomer fbrubacher for their hard work on this.

The Rails3 code is now stable enough that we’ve moved it off of the special rails3 branch and onto railsdog/master. This means that if you want to work with a stable version of the Spree source code you should be using the 0-11-stable branch instead. The master branch is going to be highly volatile and many of the Spree features remain broken and/or untested on this branch. We’ve made enough progress though that it was time to merge the code down and spare ourselves any further merge conflicts in the future.

There are many subtle changes to how things are organized. You’ll want to start by reading the new README which we will be trying to keep up to date NOTE: the gem instructions are out of date but the edge source instructions will tell you how to get up and running. Most of the changes are small configuration adjustments due to the new "Rails way" of doing things.

People using the current 0.11.x gem shouldn’t panic about all of the changes. If you’re following the suggested approach of using a site extension then it will be relatively easy to upgrade later. Its not recommended that people use the current Rails3 master for their application unless they are planning on launching their stores after August.

We’re going to continue to make rapid progress on this upgrade. We’ve been very aggressive at adopting edge technology that was useful and not yet in the Rails core. Unfortunately the downside of this is that there’s more work ripping that stuff out once Rails adopts these practices. Most of the difficult work is behind us now and we’re looking forward to getting everything working again.

We’ll be updating this blog and our online documentation in the coming weeks. Stay tuned to learn more about some of the exciting new developments!