Spree 2.0.0 has now been officially released. It’s been exactly five months since the last release -although we have had several minor releases along the way. This has been a massive community effort with 1,412 commits by 35 contributors affecting 2,303 different files.
Let’s go over some of the highlights of this release:
Removing Support for Ruby 1.8.7
In this major Spree release, we are removing support for Ruby 1.8.7. This version of Ruby is no longer supported by the Ruby core team, so if you are still using 1.8.7, it is time to upgrade.
Split Core
Due to numerous request to have the ability to either use the frontend or backend separately from the other, we have split Spree up into the following componenets:
Api
Backend
Core
Dash
Frontend
Sample
The Backend component provides the admin interface for Spree and the Frontend component provides the frontend user-facing checkout interface. These components were extracted out of Core to allow for users of Spree to override the frontend or backend functionality of Spree as they choose. Core now contains just the very basic needs for Spree (primarily the data models.)
Split Shipments
We’ve been grappling with the issue of complex Spree stores that require sophisticated shipping and warehouse logic for several years now. While it has always been manageable to get this to work on individual store basis, a more general solution that would be useful for all stores has always eluded us (until now). We are proud to introduce the new split shipments functionality to Spree.
There are 4 main components that make up split shipments described in this post: Stock Locations, Stock Items, and Stock Movements.
Stock locations are the locations where your inventory is shipped from. Each stock location can have many stock items. When creating a new stock location, stock items for that location are automatically created for each variant in your store.
Stock items represent the inventory at a stock location for a specific variant.
Stock movements allow you to manage the inventory of a stock item for a stock location.
Stock transfers allow you to bulk transfer stock from one or more variants between two stock locations.
The Spree API is always improving and the release of Spree 2.0.0 is no exception. We have introduced new API endpoints to allow for management of more Spree resources including those introduced with Split Shipments.
In addition, we have introduced instance level permissions, custom templates and many other features of which there are too many to list here. Please see the release notes for the complete list of changes to the API.
Miscellaneous Changes
As with every major Spree release, there are also a ton of commits related to minor bug fixes and other subtle improvements. Please see the Github compare for a complete list of changes in this release. You can also see a written summary of the changes with additional details in the release notes.
We’re happy to announce Spree 2.0.0.rc1 is now available! We’ve been working around the clock to get the release ready before SpreeConf. Please test out the release candiate and report any showstopping issues you find ASAP. Please report any issues you have in our Github Issue tracker. Remember to indicate the problem is with the 2.0.0 code (as opposed to previous versions of Spree.)
Posted
May 08, 2013 by Brian Quinn & Chris Mar
Comments
The Spree headquarters in Bethesda has always been a hotbed of gaming activity, but more recently the team has been turning off the consoles and cracking out the cardboard! So to share our love of all things board game and tabletop related we’re starting a new tradition at the upcoming SpreeConf, the Ignite SpreeConf Gaming Gala!
Unlike other conference Ignite events, there’ll be no talks, no costumes, no awkward introductions, just lots of board gaming fun with plenty of beverages and snacks and an opportunity to meet your fellow conference attendees and the Spree team before the serious tech talking starts on Monday.
The Ignite SpreeConf Gaming Gala will take place Sunday, May 19th from 7pm – 10pm at Stoney’s Upstairs located at 1433 P Street NW in Washington, DC, just one block away from the SpreeConf venue.
To get everyone on a level playing field we’re sharing some of the gaming details ahead of time along with the rules and some awesome Tom Vasel YouTube reviews of the games we’d liked to play. We’d also love to hear ideas on other games you’d like to play, so comment below!
The Settlers of Catan
Catan is THE classic euro-game of resource gathering, building and trading. If you’ve never played it before now is your chance. It’s a great game for people who are new to the board gaming hobby.
You can study up on the general rules here. We’ll be playing the 5 to 6 player version which has some extra rules to read up on.
Be sure to check out Tom’s walkthrough and review too:
Ticket to Ride
Ticket to Ride is a cross-country train adventure where you collect and play matching train cards to claim railway routes connecting cities throughout North America. The longer the routes, the more points you earn.
Starting studying the rules now and be ready to race your fellow SpreeConf attendees!
Mr. Vasel’s video covers both the U.S. and European versions of Ticket to Ride. We’ll be playing the U.S. version.
River Dragons
For those more well versed gamers, we’re including this recent Rver Dragons release where you must cross the Mekon delta by building bridges with planks and stones.
To arrive safely on the opposite bank, care must be taken to avoid your opponents and those pesky dragons.
You can grab the rules here. Tom also provides some interesting thoughts on this release in his walkthrough.
We hope this will be a great warm up event for SpreeConf so if you’re in Washington, DC on Sunday night, this is the place to be! And if you haven’t registered yet for SpreeConf, there are still tickets available. Get yours now!
Last Thursday we introduced you to SpreeConf speaker, John Feminella who will be talking about about better, faster, smarter cloud deployments with Docker at SpreeConf DC May 20th – 21st in Washington, DC. Today we’d like to introduce you to Clarke Brunsdon. Clarke is a Founding Partner and CTO at FreeRunning Technologies and will be speaking at SpreeConf with his colleague Gregor MacDougall about his experience migrating a large scale PHP based e-commerce store to Spree.
Clarke Brunsdon
Founding Partner and CTO at FreeRunning Technologies
Clarke is a programmer with over 13 years experience with the last 5 primarily focused on working in Ruby and Rails. He founded FreeRunning Technologies in 2008 and focuses on how to provide the most value to his clients and making sure the technology fits their real-world business priorities. Clarke’s SpreeConf talk will discuss how he and his colleagues at FreeRunning Technologies took a large, custom built, error prone, unmaintainable PHP ecommerce platform, and made a gradual transition to the Spree cart, checkout process and models. He’ll explain how they avoided a single, large switchover date, opting instead for a series of small incremental improvements leading towards the end goal. You’ll learn how these techniques can be applied to your own e-commerce migration projects in order to help you make a similar smooth transition.
Getting to Know Clarke
We asked Clarke to give us his thoughts on the latest happenings in the Ruby space and some of the interesting projects he’s working on right now.
What trends are most exciting to you right now?
The same things that excite me today are the same things that excited me about programming ten years ago, but we now do them so much better. For me, programming and technology have always been about putting awesome people with great ideas together, and seeing what we can build. Now we’ve got amazing tools like git/github, gerrit, rspec, bundler and Google+ hangouts that let us build and share ideas, collaborating with fantastic ease and efficiency.
Any interesting projects you are working on that others might be interested in?
We always joke at FreeRunning technologies about how much we “hate code.” Before we start any projects ourselves, we look to see if there are any other open source projects we can extend and improve upon, rather than starting a project ourselves. While we have created some Spree extensions that people might be interested in (spree-pre-order, spree-flexible-weight-rate, spree-license-key, spree-custom-store-email), there isn’t much for public repos I’d show people.
As far as ‘private’ projects go, we’re currently migrating a private company that currently manages the e-commerce of dozens of high-profile sites onto Spree. They’ve been an e-commerce provider for the last 6 years and have an incredible technological debt as well as entrenched business practices that is making the rollout very tricky, but so far very successful.
What are you most looking forward to at SpreeConf this year?
Face to face communication! We’re incredibly enthusiastic about the state of Spree and where its going, but that doesn’t always communicate well over IRC. I want to let all the Spree developers know now much we appreciate the project and that we want to do everything we can to help it grow and mature.
What do you hope SpreeConf attendees remember about your talk when they get home?
Our talk centers around doing a large scale store migration to Spree. I think the most important thing to remember is that tasks like this are never quick, and never easy. It’s very easy to convince yourself that it’s going to be easier and quicker than it is, and that’s a mistake you learn to stop making.
I want everyone to leave our talk looking at Spree is a living, breathing project. I want them to understand that the incredible features and platform it provides should not be taken lightly.
Do you have any interesting picks – blogs, technology, books, new companies to follow?
I’m personally a huge fan of the collected works of Tim Pope. He writes so many useful vim plugins and ruby gems, I’m unsure if he’s just one man or a front man for a group of programmers. The book that has changed the most about how I worked was Rapid Development by Steve McConnell, a book not about programming but about the ecosystem and environment of software development.
It’s hard to believe – there are less than two weeks until SpreeConf! Hurry and get your tickets now!
Last Thursday we introduced you to SpreeConf speaker, Denis Ivanov who will be talking about how to perfect your e-commerce front end at SpreeConf DC May 20th – 21st in Washington, DC. Today we’d like to introduce you to John Feminella. John is the Co-founder at UpHex and will be speaking at SpreeConf about better, faster, smarter cloud deployments with Docker.
John Feminella
Co-founder at UpHex
John is an avid technologist, occasional public speaker, and frequent instigator of assorted shenanigans. John recently co-founded UpHex, a startup providing predictive analytics and automated insights for e-commerce businesses. When he’s not knee-deep in solving challenging technology problems, he stays active in the local community, guest-lectures at the University of Virginia, and mentors budding entrepreneurs at HackCville.
Better, Faster, Smarter Cloud Deployments with Docker
When you deploy a modern web application to a cloud environment, you usually provide some kind of manifest that indicates what its application dependencies are — for example, in a Ruby on Rails app, you’d provide a Gemfile. But what if you have environment or configuration dependencies, like needing an SSL certificate or a reverse DNS entry? Then you need another manifest for a configuration management system, such as Chef or Puppet.
Pretty soon, it starts getting cumbersome to put all that together. What if there was a better way to wrap those two things into one neat package that made deployment easier? Enter Docker; although it’s still very much in beta, it’s worth taking a look now, because it’s one of the most interesting recent developments in cloud computing.
In his SpreeConf talk, John will discuss how Docker works, the vast array of potential applications it has, and walk through some example deployments. By the end, you’ll know enough to decide if Docker has a place in your own workflow, and hopefully be excited enough to start trying it out.
Getting to Know John
We asked John to give us his thoughts on the latest happenings in the Ruby on Rails space and some of the interesting projects he’s working on right now.
What trends are most exciting to you right now?
There are so many interesting trends that it’s hard to pick, so I hope you’ll forgive me for picking two.
First, the rise of “bring your own cloud” is fascinating because it brings things full circle relative to ten years ago, when the only “cloud” offering that was widely available was virtual private servers. Then virtual machines became more popular, as computing resources got denser. AWS promised automatic redundancy and easy scalability. But people didn’t like the devops work required to maintain their AWS instances, so Heroku came along.
Now, people have realized that Heroku and friends are just specialized cases of a larger, more interesting problem: the ability to completely isolate your web application and its dependencies from your operating system. What if you could essentially package up all your cloud instances like that, so that you could run them anywhere, on almost any cloud provider?
That’s part of what Docker lets us do, which is why I’m excited to talk about it at SpreeConf. It brings us back full circle to the flexibility and commoditization of the VPS days, where you’re just paying for bits, bandwidth, and CPU. But it gives us all the power and flexibility of the modern configuration management toolset. My prediction is that most web development will look like Docker instances by 2015 or so.
Second, I’m excited that the prediction I made two years ago, betting that Facebook would tumble from its top spot as part of a broader trend away from spending time on social networks and a growing awareness of privacy concerns, seems to be coming true. But with SOPA defeated and CISPA not quite dead as of this writing, there’s still a lot to worry about in the online world, and we owe it to ourselves to pay attention more closely than ever before.
Any interesting projects you are working on that others might be interested in?
I quit my job to work on UpHex, which I co-founded with a really smart colleague. We’re building an analytics health-monitoring service, akin to a New Relic for your data streams. Most analytics services do a poor job on two fronts, and we want to fix both of them.
First, they often don’t tell you when something interesting is happening. You have to go visit them to find out what’s happening. If they do provide alerts, you have to set up clumsy, coarse thresholds that don’t reflect the dynamic nature of an online business, so you get lots of false positives (or even worse, false negatives!). This is 2013; why are people settling for such antiquated ways of watching their business?
Second, if they have a dashboard, it’s usually a morass of confusing chartjunk that’s hard to interpret, even for experts. Is a downward blip in some metric alarming? Should you care about it? Is there anything you can do about it, and if so, what? Is this related to similar blips on your other metrics? All in all, it’s hard to get a good picture of where things stand by looking at a collection of graphs, so why aren’t we trying to make this easier to understand for everyone?
UpHex is going to solve these problems. We’re just starting out, but our research so far (we’ve talked to over 100 companies!) has yielded enough excited customers to convince us that this is a good idea. If you’re interested, you can sign up to stay abreast of things by going to the UpHex website. If you’re a business that sells things online, and if you can spare 15 minutes, we’d love to talk to you; drop us a line at hello@uphex.com.
What are you most looking forward to at SpreeConf this year?
I’m most excited to see how people use established technologies like Spree in new and interesting ways to help make e-commerce a better, smoother experience for everyone.
What do you hope SpreeConf attendees remember about your talk when they get home?
I hope the first thing they do after my talk is download Docker and start playing with it. However interesting my talk might be to people, it would never hold a candle to the experience of using Docker yourself.
Do you have any interesting picks – blogs, technology, books, new companies to follow?
Come meet John and hear his talk about about better, faster, smarter cloud deployments with Docker at SpreeConf DC, May 20th – 21st. get your ticket now. Less than 3 weeks to go!
The SpreeConf Lightning Talks registration is now open to all SpreeConf DC registrants! The Lightning Talks are always one of the highlights of SpreeConf. The talks range from being on the more serious side to making you laugh out loud in your seat. The speakers usually include a variety of experienced and first time presenters. If you have something you’d like to share with the SpreeConf audience about Ruby on Rails, e-commerce, Spree, or open source in general then the SpreeConf Lightning Talks are a great place to do it.
How do the Lightning Talks work?
The Lightning Talks will take place at the end of the first day of SpreeConf on Monday, May 20th at the Studio Theatre (the conference venue). Each talk will be limited to five minutes. You can use slides or any other props you’d like in your presentation. If you are using slides, we just ask that you send them to us a few days before the conference so we can consolidate them onto one laptop to help reduce speaker transition time.
Why would I want to do a SpreeConf Lightning Talk?
The SpreeConf Lightning Talks are a great opportunity to spread the word about the subject of your choice to an audience of developers, designers, store owners, and investors in the Ruby and e-commerce space. The duration of each talk is short so it’s ideal for topics where you can get your point across quickly. You could use the time to invite people to help you with a project, or discuss a new technology that you’ve found really useful, or ask for help with a problem you’ve been grappling with. Lightning talks are also a great chance for first time presenters to get their feet wet speaking in front of an audience.
How Do I Sign Up?
To sign up for the Lightning Talks just add your name and talk title to the list here. We’ll let you know the week prior to SpreeConf if your talk has been selected.
And if you haven’t registered for SpreeConf yet, there’s still time! Tickets are selling fast though so make sure to register soon.
On Tuesday we introduced you to SpreeConf speaker, Ryan Bigg who will be talking about open source war stories at SpreeConf DC May 20th – 21st in Washington, DC. Today we’d like to introduce you to Denis Ivanov. Denis is a Lead Developer at Downshift Labs and will be speaking at SpreeConf about how to perfect your e-commerce front end.
Denis Ivanov
Lead Developer at Downshift Labs
Denis is a software developer who has been professionally working with Ruby on with Rails since version 1.2.2 back in 2006. During his SpreeConf talk, Denis will share his experience perfecting the front end of a unique e-commerce store that began over 3 years ago as a Spree 0.11.X project and is growing faster than ever. The store has 97,000 SKUs, receives over 40% of its traffic from organic search hits and is currently serving over 1.5 million public-facing page views each month. Denis will share practical code samples and tips on how to please both robots and humans including: search engine optimization, client side performance (and some backend, too), and conversion rate management
Getting to Know Denis
We asked Denis to give us his thoughts on the latest happenings in the Ruby on Rails space and some of the interesting projects he’s working on right now.
What trends are most exciting to you right now?
I’m very excited about the state of coder education at the moment. The industry sees the problems it has and is eager to generate solutions. Between DevBootCamp and AppAcademy here in San Francisco, we get a good amount of interesting applicants for entry level positions!
However, I’m even more excited for free workshops like RailsBridge and RailsGirls. I’m a fan of both so naturally I come out and try to instruct at as many of these as possible. These particular groups have a focus of closing the disproportionate male-to-female gap in our field.
Any interesting projects you are working on that others might be interested in?
There are a few Spree extensions that you might want to keep an eye on if you’re running a large Spree store. Our store didn’t get to 100K SKUs by manually entering the data through the CRUD interface. We make heavy use of an extension for Spree that uses various spreadsheets to update records en masse, called spree_batch_products).
What are you most looking forward to at SpreeConf this year?
Learning from others’ experience running large stores and keeping an acute ear for clever solutions to universal e-commerce problems. But in general, it is always a good time with the Spree team.
What do you hope SpreeConf attendees remember about your talk when they get home?
I want SpreeConf attendees to remember that as an industry we’re very focused on the back end performance because that is what is easy to instrument correctly, however, by far the slowest part of any webapp is the front end. I want to give them a high level understanding of the problems leading to this as well as a practical boilerplate/best practices approach to begin battling these effects in their projects.
I want my talk to be very actionable. First, I will convince people they should spend time on this. Second, I will tell them how to begin.
Do you have any interesting picks – blogs, technology, books, new companies to follow?
Come meet Denis and hear his talk about perfecting your e-commerce front end at SpreeConf DC, May 20th – 21st. get your ticket now. Less than one month to go!
We’ve been grappling with the issue of complex Spree stores that require sophisticated shipping and warehouse logic for several years now. While it has always been manageable to get this to work on individual store basis, a more general solution that would be useful for all stores has always eluded us (until now). We are proud to introduce the new split shipments functionality to Spree! This feature is available to try out on the master branch of Spree and will be included in the upcoming Spree 2.0 release. Sean Schofield, the creator of Spree, will go into depth about the new features included in Spree 2.0 including split shipments, the re-architecture of the Spree core and internationalization improvements at SpreeConf May 20th – 21st in Washington, DC.
This post will give you a brief overview of split shipments and what features it provides. For more detailed information, please view the developer documentation.
The Components of Split Shipments
There are 3 main components that make up split shipments described in this post: Stock Locations, Stock Items, and Stock Movements.
Stock Locations
Stock locations are the locations where your inventory is shipped from. Each stock location can have many stock items. When creating a new stock location, stock items for that location are automatically created for each variant in your store.
Having multiple stock locations allows for more robust shipping options. For example, if an item in an order is out of stock at the location of the other items in a order, a new shipment may be created if that item is found to be in stock at another location.
You are also able to create and manage orders that have items from multiple locations by using the improved admin interface.
Stock Items
Stock Items represent the inventory at a stock location for a specific variant. Stock item count on hand can be increased or decreased by creating stock movements. Because these are created automatically for each location you create, there is no need to manually manage these.
Stock Movements
Stock movements allow you to manage the inventory of a stock item for a stock location. Stock movements are created in the admin interface by first navigating to the product you want to manage. Then, follow the Stock Management link in the sidebar.
As shown in the image above, you can increase or decrease the count on hand available for a variant at a stock location. To increase the count on hand, make a stock movement with a positive quantity. To decrease the count on hand, make a stock movement with a negative quantity. Note that it is also possible to transfer stock directly between two stock locations. This can be done from the stock locations admin page. (Configuration → Stock Locations)
Give It A Try
To try the new Split Shipments features before we officially release Spree 2.0, add the following line to your Gemfile and “bundle install”:
If you own a store that has multiple locations, advanced inventory tracking needs or just like trying out new features, you should definitely check out the recent changes to Spree. As always, pull request are more than welcome! We’re always looking to improve Spree, so if you have feedback for us on these new feature, please try to get it to us quickly so we can make sure it’s included before the official release.
To learn more about our shipping improvements, what’s included in Spree 2.0 and how you can implement these features on your store be sure to attend SpreeConf. SpreeConf is a great opportunity to meet the Spree core team and to compare notes with other Spree Developers about projects you are working on. And, SpreeConf isn’t just for developers. Plenty of founders and store owners come to our conferences as well. Whether you’re a startup or an established online business, there will be other business owners for you to network with and learn from.