Come together with the global Drupal community in Rotterdam, 28 Sept – 1 Oct 2026. Sessions, contribution, connection, and Early Bird savings until 8 June.
Hi Ellen, thanks for the careful analysis and constructive suggestions. I just spent a few hours working on the book module's usability. I hope to share some of my changes tomorrow evening. Just keep an eye on this thread.
I'm looking forward to seeing the UI improvements, Dries! I use the book module pretty heavily and will heartily embrace good UI improvements. I think Ellen has done a great job of pointing out some great ideas.
I tried to introduce (duplicate) 'next' and 'previous' links near the top of a book page but that didn't work out visually. I haven't figured out yet how to make it look right.
As stated yesterday I have made some changes to the book module based on Ellen's suggestions. The changes are not in CVS yet, but can already be evaluated here on drupal.org. Head on to the Drupal handbook; when you are more than one level deep, a navigation block should appear on the left. You can also jump directly to this page to compare it with Ellen's screenshot.
With this new block (i) the most important navigation elements are visible at all times and (ii) it should be clear where you are in the document. In particular, it makes it easy to see what the parent, next and previous pages are. Also note that both the navigation block and the existing table of contents below the pages are now reusing the navigation block's little arrows to indicate whether a page can be expanded or not. (You might have to hit 'Shift-reload' for these to appear.)
i like the book nav block a lot. i find it somewhat inconsistent that the item that is expanded is the parent of the page you are viewing. i'd also like to see the current page's children in the same block .. . still, this is a big improvement and committable as is.
I like the way it's working so far on the Drupal Handbook. Here are some suggestions I'd make, to hopefully make it a little more friendly.
When clicking on a top level book (eg "Administrator's Guide"), I would expect the next level of the Administrator's Guide to be expanded in the navigation menu to the left. I realize that if I click on an item in the Administrator's Guide, I'm taken to that sub-level, and the menu is correspondingly expanded. However, it'd make navigation through the new Nav table better if the next level is expanded automatically.
Without the expansion occuring when I click on the initial level, it's a bit confusing when all of a sudden that levels nodes are available in the Navigation - but I've now moved into the content of the page I clicked on. It makes me jump back to the navigation, expecting the newly expanded menu items to be sub-elements of the node I just clicked on - instead their at the same level as the item I'm currently viewing.
It would seem (initially) that the navigation block is probably controlled by the "blocks" settings? I'm assuming that's the case, so the Admin of the site will have control over that placement within the blocks structure.
I would like an option to only show a table of contents for the vocabulary that the page I'm viewing belongs to.
That way admins can set up vocabularies for different sections of the site (with links to these across the top of the page), and use the side menu for links to pages within a section.
------------------------------------------
Drupal Specialists: Consulting, Development & Training
always be the first one? otherwise, if you have a / some long blocks before (as i use to have on my sites), your users won't be able to tell it is there at all. at least not before scrolling down some pages, which they might never happen to do.
otherwise, a big +1 from me, too.
now just do the same for comment threads!
on a slightly related note: i just admin'ed some book nodes by clicking "administer" from the book view and noticed that after hitting "submit", the navigation doesn't appear. because "administer" brings you to "admin/node/edit/XXX". shouldn't this redirect back to "node/view/xxx"? the same happens for editing comments and, imo, should be redirect back as well.
The block's position can be configured by the administrator. No need to enforce anything.
Not sure how this could be implemented for 'comment threads' but feel free to prototype some code. Something similar might be useful for forums and forum threads.
(PS: Would you - and everyone else - care to use proper capitalization here on drupal.org? It would help maintain/improve the quality of the forums. Thanks.)
Comments
Usability improvements
Hi Ellen, thanks for the careful analysis and constructive suggestions. I just spent a few hours working on the book module's usability. I hope to share some of my changes tomorrow evening. Just keep an eye on this thread.
Yeah for UI Improvements
I'm looking forward to seeing the UI improvements, Dries! I use the book module pretty heavily and will heartily embrace good UI improvements. I think Ellen has done a great job of pointing out some great ideas.
Thanks for looking...
The book module is an incredibly valuable tool, so I am quite interested in doing what I can to help improve it.
Design issues
I tried to introduce (duplicate) 'next' and 'previous' links near the top of a book page but that didn't work out visually. I haven't figured out yet how to make it look right.
perhaps..
just put the basic code in there and let some theme designers do the heavy design lifting.
:-)
Book changes being tested on drupal.org
As stated yesterday I have made some changes to the book module based on Ellen's suggestions. The changes are not in CVS yet, but can already be evaluated here on drupal.org. Head on to the Drupal handbook; when you are more than one level deep, a navigation block should appear on the left. You can also jump directly to this page to compare it with Ellen's screenshot.
With this new block (i) the most important navigation elements are visible at all times and (ii) it should be clear where you are in the document. In particular, it makes it easy to see what the parent, next and previous pages are. Also note that both the navigation block and the existing table of contents below the pages are now reusing the navigation block's little arrows to indicate whether a page can be expanded or not. (You might have to hit 'Shift-reload' for these to appear.)
To commit or not? Criticism?
nice
i like the book nav block a lot. i find it somewhat inconsistent that the item that is expanded is the parent of the page you are viewing. i'd also like to see the current page's children in the same block .. . still, this is a big improvement and committable as is.
Looks good - some thoughts
I like the way it's working so far on the Drupal Handbook. Here are some suggestions I'd make, to hopefully make it a little more friendly.
When clicking on a top level book (eg "Administrator's Guide"), I would expect the next level of the Administrator's Guide to be expanded in the navigation menu to the left. I realize that if I click on an item in the Administrator's Guide, I'm taken to that sub-level, and the menu is correspondingly expanded. However, it'd make navigation through the new Nav table better if the next level is expanded automatically.
Without the expansion occuring when I click on the initial level, it's a bit confusing when all of a sudden that levels nodes are available in the Navigation - but I've now moved into the content of the page I clicked on. It makes me jump back to the navigation, expecting the newly expanded menu items to be sub-elements of the node I just clicked on - instead their at the same level as the item I'm currently viewing.
It would seem (initially) that the navigation block is probably controlled by the "blocks" settings? I'm assuming that's the case, so the Admin of the site will have control over that placement within the blocks structure.
Great start!
Fixed behavior, looking for more suggestions
I corrected that behavior as per your and Moshe's suggestion. I second that the behavior was awkward. Better now? Other suggestions?
The block is called 'table of contents': it is no different from the other blocks so its placement is configurable from the block configuration page.
Vocabulary
I would like an option to only show a table of contents for the vocabulary that the page I'm viewing belongs to.
That way admins can set up vocabularies for different sections of the site (with links to these across the top of the page), and use the side menu for links to pages within a section.
------------------------------------------
Drupal Specialists: Consulting, Development & Training
Robert Castelo, CTO
Code Positive
London, United Kingdom
----
shouldn't the 'table of contents' block
always be the first one? otherwise, if you have a / some long blocks before (as i use to have on my sites), your users won't be able to tell it is there at all. at least not before scrolling down some pages, which they might never happen to do.
otherwise, a big +1 from me, too.
now just do the same for comment threads!
on a slightly related note: i just admin'ed some book nodes by clicking "administer" from the book view and noticed that after hitting "submit", the navigation doesn't appear. because "administer" brings you to "admin/node/edit/XXX". shouldn't this redirect back to "node/view/xxx"? the same happens for editing comments and, imo, should be redirect back as well.
Comment threads?
The block's position can be configured by the administrator. No need to enforce anything.
Not sure how this could be implemented for 'comment threads' but feel free to prototype some code. Something similar might be useful for forums and forum threads.
(PS: Would you - and everyone else - care to use proper capitalization here on drupal.org? It would help maintain/improve the quality of the forums. Thanks.)
I vote commit!
This rocks! The sooner it gets into CVS, the sooner we can begin bangin' on it...
wow!
I am impressed. Don't have time right now to give it a thorough inspection, but I will soon. Thank you!