Book module: Creating structured documents

A book is a set of pages tied together in a hierarchical sequence, perhaps with chapters, sections, subsections, and so on. You can use books for manuals, site resource guides, Frequently Asked Questions (FAQs), or whatever you'd like.

Book module is not enabled by default. It must be enabled through Administer >> Site building >> Modules (Drupal 5 and 6) or Administration >> Modules (Drupal 7).

Users who have permission can create a book and write, review, modify, or rearrange the pages. Many users can work together on a book -- you can allow or disallow collaboration, to whatever extent you want.

Uses

Creating, modifying, and administering books

On the books administration page administer >> content >> books (Drupal 5 and 6) or Content >> Find content >> Books (Drupal 7), users with proper permission can view a list of all published books on your site. For each book there's a link to an outline, from which you can edit or delete pages or sections, change their titles, or change their weight (thus putting them in a different order). In some versions of Drupal, you can also check for orphan pages (pages that have become disconnected from the rest of the book); in other versions of Drupal, pages cannot be orphaned.

When a user creates new content of type Book page, they can add their page at the level of their choice in a book, or start a new book if they have permission. This is called defining the "parent" for a book page, and is in the "Book outline" section of the edit screen.

You also can change the position of a page in the book hierarchy later from the page edit screen, by changing the "parent" to which it belongs. Any "child" pages of the page you are editing will automatically be moved too, so if the page you are editing is a section header, this allows you to move an entire section.

On the permissions page administer >> user management >> permissions (Drupal 6) or Dashboard >> People >> Permissions (Drupal 7), you can assign users with various roles the permission to create book pages, to create new books, and to edit their own book pages or the pages of others.

You can also give permission to outline posts in books or add content to books (depending on the version of Drupal you are using). Users with this permission can take any other type of content on your site and add it to a book. When viewing content they'll see an outline tab, and by clicking it they'll come to an interface that lets them move the content into a book.

Book navigation and menus

When a visitor to your site is viewing a book page, they will automatically see links at the bottom for navigating to the previous page and the next, and a link labeled up that leads to the level above in the structure. There will also be a link to a printer-friendly version of the page at the bottom, for users with permission to view printer-friendly versions of pages.

The Book module automatically generates a contents page for each book. However, if the books on your site are complex, you may find that you need additional navigational aids beyond the table of contents and the previous/next/up links for users to understand where they are in your book. One navigational aid you can use is the book navigation block, which you can enable on the blocks page administer >> site building >> blocks (Drupal 5 and 6) or Dashboard >> Structure >> Blocks (Drupal 7). Enabling this block will turn on a menu that shows where the user is in your book; the menu is only visible when viewing the book.

Another navigational aid you can add to your site is a books link in any of your menus, which will take users to a list of your books. The books menu item is automatically part of the Navigation menu, and you can enable it from menus page administer >> site building >> menus (Drupal 5 and 6) or Dashboard >> Structure >> Menus (Drupal 7). You can also add this link to any menu you want (click "add menu item," and enter "book" in the "path" field.)

Configuration

Here are the common operations with books. You can:

create a new book: create a new book page create content >> book page (Drupal 5 and 6) or content >> add content >> book page (Drupal 7) with a title for the new book, then select <create new book> in the Book Outline section, then publish the page.

control who can create, edit, and maintain book pages at administer >> access control or administer >> user management >> permissions (Drupal 5 and 6) or Dashboard >> People >> Permissions (Drupal 7).

Confusing behaviour

If you create a new book and choose to not publish it, the book will not appear in the list of books and you will not have the option to add child pages to your first book page. Effectively you have to publish the first page to start adding child pages. If you want to create a book structure without making it public until it is edited and vetted, use a role based access module or similar to let you publish the book, so you can add child pages, but hide it from the public until ready for publication.

Child pages and child page menu entries are listed alphabetically. If you reorder the child pages using weights, the menu entries do not change to the same order. You have to separately reorder the menu entries.