View Single Post
Old 03-27-2011, 04:53 PM   #67
kiwidude
calibre/Sigil Developer
kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.
 
Posts: 4,220
Karma: 1333994
Join Date: Oct 2010
Location: London, UK
Device: Kindle Paperwhite 3G, iPad 3, iPad Air
Hi jesscat,

It all comes down to the Goodreads API in terms of what options it has and how we should fit it into the plugin.

I'm not a Goodreads expert so hopefully you or someone else can help me out but my understanding from the API perspective at least is that specifying the date read is associated with a user's review for a book. I've mentioned reviews a few times in this thread, and I'm still trying to wrap my head around exactly how they are supposed to be used from an API perspective.

For instance there is also an API call to create a review:
http://www.goodreads.com/api#review.create
You can see it takes information like rating, date read, some review text, the goodreads id of the book (we have that from linking) and an "optional" shelf name. What isn't clear to me is why it would take a shelf name - what relevance does the shelf you have it on have to submitting a book review?

My bigger question is what happens if you already have a review for that book? Can you "review" a book multiple times? If so what happens - does the latest review just replace earlier ones?

I noticed that when you add a book to one of your shelves for the first time, Goodreads creates a "review" for you behind the scenes (it just doesn't have any information on it, until you fill it in). We make use of that "dummy" review to identify what shelves a book is on, for use with those "Download shelves as tags" type features in the plugin. Now what happens if we create a new review for a book using that API call above - does it replace the "dummy" review?

There is also an API call for updating a review:
http://www.goodreads.com/api#review.update
It takes similar information to creating a review, except you need to know the review id AND what shelf that book is on. That is doable, it just means an extra API call to Goodreads each time to ask "what review do you have for this book", and then using that information to do an update.

So you can see I have a bunch of questions around it, which no doubt the Goodreads forums might be able to answer if none here know. I haven't got time to look into it myself at the moment, but if someone else out there wants to ask the questions to give me the information then go for it

The other aspect that would need to be answered would be the whole UI for this. For instance as stated above you are creating/updating reviews. So in your case you want to send the read date from a custom column. Presumably other users may want to send their Calibre ratings. And (maybe) someone else actually wants to do a genuine review so wants to specify some text of their own notes about what they thought of the book or whatever. So all of that needs to be considered as well in terms of how to build this into the menus (I think it would sit within Linked book submenu), and then what dialog/options a user has...

More decisions, more questions...
kiwidude is offline   Reply With Quote