Out of curiousity ...

What purpose do book pages serve anymore? Back when only book pages could be bound to collaborative books they obviously had a purpose, but now when any node can be incorporated into a book outline, what purpose does a book page have?

Wouldn't it make more sense to do away with book pages and rename book.module to outline.module and just use it as an alternative to taxonomy for organizing existing content?

Adam.

Comments

Dries’s picture

Good you point this out, Adam. The short answer is that this is exactly how things have been evolving; the book module is slowly becoming an outline module (though not using taxonomy).

The longer answer is that there are still some technical issues that we have to sort out. In particular issues related to the rendering/visualization of content when part of an outline (and when shown in such context).

For example, static pages like the Drupal services page are being added to the Drupal handbook (outline) yet they don't look like book pages; they don't link their child pages, don't display parent pages, nor do they add "next", "previous" and "top" links. The same holds true for other node types; for example, I recently added this forum topic to the Theme developers guide in the Drupal handbook. It shows up in the outline but when you click the link to view the node, you break out the outline as it were.

Sometimes this behavior is wanted, sometimes it is not. It is a bit unclear as how to proceed but as it stands I guess we'll want to make some changes to the node system such that we can ask it to render a node's body/teaser without any bottom/taxonomy links and that we can add different bottom/taxonomy links based on the context. (This should be simple enough and might already be there using the "body" hook. I should check.)

Asking a node module to render a node without displaying it, and without adding any links to it, is necessary when we want to add complicated nodes (eg. poll nodes) to a book outline, or when we want to displaye a printer-friendly version of such node.

As the book module is invaluable here on drupal.org, improving/harnessing the book module (and node administration in general) is rather high on my personal TODO list. Suggestions, help and patches are always welcomed.

moshe weitzman’s picture

Natrak signed up to fix this in May Only local images are allowed.

Also needed in order to migrate this functionality to a taxonomy based module is a better compose process. Right now, you can associate your node under any existing node in the book.To do that in a taxonomy based book, you'd have to programmatically create taxonomy terms as needed. Perhaps a term for every single node in the book. For example, imagine the following book.

- Foods
-- Beverages
----Wine

If the above were a taxonomy based book, what is a term name and what is a node title? What if I want create a new node and want it to appear under Wine. Wine must be a term and not a node, right? Or else Wine won't appear in the taxonomy dropdown menu. That is why I think we'll have to maintain a taxonomy term for every node in the book. And how do we keep these synchronized? Yuck. Am I making this more complex than it needs to be?

Dries’s picture

That is exactly why I think we should not use taxonomy in this particular case. The current approach works fine so there is no reason to make it any more complex.

adamshand’s picture

Despite my earlier gripe about books not using taxonomy I'm starting to agree that they should not use taxonomy. I can see the the outline being useful for putting arbitrary pages together into collections that might not have anything to do with your sites taxonomy.

I also think that it might be useful to be able to use book navigation or the native node type navigation (taxonomy / forum / etc) while reading a node. I can see it working sort of like the wiki "LikePages" system.

Adam.

beginner’s picture

This thread is old, but still valid today.

I am sometimes puzzled by what difference there could be between different node types.

About book pages, I found one: they all have a weight settings.
I incorporated some 'page' nodes into my book outline. Later, I wanted to change the order the book pages are listed, so I tried to change the weight: I then found out that the 'page' (or was it 'story'?) nodes don't have a weight, so I cannot rearrange them.

My question is thus: How to change the type of a node? How can I add a weight to my node?

thanks.

--
http://www.reuniting.info/
Healing with Sexual Relationships.

David Latapie’s picture

My guess (and Nancy’s) is that it is not possible to change a node type (and that, IMHO, is a pity). 5 years later, I’m still wondering why we keep having both Page+Outline and Book.

Any input is welcome!

Edit (Drupal 6 usability suggestions?):

Hierarchical page structuring. Remove the "book page" node type, and turn the book module into a module that is specialized at creating hierarchical content trees. This module will be the de facto standard to structure pages and to create hierarchical navigation schemes in Drupal.

LindenLion’s picture

It's one year later now and I'm wondering the same:

Why is there not an easier way to change node type instead of going to the mySQL database to change the content type field. It's not complicated at all (would be easy to code I guess) and would add enourmous flexibility, although I do admit it would shake the whole concept of content types.

UPDATE: There is a contrib module which handles this.

pooka-1’s picture

I'm trying to outline polls on book pages and would like to limit viewing to specific groups of viewers. But while I can get the book page to filter viewers, the polls outlined to those book pages still show.

Voting is limited to electoral lists, but how do you limit viewing based on the book they are outlined to?

pooka