I'm pleased to announce the release of the silverstripe shop module version 0.8.5. A big thanks to everyone who has helped out with submitting bugs, and providing ideas and feedback.
If you find bugs, reply to this thread, or post in the issue tracker.
0.8.5 Release highlights
- - More distinction between Cart and Order. Naming templates, files etc accordingly. They still have the same underlying model.
- - Full shopping cart rewrite. We now have two classes: ShoppingCart - a singleton that makes updates to the current order, and ShoppingCart_Controller - providing links for making updates. Part of the shopping cart rewrite is the parameters system, which allows the sale of custom products such as 15.3 meters of pipe, or an upsized meal. The system will detect if parameters match those of an item already in the cart, and update the cart quantity instead of creating a new item.
- - Introduced security token on shopping cart links to help prevent CSRF attacks.
- - Partial modifiers system overhaul. Simplification and performance enhancements.
- - Variations system is working again
- - Template refactoring.
- - Updates to development tasks and tools: debug info, dummy data population.
- - 38 passing tests
- - Renaming and deperecating various classes and functions.
Twitter bootstrap theme
Not specifically part of the release, but compatible with it, is the new twitter bootstrap theme. This is an excellent way to get started with theming the shop module, as it provides a good looking plain template to build upon. The demo site is running the bootstrap theme.
Github for main theme: https://github.com/burnbright/silverstripe-bootstrap
Github for shop theme: https://github.com/burnbright/silverstripe-bootstrap-shop
Development of the shop module
Here's a quick update on the project status. I'm still working towards my vision for the module. My focus is on quality over quantity.
As an unpaid open-source project, it's always useful to have work that helps support the module. It appears I've got plenty on the horizon, so expect to see a continuation of improvements in the near future.
I'm trying to adopt development techniques that will best benefit the project, and help me become more professional as a developer. This includes adopting a good git release/branching model, which should mean the master is always stable for anyone that wants to develop with it. I've documented my release process here: https://github.com/burnbright/silverstripe-shop/wiki/Release-Checklist
I've yet to start using a proper version number system, but in this case I skipped 0.8.4 because there are so many changes in this release. From now, I'll probably aim to use something like this format: major.minor.bugfixes. That will probably make the next release feature 0.9, and bugfix release 0.8.6.