Satchmo

Since I've been using the Django framework for web development I've been pointed in the direction of the Satchmo framework a few times. Satchmo is intended to be the framework for e-Commerce development built on top of Django. I've looked at Satchmo more than once trying to weigh up whether it would be a useful thing to use for projects, because an e-Commerce framework certainly should be useful. Satchmo doesn't satisfy this expectation.

I have written an e-Commerce shop in Django. It took three days, much of which was spent writing the backend - basket, order processing and so on. I am absolutely certain that I couldn't have done that with Satchmo. The first reason is that Satchmo isn't orthogonal; it's impossible to use Satchmo's basket/ordering system without using Satchmo's products front end. Front ends are very easy to write in Django and I needed something custom for this shop. Custom front ends are very hard to write in Satchmo - they involve writing custom extensions to the product model. The second reason is that Satchmo doesn't use Enterprise Design Patterns like Money.

Satchmo also provides code that is very much outside its remit as a framework, like this strange configuration property which embeds Google Analytics. Google Analytics code is trivial to paste into the templates should I want to do so. Why would I need this built into the platform?

Satchmo doesn't satisfy as a framework; it's more of an off-the-shelf application regardless of what the authors claim. Now I have Django web shop code, I won't be needing Satchmo.

One Response to “Satchmo”

  1. Chris Says:

    Thanks for taking the time to look at Satchmo and provide some feedback on where it didn't meet your needs. Regarding the product models, I do agree that there is an opportunity to make it more flexible. We have some ideas but we're still fleshing out the design.

    There are certainly pieces of Satchmo that you can interchange or easily work around. For instance, there's a current thread in the discussion group about changing the checkout process flow - which is pretty straightforward by changing some urls.py files and small custom views.

    I'm sorry that the google config setting seems like a wart. I understand your perspective and making decisions about what does and does not go into a framework is hard. Finding the balance is never perfect. For your needs we may have missed the mark.

    It seems like you have some great ideas and well thought out designs. I imagine you don't want to share much since you are probably selling your product but I would love to have some of your ideas incorporated into Satchmo (especially the product and shopping cart designs). If you ever change your mind or feel inclined to help, we can always use some good ideas.

    -Chris

Leave a Reply