As an extension to simple pages, one can group pages in a tree like organization (chapters, sections, sub-sections, etc.)
The idea of creating a specific plug-in is for two main reasons:
1) We want to be able to track the pages as being part of a specific book; this can be useful to add information such as the copyright to all the book pages and create a PDF of the whole book.
2) We want to offer a way to add all sorts of metadata to the book as a whole. This can include information such as a copyright and the book ISBN. And for the PDF version, we may want to have a Cover, page 2 white, a 2 column index, etc. which may not otherwise be shown on the website.
This feature makes use of the Page feature [core] with additional dynamic fields created with Page Dynamic Fields (PDF) feature and the tagging feature to repeat information in all pages.
Note that the organization of the chapters, pages, etc. makes use of the Next, Previous, Children (and Parent) links. However, a Book structure needs to be a perfect tree so it will constrain these links in such a way to make the entire book comprehensive in that sense.
Snap! Websites
An Open Source CMS System in C++