-
Notifications
You must be signed in to change notification settings - Fork 42
Chapter 1 comments
Chapter1: You refer to the project as Rockstar, and QOTD but its not consistent During the quick start, maybe note where the user does or does not have to restart the server
- P. 7. consider changing ""that’s the method that gets called" to “that’s the method that is called”
- P. 10. change “eg” to “e.g.”
- P. 10 the paragraph that starts with “We’ve made use of a few Grails” is a little ambiguous with the Rockstar title and chevrons.
- P. 11 the app won’t look like this without the CSS and image files.
- P. 14 refers to GORM, but it has not been mentioned/discussed yet.
- P. 15 above the image has garbled text
- P. 16 Last paragraph – change “constrain” to “constraint”, closure is mentioned but not yet defined and “greater than xxx chars” should be “greater than 250 chars”
- P. 18 First paragraph starts “Have tons” should be “Having tons”
- P. 21 Last code example is missing the closing paragraph tag
It may be a good idea to mention how grails can run your app on different app server ports…
I had to search around before I figured that I can pass a -Dserver.port define to specify an alternate port. If (we) are typical developers, we more’n likely will have tomcat or nginx or other program using 8080.
First off, I’m really enjoying the book in its current state. I’m reviewing the current draft and it’s nice to see the great progress.
Here is some errata from chapter one. I checked a couple of other threads and I don’t think these are duplicates but excuse me if they are (most of these are grammar nits):
1.1 para 3: “Since we’ve done…” – delete ‘so’, it doesn’t flow with ‘Since’ as the start of the sentance.
1.2.1 para 5: “The [] operator in Groovy is a Map,” – I believe this should be “The [:] operator in Groovy is a Map,” [] is a List.
1.3 class Quote definition: wouldn’t it be GORMier to use Date dateCreated; than the explicit initialization of the created field? Or do you want to avoid the GORM reference at this point?
1.4.2 para 1: “We don’t want user putting …” replace user with users.
1.5 para 1: “Have tone of logic …” replace Have with Having.
1.6
code fragment: Is there a reason you don’t put the ajax library reference in the layout? It might be beneficial to mention the choices, loading it for all pages in the layout or per page as shown.1.6.1 para 1: “But it’s no good running it on our your laptop,…” remove our.
I hope this helps a little. I’ve got a few similar errata for chapter two and three that I’ll post later.
Thanks again for the great work, I’m sure this book will be well received!
Hi Guys, Great book. Just started my review last night. Will put chapter summaries here as I complete them. Take Care.
Comments on chapter 1, Grails In Action, MEAP version posted 12/31/2008:
page 5 – says type “grails help” but code shows “grails version”
page 5 – You start with saying title will be rockstar, then used qotd
page 5 – suggest adding an explicit cd to rockstar (easy to miss in text):
Well done. You’ve created your first Grails application. You’ll see Grails create a subdirectory called
“qotd” to hold our application files. You’ll want to change to that directory now, and we’ll camp out there
for the rest of the chapter. Since we’ve done all the hard work of building the app, so it’d be a shame to
not enjoy the fruit of our labour. Let’s give it a run:
decaf:~/qotd glen$ cd rockstar (or qotd?)
decaf:~/qotd glen$ grails run-app
page 6 – consider telling the reader to ctrl-c out of the running app before creating the first controller or when having them start the app earlier, have them start it in the background (even better for showing that many changes show up without a rebuild)
page 7 – "Grails will create our skeleton controller in /grails-app/controller/QuoteController.groovy. You’ll notice "
should be
“Grails will create our skeleton controller in ./grails-app/controllers/QuoteController.groovy. You’ll notice "
page 8 – I love this… “Grails makes it a snack” !
page 8 – consider mentioning that random action goes in QuoteController.groovy
page 8 – “/grails-app/views/quote/random.gsp” should be “./grails-app/views/quote/random.gsp”
page 9 – url needed: http://localhost:8080/rockstar/quote/random
page 10 – consider making all of you paths relative to the current directory by adding “./”, I’ll stop mentioning this now.
page 10 – consider changing “/grails-app/layouts called quote.gsp” to “/grails-app/views/layouts/quote.gsp”, at a minimum, need to add views directory. By changing the format, it is easier for pdf readers to copy and paste to the command line.
page 10 – Code has title as QOTD, test refers to title as Rockstar
page 10 – The origin of the double chevron might not be immediately apparent, so a specific reference to the raquo; html tag might be appropriate?
page 10 – I realize the point of this section is to show a quick example, but without the files snazzy.css and logo.png, it is hard to replicate the demo. Will these be available for download in the final version?
page 14 – For the copy/paste crowd (that would be me), the line breaks in the source code break execution in the Grails console, you need to remove them before executing the code. Consider formatting such that copy/paste will work without mod?
page 14 – I believe the intent in 1.4 is to re-run the application after editing the GSP page, then adding the random lookup and re-running, but it is not clear. Consider being a bit more verbose in this chapter regarding what the reader should be doing. It is obvious if you know grails, but less so for a newb.
page 21 – A better hint regarding where to put the menu code would be helpful (something like “right before the quote div in the body”).
General – to recap, you will need to do a search and destroy on QOTD and qotd when referring to the app name changing it to rockstar (or vice versa, as long as it is consistent), consider making your paths and file names relative (add the . to the beginning) which makes them easier to copy/paste, and consider a little more verbiage in the instructions regarding what the reader should do. Now the good stuff… The demo app you present is awesome and really shows the power of grails quickly and effectively! Your writing style is engaging and easy to follow. Great job.
p 4: Is that supposed to be ‘take a gentle walk’? ‘Talk a gentle walk’ sounds odd (to me).
p 7: paragraph 2 should be ‘…controllers/QuoteController.groovy’, not ‘…controller/QuoteController.groovy’.
p 11: should be ‘/grails-app/views/layouts’, not ‘/grails-app/layouts’.
p 13: the Lyrics system is mentioned in the 1st paragraph
p 15: should read ‘Grails automatically endows domain classes with’ instead of ‘Grails automatically endows domain with’
p 20: ‘Have tons of’ should be ‘Having tons of’
pp 22-23: The path to the test directory is incorrectly given as ‘/grails-app/test’ instead of ‘/test’
p 23: The text refers to ‘random.jsp’ instead of ‘random.gsp’
p 24: It would be more clear if the entire