Work has been continuing apace on the Django Queue Service, mostly through the efforts of Rajesh and Marcus who have really done an outstanding job of filling in the holes in testing and structure for the application to make it viable over the long term. We had some good conversations over email the other day (enough so that I set up a list for it: email@example.com). I’ve been terrible about arranging anything on IRC – I know I should to really get us all talking on the same page.
Rajesh apparently picked up a copy of the book RESTful Web Services (O’Reilly), and made a number of suggestions about future direction after reading the book. It really sounded like he got a lot out of the book, so I ordered a copy (through Queen Anne Ave Books cause they’re cool and local). I should have picked it up Thursday evening, but I was being a slacker and only went by and got it this morning. Anyway, I was starting to read it walking home from the bookstore and I immediately spotted a small chapter/segment in there on doing REST services with Django! Apparently Jacob helped out with a chapter in there, so there’s some interesting notes tucked away in Chapter 12 that I’m interested in getting to.
For a long time, my reluctance to really get down to the “PUT” and “DELETE” verbs was because the libraries just didn’t easily support them – and I wasn’t sure what the “right way” of making them work should be. I’ve been pretty horrifically burned trying to learn the details needed to make some of the WS* bullshit specs work, and that translated pretty directly to a reluctance to learn the details of programmatically creating HTTP requests with the appropriate “verbing”. A blank spot, for sure – and one that I’m fixing now.
This project (the Django Queue Service) is mostly a “because I can” project. I’m not heavily using it in anything currently, although Rajesh and Marcus are – and I’ve heard a few other folks have apparently picked it up and run with implementations from it. I’m firmly of the opinion that the desktop and web-space cloud will continue to mix things up. A concept that Brent outlined in his Hybrid Apps Presentation at C4 over the summer of 2006. (Better have a Mac if you want to see that presentation by the way – it’s a VoodooPad document). I’ll be the very last to claim that desktop applications are dead – with the advent of libraries like Sparkle the distribution benefit of the web is just as easy made available to desktop apps as to web applications. And from my own experiences with browsers recently, coming up with fantastic UI functionality that works across browsers is an intense pain in the ass. Its getting better all the time but there are just some things you can’t do there in terms of interactivity and feedback that I’d really like to see and want to take advantage of.
4 thoughts on “Django Queue Service”
thank you thank you thank you thank you thank you thank you this is sooo what ive been trying to do. THANKS.
This is THE book to read if you want to understand REST, for Django there are two links to know:
* http://code.google.com/p/django-rest-interface/ for the backend ;
* http://www.djangosnippets.org/snippets/174/ to deal with DELETE and PUT with a browser.
Don’t forget to read the chapter 4 before you jump to the code, this is the most important.
Good luck for DQS!
I think we’re pretty comfortable with the back-end already – Rajesh is ahead of me, and we’ve been watching the django-rest-interface code pretty closely.
It was always the client code for using the REST stuff that had me bamboozled – mostly because the libraries so often supported GET and POST nicely, but not PUT or DELETE. Anyway, the snippets link is intriguing, and I suspect we’ll consider taking advantage of it.
Wow, another Django developer on Queen Anne hill.
Comments are closed.