Fixed some Booko bugs/interface problems this weekend.

These ones were reported by Niall:

  1. Search results report ISBN, but that value is listed as EAN on the next page. Fixed this to be consistent. I use ISBN to mean the 10 digit version, and EAN to mean the post January 1st 2007 13 digit version, although they are both technically ISBNs.- Searching for a valid ISBN which didn’t exist in Fishpond or The Nile doesn’t return any results. The spinning thing just kept spinning for ever. This bug was a bit surprising – thought I’d fixed this once before. Probably before a recent refactoring. Damn my lack of testing!

Made the message explaining when the price was last looked up more clear. Reported by Andy.

Improved a fragment caching problem reported by Joel. The problem was (as far as I can tell) that adding something to your cart, then moving to a different page before the cart is updated continued to show you the old version of the cart. This was because I was doing things in this order:

  1. Expire Cache for the cart
  2. Look up the book to add, then add the book to the cart and do a bunch of lookups and calculations,
  3. Regenerate the cart html and send it.

2 takes a while. If the user navigates away before #2 is done, then the cart html is regenerated without the book being in the cart. Subsequent adding / removing of books will refresh the html and your book will be there. I’ve tried to fix this by shuffling the order things are done to this:

1. Look up the book to add, then add the book to the cart and do a bunch of lookups and calculations, 
2. Expire Cache for the cart
3. Regenerate the cart html and send it.  

Hopefully this will reduce the problem, but it may not eliminate it.