It seems ok. I'd recommend it as a first Spring Roo book. To be honest I was originally hoping for more advanced recipes - but seeing how long the book is already I think it is value for money. :-)
I don't feel myself to be a total beginner with Roo so I approached the book by dipping in at random. I didn't start with chapter one and work through in order. Who reads a technical book from start to finish? However I did run the largest roo script for each chapter and made sure I could get as far as "perform eclipse" without errors.
I then took an interesting roo script near the end of the book (the one about JMS) and followed that recipe to start with. I managed to get it to email me successfully. Hooray. First time for me with SpringRoo.
And then I went looking for other things to do: I followed the recipe for changing the menu.jspx to say "CREATE", "VIEW", "FIND". HOWEVER rather than start by using the new roo script I just looked to see what the differences were - and added the different commands to my single app.
(Only yesterday was I wondering what the z="9h987h7n8h8h" meant - and your book explained it nicely)
The biggest problem I had was copying the smart quotes from the PDF file. It confused me for a bit because I didn't notice the problem when it was in the java classes. Sometimes in the book quotes are plain, sometimes smart.
Later on I hit a small snag with CascadeType being imported from hibernate instead of from javax.persistence
That was a bit frustrating. I don't understand why roo imported the hibernate one - I guess I'll find out when I use it.
That may have been something I did which was different from your recipe. Anyway - you may want to double check your recipe for OneToMany relationships which tells you to set CascadeType.
Idea:
Is there a REST recipe? There seems to be a short mention of it - but not really a full recipe.
I would like to see something else - which may not be possible with Roo. I'd like to see what you do if you want to access data available on another REST server - so your website is effectively a REST client. Does that make sense?