Reprinting

The book has been reprinted several times. At each reprinting, the submitted errata were incorporated. So if you have recently gotten a copy of the book, the older errata on this site may not apply.

Comments

Sorry I did not know where

Sorry I did not know where to put this Error but it can be erased after its read I suppose ...

On the top of your errata pages you say
In cases where errors exist in the code, they are corrected immediately in the code repository.

this error http://www.drupalbook.com/node/104
is really a code error but the zip file
http://www.drupalbook.com/files/7559ch03%20-%20Module%20Settings.zip
still has the wrong version

"Pulling it all together" chapter needed...

(I am commenting here since I cannot find a direct email link even though you say you are getting emails, and some blog posts allow comments and others don't -- this is the nearest to my comment that allows them.)

I *love* your book...

BUT (you knew it was coming).

I wish you had a chapter called "pulling it all together" that could cover basic things that we do with web content (and you are all around it without landing there) such as View a catagory list, view a list of items of that categroy, view a single item from that item list...

You come so close...
In the Menu area you have the Milkshake example with Flavors -> Fruity Flavors and -> Candy Flavors.
Maybe you could start with the Joke module here. You could have the Joke overview, then a tab for "Jokes" where the sub-tabs are "My Jokes", "Newest 10 Jokes", "Jokes by Category"
The first two tabs would be detail lists where you link from the list to the individual Joke View (like the ones cluttering up my front page). The third sub-tab would require an additional field (type), but you could have "Lightbulb Jokes", "Sven and Ollie Jokes", "Elephant Jokes" and so on. That would let you link from your category list to an individual list of that category (using the paging stuff you talk about in Chapter 5) and then link to the single joke view (where you can add comments just like it is). The "Add Joke" tab would be dependent on the permissions you teach, not about entering a url -- but it would be connected to that URL by the Menu -- again, this is where it feels *not* "all pulled together" but a chunk here for menus but nothing interesting to do with them, and a chunk there for jokes that is very useful but without any elegant navigation to view just Joke Content.
Another issue for "pulling it all together" is when are you coding just for coding's sake and when is it the *best practice* to write your own, and when is it best to use all the Admin gismos... if Drupal is as "clean and lean" as everyone says then the Admin gizmos should suffice, no? This is not clear.
Another thing that is not clear is how to check only that a user is logged on. I understand the global $users; if ($user->uid) synatax, but that seems hefty for such a common decision (lots of stuff I make I want only someone logged in to see -- to encourage registering or it is confidential). Yet I only see in the Menu Chapter the (amazing and wonderful) ability to create a highly granulated permission such as "access => user_access('recieve greeting')" -- Wow! But there is nothing less involved just to check that they are not anonymous? such as (just a hunch) "access => user_isuser()" or maybe I can access a role directly without the granulated task associated with it (another hunch) "access => users_role('publisher')"
Finally, when to node and when not to node, and can I do some of the same things if I don't? Maybe if I have a full set of data (it is actually a data dictionary for an application I call it the "datawik" module since with Comments enabled it works as a Data Wiktionary) where I have a table already built by the vendor (table, field, type, descr etc -- single table where the table descrs are rows where the type value is set to "table" so for a list of tables you use "where type = 'table';" and then drill-down to fields by "where table = 'users' and type != 'table';" and so on. I don't know whether I should shove "table" into "Title" and "descr" into "Body" and have the off-shoot table for the other attributes (this in order to use all the groovy node stuff, but a hassle since an existing 6,000 row table needs to be parsed into two) or can I do some the same stuff directly with the table (like annotate) or should I do a hybrid where I use the Node stuff, add nid and vid to my data dictionary table, and set the Info not to use title or body. Again, I can't "pull it together".

An offer: I need a tutor perhaps -- maybe I need that extra help of someone to teach it to me. (I don't know if you know of consultants that you respect for Drupal that are familiar with your book). OR maybe you would want to use ME and my extended Joke module (which could easily parallel my data wiktionary from which I could extrapolate). So that by using my confusion as a fulcrum for writing the "Pulling it All Together: Henny Youngman Joke Module" with headings such as:
"To Node or not to Node, a case study"
"Permissions -- simple and complex" (simple: you want only registered users to use the menu and navigate/view the jokes; complex: you want 'joke publisher' to add, edit, delete and an area where users can add moderated jokes that the publisher verifies as actual Henny Youngman material before publishing)
"Database with integrated navigation" (the Tabs example above -- if the answer is to convey all to Nodes then perhaps this is more within the first topic -- but "pull it all together" for a simple Active Record pattern using Drupal db_ functions or the nodeapi or whatever)
"Buidnig a Custom Web Application" -- by all accounts I could use Drupal for this. I envision that I can create a sophisticated database management application to run a business that either on its own runs the business or is a web expression for strategically selected web tasks for an already built desktop application (of which I have built many and every client wants one or more web features -- the web is the future, and Drupal seems ready to do this for me without reinventing the wheel each time).

Wow, can you tell I spent all night reading your book?

Thanks for allowing this response -- if it is woefully inappropriate here, feel free to moderate it out, but I hope you can respond -- I think I made myself reachable upon registration. Thanks again for the best book on an open source technology I have ever read. What I ask for you are closer than most and as the vastness and openness of opensource rarely pulls anything together -- in a wonderful way, but leaves my brain feeling scattered -- so I really appreciate this book and I hope that you accept this as flattery; but asking for *more*.
--
Brad

Lullabot Training to "Pull It All Together" -- I'm Diving In!

Hi All,

Just wanted to reply to my own comment.

I have just signed up for the Toronto Lullabot Training that will be taught by Mr. Westgate (among others) from Lullabot.

If I want it "All Pulled Together" it makes sense that I should get some intensive training and not mess around.

All indications are that all my expectations will be met, it will be a fun trip to a wonderful city with some fun people and I will (knock-on-wood) leave with another billable skill.

... wish me luck.
--
Brad