RC update in flight: new intro tutorials, Blobstore chapter

I've submitted major updates to Chapter 2 and an all-new chapter on the Blobstore to O'Reilly. Rough Cuts subscribers should see them at some point in the next week. RC releases are not fully automatic, so it takes a few days between when I submit it and when it's live on the site.

As I mentioned earlier, for the 2nd edition I'm recommending the Python 2.7 runtime with multithreading enabled for all new Python apps. The new chapter 2 tutorial reflects this. I'll be going through the entire book and updating the Python samples for 2.7 and testing with multithreading. I do not currently plan on including any material in the book about upgrading from Python 2.5, but I could be talked into it.

I've added Jinja2 templates to the Python tutorial, and rudimentary JSPs, JSTL, and EL to the Java tutorial. It's always bothered me that the first example in the book did horrible things like print HTML directly from the handler code. This also allows me to include larger samples later in the book that rely on some light templating to keep things organized. I've also updated all of the screenshots in Chapter 2 (which will look hideous in drafts until the art department cleans them up), which doesn't help you that much but makes me feel better.

The Blobstore chapter is mostly written (22 pages in the PDF draft), but there's still a bit left to do. The chapter will include a complete sample app, in both Python and Java, for accepting, managing, and serving user uploaded files. Right now, most of the full sample is present for Java, though I'll be reorganizing it. The equivalent sample for Python is written but isn't placed in the text yet. I'm planning two short sections on reading from and creating Blobstore values from within the app; right now they're empty headings.

I also set up an empty heading for a new chapter on the Images service. I omitted the Images service from the 1st edition despite it being available from day one, and nobody has been banging on my door asking for it. But with the new Blobstore integration, I think it's a cool enough feature to deserve a brief chapter. The plan is to extend the Blobstore example app with image hosting and thumbnailing features.

But enough about plans.